首頁 >Java >java教程 >Java三目運算子是什麼及怎麼使用

Java三目運算子是什麼及怎麼使用

PHPz
PHPz轉載
2023-04-19 10:04:082443瀏覽

  Java提供了一個特別的三元運算子(也叫三目運算子)常用來取代某個類型的if-then-else語句。條件運算子的符號表示為“?:”,使用該運算子時需要有三個運算元,因此稱其為三目運算子。使用條件運算子的一般語法結構為:

  result=

#  其中,expression是一個布林運算式。當expression為真時,執行statement1,否則就執行statement3。此三元運算子要求傳回一個結果,因此要實作簡單的二分支程序,即可使用該條件運算子。

下面是一個使用條件運算子的範例。

  intx,y,z;

  x=6,y=2;

  z=x>y?x-y:x y;

  在這裡。要計算z的值,首先要判斷x>y表達的值,如果為true,z的值為x-y;否則z的值為x y。很明顯x>y表達式結果為true,所以z的值為4。

  技巧:可以將條件運算子理解為if-else語句的簡化形式,在使用較為簡單的表達式時,使用該運算子能夠簡化程式碼,使程式更易讀。

在使用條件運算子時,也應該注意優先權問題

  例如下面的表達式:

  x>y?x-=y:x =y;

  在編譯時會出現語法錯誤,因為條件運算子優先於賦值運算符,上面的語句實際等價於:

  (x>y?x-=y:x) =y;

  而運算子「 =」是賦值運算符,該運算子要求左操作數應該是一個變量,因此出現錯誤。為了避免這類錯誤,可以使用括號「0」來加以區分。例如,下面是正確的表達式。

  (x>y)?(x-=y):(x =y);

  例1

  在程式中宣告3個變數x、y、 z,並由使用者從鍵盤輸入x的值,然後使用條件運算子向變數y和變數z賦值。實現代碼如下:

  publicclassTest9{

  publicstaticvoidmain(String[]args){

  intx,y,z;//聲明三個變量

System.out.print("請輸入一個數字:");

  Scannerinput=newScanner(System.in);

  x=input.nextInt();//由使用者輸入x的值

  //判斷x的值是否大於5,如果是y=x,否則y=-x

  y=x>5?x:-x;

#  //判斷y的值是否大於x,若是z=y,否則z=5

  z=y>x?y:5;

  System.out.printf(" x=%d\n",x);

  System.out.printf("y=%d\n",y);

  System.out.printf("z= %d\n",z);

  }

  }

  在程式中,先輸入x的值為58,然後判斷x的值是否大於5 ,顯然條件是成立,則y的值為x,即y=58。接著判斷y的值是否大於x,因為y的值和x的值都為58,所以該條件是不成立的,則z=5。再輸入x的值為4,然後判斷x的值是否大於5,不成立,則y=-4;接著判斷y的值是否大於x,不成立,則z=5。

以上是Java三目運算子是什麼及怎麼使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除