控製程序流
1. 列印輸出
可用相應資料類型(基本類型)的列印語句列印字串和數字
如:
int i = 10;
float f = 10.9f;
printInt("Integer:", i);
printFloat("Float:", f);
Random rand = new Random();
int i;
double d;
long l;
i = rand.NextInt();
d = rand.NextDouble();
l = rand.NextLong();
2. Regular expression
Regex是作用通用術語來描述字串的一各方法。
要表達一個數可能有也可能性沒有負號,可以在負號後面跟一個問號:
-?
要表示一個整數,你可以描述其具有一位或多位元字。在Regex中,一個數位用
'/d'
可用()將運算式分組。
如:
i > j is (true | false)
這裡邊的"|"表示邏輯與。是說這個字串不是true 就是false
對於其他的字元,只要不是Regex專有的特殊字元,都要求精確匹配。
但在Java中的字串中,必須轉義。
如 j = -?/d+ 在Java中就是j = -?//d+
j + k = -?/d 在Java中就是j /+ k = -?//d
3. 字串比較必須用equals()方法
4. equals()方法比較的是引用。
例如:
clsaa Value {
int i;
}
public class Test {
public static void main(String[] args) {
Value v1 = new Value();
Value v2 = new Value();
v1.i = v2.i = 100;
System.out.println(v1.equals(v2));
}
}
這時結果就是false。要想得到我們想要的比較方法,只能在新類中重載equals()方法.
5. 邏輯運算子只能用於布爾值。
6. 短路現象。
如: if(a && b && c)只要有一個值是false則剩下的運算式不被判斷。
7. 移位操作符只能處理整數類型。
"<<"左移操作符:將操作符左邊的運算對象向左移動操作符右側指定的位元,在低位補0;
">>"有符號右移操作符:將操作符左邊的運算對象向右移動操作符右側指定的位元,若符號為正,則在高位插入0,否則插入1;
">>>"無符號右移操作符:無論正負,都在高位插入0。
8. 對char, byte, short進行移位處理時,在移位前會自動轉換成int,結果也是int。
右側的運算元只能是其二進位中的低5位。這是為了防止移出int的範圍。
如果是long,則右側運算元為其二進位中的低6位.
9. 在對byte, short進行無符號右移賦值運算時,可能得到的值不對。因為它是先轉成int,再移位,再截斷,最後轉回自己的類型。
這樣得到的結果可能是-1。
10.可以把任何基礎資料型別 (Elementary Data Type)轉換成別的基本類型,但布爾型除外。
11.對基礎資料型別 (Elementary Data Type)執行算術或按位元運算時,只要比int波折都會轉換成int。如要將其給小類型就要類型轉換。
12.條件判斷中的運算式只能是邏輯運算式。
13.標籤和break, continue
label1:
outer-iteration {
inner-iteration {
break; //1
continue; //2
continue lable1; //3
break label1; //4
}
}
1: break中斷內部迴圈,回到外部迴圈;
2:移回內部迴圈;
3:中斷內部迴圈和外部迴圈,轉到label1處,然後繼續迴圈,只是是從外部迴圈重新開始;
4:和3一樣,只是不再執行迴圈。
這樣的組合應用可以用於退出整個迴圈而不退出方法。
14.switch(integral-selector)中的只能用int(short, byte)和char類型。
15.Math.random()中輸出的範圍是[0, 1)。