国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

淺談Java三目運算

2019-11-26 15:15:01
字體:
來源:轉載
供稿:網友

三目條件運算公式為 x?y:z  其中x的運算結果為boolean類型,先計算x的值,若為true,則整個三目運算的結果為表達式y的值,否則整個運算結果為表達式z的值

例:String s="";

    String x="默認值";

    s=s.isEmpty()?x:s;

這段代碼的意思是:先判斷s是否為空(結果是空),然后執行s=x,即執行x

再來一個復雜點的

class Dates { int year,month,day; Dates(int x,int y,int z){ year=x; month=y; day=z; } public static int compare(Dates a){ return year>a.year?1   :year<a.year?-1   :month>a.month?1   :month<a.month?-1   :day>a.day?1   :day<a.day?-1:0; }

1、三目運算符 (表達式1)?(表達式2):(表達式3),計算方法是這樣的:表達式1是一個邏輯表達式,如果其值為true,則整個表達式的值為表達式2的值,否則為表達式3的值

2、例子:int i = (5 > 3) ? (5 + 3) : (5 - 3);結果為i = 8.因為5 > 3為true,所以i = 5 + 3.

3、根據三目運算符的從右到左的結合性,我是這樣劃分的
year > a.year ? 1 : (year < a.year ? -1 : (month > a.month ? 1 : (month < a.month ? -1 : (day > a.day ? 1 : (day < a.day ? -1 : 0)))));
所以應該從最右邊的那個表達式開始計算,結果應該是1、0、-1中的一個值。

以上純屬個人理解。沒搞清楚你這個算法到底是什么意義。。。。

請您花一點時間將文章分享給您的朋友或者留下評論。我們將會由衷感謝您的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 隆化县| 乌拉特中旗| 方正县| 辽源市| 临海市| 体育| 弥渡县| 安徽省| 阜城县| 景德镇市| 松溪县| 广安市| 阳西县| 南澳县| 廉江市| 广西| 米泉市| 济源市| 潮安县| 清徐县| 延川县| 额尔古纳市| 丰原市| 博爱县| 晴隆县| 澜沧| 廊坊市| 平邑县| 大庆市| 洛川县| 嵊州市| 民勤县| 边坝县| 三都| 潜江市| 莱芜市| 连城县| 九台市| 长子县| 息烽县| 北海市|