-
阿旭_
三目运算符,可代替if(){}else{}因写起来比较方便(一行代码就搞定了),常用来赋值时判断用。例:int a;//……if(a<0){ a = 0;}else{ a = a;//当然了,这句话写不写其实都一样,只是为了更好的理解三目运算符的变形形式}//使用a的值之前,a的值肯定不会是负数==============使用三目运算符的代替方案=========int a;//.......a = ( a<0 ? 0 : a ) ;//圆括号可以省略
-
阿旭_
a > b ? (max = a, min = b) : (max = b, min = a); max > c ? (min > c ? min = c : 1) : max = c;改if形式如下int x ;//设置a>b三目运算结果表达式的值xif ( a>b ){ max = a; min = b; x = min;//最后一个式子的值,即min的值}else { max = b; min = a; x = min;}//表达式的值最终是x,但是上面的例子,并没有赋值,所以结果x没用上//由于有分号,所以是另一个三目了,和之前无关了。int y;//再设置一个三目max > c运算结果值变量if( max > c){ int z;//设置三目min运算变量 if ( min > c ){ min = c ; z = min; }else { z = 1 ; } y = z;}else{ max = c; y = max;}
-
残叶听风
三元i f- e l s e 运算符布尔表达式 ? 值0:值1若“布尔表达式”的结果为true,就计算“值0”,若“布尔表达式”的结果为false,计算的就是“值1”,而且它的结果成为最终由运算符产生的值。当然,也可以换用普通的if-else 语句,但三元运算符更加简洁。尽符与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;}第二种形式更易理解,