Java基礎之算術運算符
1 運算符
1.1 算術運算符
public static void main(String[] args) { int a = 6; int b = 4; System.out.println(a + b); //10 System.out.println(a - b); //2 System.out.println(a * b); //24 System.out.println(a / b); //1 System.out.println(a % b); //2 //除法得到商,取余得到余數 //整數相除只能得到整數,要想得到小數要有浮點數參與 System.out.println(6.0 / 4); //1.5 }
字符進行“+”操作時,拿的是字符在計算機底層 對應的數值 進行操作
‘A’ > 65
‘a’ > 97
‘o’ > 48
算術運算符表達式中 多個基本數據類型 的值的時候,整個算術運算符的 類型 會 自動提升
提升規則:
1.byte類型、short類型和char類型都會提升到int類型
2.整個表達式的類型自動提升到表達式中 最高等級操作數同樣類型
等級順序:byte、short、char -> int -> long -> float -> double
范例:
public class Demo { public static void main(String[] args) { int i = 10; char c = '0'; System.out.println(i + c); //75 //char cj = i + c; //char類型會自動提升到int類型 int j = i + c; System.out.println(j); //75 //10.1是double類型高于int類型 //int k = 10 + 10.1; double k = 10 + 10.1; } }
當 “+” 操作出現字符串時,這個 “+” 是 字符串連接符 ,而不是算術運算符
范例:
System.out.println('it'+6+66) //it666
在 “+” 操作中,如果出現字符串就是連接符,否則就是算術運算。當連續 “+” 操作時,從左到右依次執行。
范例:
System.out.println(1+99+'it') //100it
1.2 賦值運算符
注意事項:擴張的賦值運算符 隱含 強制類型轉換。
1.3 自增自減運算符
++ 和 - - 可以放變量前面也可以放變量后面
單獨使用時, ++ 和 - - 放變量前后結果都是一樣的
參與操作使用時,如果放變量后面,先拿變量參與操作,后拿變量做++或- -;
參與操作使用時,如果放變量前面,先拿變量做++或- -,后拿變量參與操作。
范例:
public class Demo { public static void main(String[] args) { //單獨使用 int i = 10; //i++; ++i; System.out.println(i); //11 //參與操作使用++在后面 int b = 10; int j = b++; System.out.println(b); //11 System.out.println(j); //10 //參與操作使用++在前面 int c = 10; int k = ++c; System.out.println(c); //11 System.out.println(k); //11 } }
1.4 關系運算符
關系運算符的結果都是boolean類型,要么true,要么false
1.5 邏輯運算符
1.6 短路邏輯運算符
范例:
public class Demo { public static void main(String[] args) { int i = 10; int j = 20; //&& :具有短路效果,符號左邊為false的時候,右邊就不執行 //如果符號左邊為true,右邊要繼續執行 System.out.println((i++>100) && (j++>100)); //false & false, System.out.println("i="+i); //11 System.out.println("j="+j); //20 } }
注意事項:
1、邏輯與 &:無論左邊真假,右邊都要執行
2、短路與 &&:如果左邊為真,右邊執行;如果 左邊為假,右邊不執行
3、邏輯或 | : 無論左邊真假,右邊都要執行
4、短語或 ||:如果左邊為假,右邊執行;如果 左邊為真,右邊不執行
1.7 三元運算符
格式:關系表達式 ? 表達式1 :表達式2;
范例:a > b ? a : b;
計算規則:
首先計算關系 表達式的值 如果值為 true,表達式1 的值就是運算結果;
如果值為 false , 表達式2 的值就是運算結果。
范例:
public class Demo { public static void main(String[] args) { int i = 10; int j = 20; //輸出兩個數據中的較大值 int max = i > j ? i : j; System.out.println("max=" + max); //20 } }
1.8 Scanner使用的基本步驟
導包的三種方式:
1、手動導包:import java.util.Scanner;
2、快捷鍵導包:創建好Scanner對象后,鼠標放在Scanner上按Alt+Enter
3、自動導包:寫Scanner單詞創對象時,按tab補全導包
導包的步驟:
1.導包(導包必須在定義類上面)
import java.util.Scanner;
2.創建對象(只有sc是變量名可以變,其他都不可以變)
Scanner sc = new Scanner(System.in);
3.接收數據
int i = sc.nextInt(); //i是變量名可以變,其他都不能變 sc.nextInt(); //Ctrl+alt+v:補全生成左邊的內容
1.9 案例:三個和尚
案例:輸入三個和尚的身高,利用三元運算符比較求出最高的和尚
import java.util.Scanner; public class Demo { public static void main(String[] args) { //從鍵盤輸出三個身高求出最高值 Scanner sc = new Scanner(System.in); //鍵盤輸入三個數值 int height1 = sc.nextInt(); int height2 = sc.nextInt(); int height3 = sc.nextInt(); int temp = (height1>height2) ? height1:height2; int max = (temp>height3) ? temp:height3; System.out.println(max); } }
Java 面向對象編程
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。