一個簡單且不包含else if的判斷式範列如下

假設我們要取得兩數效大的數,你可能會這樣寫:

int max = 0, x = 5, y = 10;
if(x > y){
  max = x;
}else{
  max = y;
}
System.out.println(max);

一個簡單的if判斷式可以如下簡化

  int x = 5, y = 10;
  System.out.println(x>y ? x:y); 

問號的前面是判斷式,後面是回傳方法

而判斷為True時回傳冒號前的方法,判斷為False時回傳冒號後的方法

 

不過我覺得它比較像是 Excel 中 IF 函數式的寫法

來比較一下

( x > y ) ? x : y;

IF(x > y, x, y)

可以發現只是分格的符號不太一樣

而簡化後的 IF 也沒有 Else IF 可以用

如果要用只能像下面這樣寫

( x > y ) ? x : ( y > z ) ? y : z;

而 Excel 中的寫法是

IF( x > y, x, IF( y > z, y, z))

 

arrow
arrow
    全站熱搜

    taurus770423 發表在 痞客邦 留言(0) 人氣()