程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java的三元運算符

java的三元運算符

編輯:關於JAVA

這種運算符比較罕見,因為它有三個運算對象。但它確實屬於運算符的一種,因為它最終也會生成一個值。這與本章後一節要講述的普通if-else語句是不同的。表達式采取下述形式:

布爾表達式 ? 值0:值1

若“布爾表達式”的結果為true,就計算“值0”,而且它的結果成為最終由運算符產生的值。但若“布爾表達式”的結果為false,計算的就是“值1”,而且它的結果成為最終由運算符產生的值。
當然,也可以換用普通的if-else語句(在後面介紹),但三元運算符更加簡潔。盡管C引以為傲的就是它是一種簡練的語言,而且三元運算符的引入多半就是為了體現這種高效率的編程,但假若您打算頻繁用它,還是要先多作一些思量——它很容易就會產生可讀性極差的代碼。
可將條件運算符用於自己的“副作用”,或用於它生成的值。但通常都應將其用於值,因為那樣做可將運算符與if-else明確區別開。下面便是一個例子:

static int ternary(int i) {
return i < 10 ? i * 100 : i * 10;
}

可以看出,假設用普通的if-else結構寫上述代碼,代碼量會比上面多出許多。如下所示:

static int alternative(int i) {
if (i < 10)
return i * 100;
return i * 10;
}

但第二種形式更易理解,而且不要求更多的錄入。所以在挑選三元運算符時,請務必權衡一下利弊。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved