Java基礎-賦值運算符Assignment Operators與條件運算符Condition Operatorsjava
做者:尹正傑spa
版權聲明:原創做品,謝絕轉載!不然將追究法律責任。code
一.賦值運算符blog
表達式的數據類型要與左邊變量的類型兼容it
1>.常規賦值io
1 /* 2 @author :yinzhengjie 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/ 4 EMAIL:y1053419035@qq.com 5 */ 6 7 public class Assignment{ 8 public static void main(String[] args){ 9 //1>.賦值 10 int x = 123; 11 12 x = 123 + 5; 13 14 int y = x / 2; 15 16 // int z = 3.1415926; //類型不兼容。 17 18 System.out.println(x); //128 19 System.out.println(y); //64 20 } 21 }
2>.符合賦值,自反賦值class
1 /* 2 @author :yinzhengjie 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/ 4 EMAIL:y1053419035@qq.com 5 */ 6 7 public class Assignment2{ 8 public static void main(String[] args){ 9 //複合賦值隱含着強類型轉換 10 11 byte a = 10; 12 13 a += 5; //至關於 a = (byte)(a + 5) 14 15 System.out.println(a); //15 16 } 17 }
二.條件運算符import
條件運算符也叫三元運算符。語法格式:「(條件)?表達式1:表達式2」,若是條件成立,整個表達式的值就是表達式1的值,若是條件不成立,整個表達式的值就是表達式2的值。基礎
1 /* 2 @author :yinzhengjie 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/ 4 EMAIL:y1053419035@qq.com 5 */ 6 7 public class Demo{ 8 public static void main(String[] args){ 9 10 int a = 10; 11 int b = 20; 12 int result = a > b ? a:b; 13 14 /** 15 若是a > b 成立,就把a的值賦值給變量result; 16 若是a > b不成立,就把b的值賦值給變量result; 17 就是把a和b中較大的保存到變量result中。 18 */ 19 20 System.out.println( result ); 21 22 String str = a > b ? "a較大":"b較大"; 23 System.out.println( str ); 24 25 26 int x = 100; 27 int y = 20; 28 int z = 50; 29 30 // int max = (x>y?x:y)>z?(x>y?x:y):z; //不建議這樣玩,能夠用來跟小白裝逼用,哈哈~可是可讀性太差。 31 32 int maxAB = x > y ? x:y; 33 34 int max = maxAB > z ? maxAB:z; 35 36 System.out.println(max); 37 38 39 } 40 }
若是讓你比較三個數字的大小,並從鍵盤輸入的咋辦呢?這個時候咱們就得導入一個類啦,來幫助咱們解決這個問題。變量
1 /* 2 @author :yinzhengjie 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/ 4 EMAIL:y1053419035@qq.com 5 */ 6 7 8 import java.util.Scanner; 9 10 public class compare { 11 public static void main(String[] args){ 12 /** 13 從鍵盤輸入兩個數,顯示其中的最大值,要求使用if-else結構. 14 */ 15 Scanner Input = new Scanner(System.in); 16 17 System.out.print("請輸入第一個數字:>>>"); 18 int num1 = Input.nextInt(); 19 20 System.out.print("請輸入第二個數字:>>>"); 21 int num2 = Input.nextInt(); 22 23 System.out.print("請輸入第三個數字:>>>"); 24 int num3 = Input.nextInt(); 25 26 //方案一: 27 // if(num1 > num2){ 28 // if (num1 > num3){ 29 // System.out.println(num1); 30 // }else{ 31 // System.out.println(num3); 32 // } 33 34 // }else{ 35 // if (num2 > num3){ 36 // System.out.println(num2); 37 // }else{ 38 // System.out.println(num3); 39 // } 40 // } 41 42 43 //方案二:(推薦使用) 44 int res = (num1 > num2)?num1:num2; 45 int max = (res > num3)?res:num3; 46 System.out.println(max); 47 48 49 //方案三:(不推薦使用,no 做 no die) 50 51 // System.out.print("請輸入第一個數字:>>>"); 52 // int a = Input.nextInt(); 53 54 // System.out.print("請輸入第二個數字:>>>"); 55 // int b = Input.nextInt(); 56 57 // System.out.print("請輸入第三個數字:>>>"); 58 // int c = Input.nextInt(); 59 // System.out.println("最大值是:" + ((a > b)?(a>c?a:c):(b>c?b:c))); 60 61 } 62 }