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;
}
但第二种形式更易领略,并且不要求更多的录入。所以在挑选三元运算符时,请务必衡量一下利弊。