三元運算符


三元運算符 :

  格式 : (條件表達式)? 表達式1 :表達式2;

說明:
  1.條件表達式的結果只能是boolean類型
  2.如果條件表達式的值為true執行表達式1,否則執行表達式2
  3.表達式1和表達式2的類型應該保持一致
  如果表達式1和表達式2可以自動類型提升為一種類型,那么也可以。
  例:double d = (10 > 5)? 10.5 : 20;

 

/*

    三元運算符 :

    格式 : (條件表達式)? 表達式1 :表達式2;

    說明:
        1.條件表達式的結果只能是boolean類型
        2.如果條件表達式的值為true執行表達式1,否則執行表達式2
        3.表達式1和表達式2的類型應該保持一致
                如果表達式1和表達式2可以自動類型提升為一種類型,那么也可以。
                例:double d = (10 > 5)? 10.5 : 20;


*/
public class TernaryTest{

    public static void main(String[] args){
    
        int m = 5,n = 10;

        int maxNumber = (m > n)? m : n;

        System.out.println(maxNumber);

        System.out.println("--------------------------------");
        
        m = n = 10;
        // m > n 不成立的條件是  m <= n
        String str = (m > n)? "m大" : "n大";
        System.out.println(str);

        System.out.println("--------------------------------");
        
        //注意 :表達式1和表達式2的類型應該保持一致
        double d = (10 > 5)? 10.5 : 20;  //因為20可以自動類型提升為doulbe
        System.out.println(d);


        System.out.println("--------------------------------");
        //需求 :求三個數中的最大值
        int a = 5,b = 10,c = 15;
        /*
        int max = (a > b)? a : b;
        int max2 = (max > c)? max : c;
        */

        
        int max2 = (((a > b)? a : b) > c)? ((a > b)? a : b) : c;

        System.out.println(max2);
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM