標準數學運算子包括加法「+」減法「-」乘法「*」和除法「/」;尚有一個餘數「%」 ,格式為:num1 % num2。舉例一個除法運算。
System.out.println(10.0/3)[!] Java 計算時會自動賦予數字 (運算元) 一個型態。遞增/遞減運算子
顯示的值為 3.3333
但 System.out.println(10/3)
顯示的值為 3
當要處理比較大的整數的時候,要注意超過 int 型態範圍的問題:
//一年的秒數位元的計算
int y = 70;
long s = y*365L*24*60*60;
system.out.println(s);
//計算過程中 y 是 long, 或把其中一個數字改為 L
//計算的結果 s 用 long 來儲存
使用 Java 內建的換算功能
public class Test1 {展示位元計算子「&(and)」的計算結果。
public static void main(String[] args) {
System.out.println(Integer.toBinaryString(1024));
}
}
public class Test2 {輸出結果是
public static void main(String[] args) {
System.out.println(Integer.toBinaryString(13));
System.out.println(Integer.toBinaryString(12));
System.out.println("--------------");
System.out.println(Integer.toBinaryString(13 & 12));
}
}
1101對於 & 運算,當兩個對應位元都是 1 的時候,才輸出 1。至於其他的運算子「|」「^」「~」分別說明如下:
1100
-----
1100
「|」位元運算,對照的位元,只要有任一個位元是 1,則輸出 1。
「^」位元運算,對照的位元都是 0 或都是 1時輸出 0,否則輸出 1。
「~」位元運算,會換算成互補的 0 和 1
[!] int 包含 16 位元,第一個位元是正或負號的旗標。
位移運算子「<<」「>>」「>>>」是將位元向左或右移動數個單位。
指定運算子
常見要把變數 v 加上1,寫成
v = v + 1效果是相同的。其中 += 是指定運算子。
v++
v += 1
[!] v++ 稱為後置遞增。請看下列範例:
int v =3;值的比較和判斷
int v2 = v++;
// v++ 的意含是 把 v 的值 +1
// v2 的敘述是 '後置遞增';會先作 v2 = v 再進行 v+1
System.out.println(v);
System.out.println(v2);
//目前這個狀況 v1 會顯示 4,v2 會顯示 3
查看兩數值大小關係的運算,使用關係運算子。常見如「==」判斷是否相等,「<」判斷左是否小於右者,「<=」判斷左是否小於等於右。若同時需要取兩組判斷結果的交集,使用「&&」連接兩者。
//徵友的條件配合 if/else 陳述處理
int age = PPJUtil.getInt("Age");
char gender=PPJUtil.getChar("Gender");
System.out.println(age >= 18 && age <= 28 && gender == 'F');
//年齡大於等於18歲,小於等於28歲,同時性別為 F
//公車收費標準更多關於程式流程的內容,請參考 Java 程式流程
int age = PPJUtil.getInt("Age");
char gender=PPJUtil.getChar("Gender");
if (age > 60 || age < 5 || gender == 'F') {
System.out.println("免費");
} //年齡大於60歲,或小於5歲,或性別為 F 都顯示為免費
else {
System.out.println("請投入15元");
} //其餘都顯示"請投入15元"
沒有留言:
張貼留言