【Java入門】運算子和表示式
阿新 • • 發佈:2019-01-31
package com.itheima_01; * * 運算子:就是用於對常量和變數進行操作的符號 * 表示式:用於運算子連結起來的符合Java語法的式子,不同的運算子連線的表示式是不同型別的表示式 * 舉例:a,b * a + b * 運算子分類: * 算術運算子: * +,-,*,/,%,++,-- * a.字元參與加法運算:字元在計算機中儲存的資料值來參與運算 * 'A' 65 'a' 97 '0' 48 * b.字串參與加法運算是字元的拼接 * c.++ -- 自增自減 * 單獨使用a++,++a結果一樣 * ++在後,先操作變數再++ * ++在前,先變數++再操作 * * 賦值運算子: * 基本的賦值運算子:= * 擴充套件的賦值運算子:+=,-=,*=,... * 關係運算符: * ==,!=,>,>=,<,<= * 關係運算符的結果是boolean型別 * 邏輯運算子: * &: 有False則False * |: 有True則True * ^: 相同則False,不同則True * !: True則False,False則True * 注:&&,|| 同&,|; 但&&,||更高效,滿足條件即不進行下一步計算 * * 三元運算子: * 關係表示式?表示式1:表示式2 * 執行流程:計算關係表示式True或者False * if True,表示式1; * if False,表示式2; * * * public class OperatorDemo { public static void main(String[] args) { // 定義變數 int a = 3; int b = 4; System.out.println("算術運算子a=3,b=4"); System.out.println(a + b); System.out.println(a - b); System.out.println(a * b); System.out.println(a / b); // 整數相除只能得到整數,要想得到小數,就必須浮點數參與運算 System.out.println("浮點型運算3.0/4="+3.0 / 4); // 字元參與加法運算:字元在計算機中儲存的資料值來參與運算 char c = 'A'; System.out.println("字元參與加法運算"); System.out.println(a + c); // 字串參與加法運算是字元的拼接 System.out.println("hello" + c); System.out.println("hello" + a + b); // c+a是int型別做了加法 System.out.println(c + a + "hello"); System.out.println("a:" + a); // ++ a++; ++a; System.out.println("a:" + a); // 參與其他操作 // int d=a; int d = a++; // int d = ++a; System.out.println("字元參與其他++計算"); System.out.println("a:" + a); System.out.println("d:" + d); // +=的操作 // 拿+=的左右邊資料做+,然後賦值給左邊 a += 20; System.out.println("a:" + a); // 注意:擴充套件的賦值運算子,隱含了強制型別轉換 // 拿+=的左(short)右(int)邊資料做+,然後賦值給左邊(short) // a+=10 相當於:a = (a的資料型別)(a + 10) short s = 1; s += 1; System.out.println("擴充套件的賦值運算子"); System.out.println("s:" + s); // 關係運算符定義變數 int a1 = 10; int b1 = 20; int c1 = 10; // == System.out.println("關係運算符定義變數=="); System.out.println(a1 == b1); System.out.println(a1 == c1); // != System.out.println("關係運算符定義變數!="); System.out.println(a1 != b1); System.out.println(a1 != c1); // ...>,<,<=,>=自己測試 // 注意事項: System.out.println("注意事項:關係運算符定義變數=,=="); System.out.println(a1 == b1); System.out.println(a1 = b1);// 把b1值賦值給a1,輸出a1 // 邏輯運算子& 有False則False System.out.println("邏輯運算子& 有False則False"); System.out.println((a > b) & (a > c)); System.out.println((a < b) & (a > c)); System.out.println((a > b) & (a < c)); System.out.println((a < b) & (a < c)); // 邏輯運算子 | 有True則True System.out.println("邏輯運算子 | 有True則True"); System.out.println((a > b) | (a > c)); System.out.println((a < b) | (a > c)); System.out.println((a > b) | (a < c)); System.out.println((a < b) | (a < c)); // 邏輯運算子 ^ 相同則False,不同則True System.out.println("邏輯運算子 ^ 相同則False,不同則True"); System.out.println((a > b)^ (a > c)); System.out.println((a < b)^ (a > c)); System.out.println((a > b)^ (a < c)); System.out.println((a < b)^ (a < c)); // 邏輯運算子! True則False,False則True System.out.println("邏輯運算子! True則False,False則True"); System.out.println( ! (a > c)); System.out.println( ! (a > c)); System.out.println( ! (a < c)); System.out.println( ! (a < c)); //三元表示式 System.out.println("三元表示式"); int i = (a>b)?a:b; System.out.println("i:"+i); //定義兩個變數 int a2=10; int b2=20; int c2=15; //方法2:boolean flag = (a == b)?true:false; boolean flag = (a2==b2); System.out.println("比較兩個整數是否相等a2=10,b2=20"); System.out.println("flag:"+flag); //先獲取兩個資料的最大值,再與第三個資料比較 int temp = (a2>b2)?a2:b2; int max = (temp>c2)?temp:c2; System.out.println("比較三個整數最大值"); System.out.println("max:"+max); }; }