Java 基本程序設計結構

Java 基本程序設計結構

變量

  Java變量主要包含int、long、boolean、double、float等,與C++在這裏基本上相似。

double i;
int j;
boolean m;
long k;

  ;注意: 在Java中不區分變量的聲明與定義

變量的初始化

  聲明一個變量後必須用賦值語句對變量進行顯式初始化,在這裏與C++不同,C++擁有默認初始化,Java用戶必須指定初始化內容。

int i = 666;
boolean m = false; 

常量

  與C++ const 不同,Java使用final來聲明常量,關鍵字final用來表明這個變量只能被賦值一次,一旦被賦值,就不允許再次更改。
提示:常量一般使用大寫字母表示。

final double PI = 3.14;
final String MY_PER_IMG = "LiYang";

  還可以使用static final 來表示類常量。
注意:const雖然不被Java識別但是也作爲了Java的關鍵字,不能使用其進行變量命名。

運算符

數學函數與常量

  需要導入的包

import static java.lang.Math.*;
函數名稱 說明 方法
sqrt 計算平方和 Math.sqrt(x)
pow 計算次冪 Math.pow(x,a)
sin、cos 三角函數 Math.sin(x,a)
exp、log、log10 指數函數 Math.exp(x,a)

數值類型的轉換

   數值轉換幾乎圍繞着小數轉大數的基本原則即可。

java

  虛線表示在轉換上存在精度的損失。

字符串

  首先,Java的字符串和C++的字符串存在區別,Java的字符串是不可更改的,也就是說是常量。必須通過變量方式進行更改。

字符串拼接

  和C++類似,可以使用 + 號進行字符串拼接。

字符串判斷相等

  與C++不同,C++可以通過重載運算符進行判斷,但是Java不可以通過進行判斷,而不可以對==運算符進行重載,必須使用函數equals進行判斷。==判斷的實際是內存的是否相同。

s.equals(x);

空串與null串

  空串“”其實就是長度爲0的字符串。與null串不同。空串是一個Java對象,有自己的長度和內容。String還可以存在一個特殊的值也就是null,這代表目前沒有任何一個對象與該變量進行關聯。下面就是判斷一個字符串既不是null也不是空串。

if(str != null && str.length() !=0)
{
    //處理字符串
}

String常用API

函數 說明 使用方法
compareTo 按字典順序比較字符串 compareTo(String anotherString)
compareToIgnoreCase 不考慮大小寫比較 同上
indexOf 返回第一次出現的索引 indexOf(String str)
lastIndexOf 返回最後一次出現的索引 同上
isEmpty 判斷字符串長度是否爲0 isEmpty()
length 返回字符串長度 length()
replace 替換字符串,結果返回 replace(“pig”,“dog”)
toLowerCase / toUpperCase 全部轉換爲大寫或者小寫 toLowerCase()
trim 返回字符串副本 trim()
valueOf(int/double/long/float) 不同類型轉字符串 valueOf(1)
startsWith 判斷是否以suffix開始 startsWith(“Love”)
endsWith 判斷是否以suffix結束 endsWith(“Love”)
subString 獲取Java的子字符串 subString(0,5)
spilt 按照正則表達式拆分字符串 spilt("?

輸入輸出

​ 輸出相對來說比較簡單,IDEA直接輸入sout即可。

System.out.println("I love you");

  輸入相對來說比較麻煩,需要常見Scanner的對象,綁定系統的輸入,從而將系統的輸入保存到流中。

Scanner in = new Scanner(System.in);
String str = in.nextLine();
int i = in.nextInt();
double j = in.nextDouble();

格式化輸出

  Java就變得很人性化了,採用了與C語言類似的格式化輸出。

String name = "you";
System.out.print("I love %s",name);

文件輸入輸出

Scanner in  = new Scanner(Paths.get("myFile.txt"),"UTF-8");

數組

數組初始化

int[] a = {1,2,3,4,5,6};
int a[] = {1,2,3,4,5,6}; //不推薦 

數組拷貝

  我們知道數組與對象的拷貝屬於淺拷貝,也就是說其實是共享的數據,拷貝的其實就是C++裏面的地址或者說是指針。

int[] a = {1,2,3,4,6,6};
int[] b = a;
b[0] = 5;
// a[0] 也會變爲5

  如果我們希望只是值拷貝,也就是爲變量重新劃分空間,我們可以這樣。

int[] a = Arrays.copyOf(b,b.length());

數組排序

  數組排序使用sort函數,類似於C++泛型算法的sort函數。使用的是Arrays.sort函數。

int[] a = {5,3,9,13,9,7,1};
Arrays.sort(a);

for each 循環

  這和C++當中的for_each()不同,遍歷整個數組。也可以叫做增強for循環。

for(int i:a)
    System.out.println(i);
int[] a = {5,3,9,13,9,7,1};
Arrays.sort(a);

for each 循環

  這和C++當中的for_each()不同,遍歷整個數組。也可以叫做增強for循環。

for(int i:a)
    System.out.println(i);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章