xmlt.net
当前位置:首页 >> jAvA三元运算符问题 >>

jAvA三元运算符问题

Java提供一个特别的三元运算符(ternary)经常用于取代某个类型的if-then-else语句。这个运算符就是?,并且它在Java中的用法和在C/C++中的几乎一样。该符号初看起来有些迷惑,但是一旦掌握了它,用?运算符是很方便高效的。 运算符的通用格式如...

运算符的通用格式如下: expression1?expression2:expression3 其中,expression1是一个布尔表达式。如果expression1为真,那么expression2被求值;否则,expression3被求值。整个表达式的值就是被求值表达式(expression2或expression3)的值。...

看你问题你应该知道c=a>b?a++:++b;里? :的用法。 你不知道的就是a++,和++a的区别。c=a++的话是先把a的值赋值给c然后a再做+1操作,++a的话就会先做a+1,然后把a+1赋值给c。 建议你现在去看下,a++,++a 的区别,然后看看他们之间的运算顺序

三元运算符与 if else 的区别: 好处:可以简化 if else 代码; 弊端:因为是一个运算符,所以运算完必须要有一个结果。而 if else 运算完不需要一个结果。比如三元运算符内不能单独列出输出表达式。

你对三元运算符的理解错误:你想要表达的应该是 return ( ( x < y ) ? x : y); return x 语法错误。

int a = 1 ? 2 : 3 ? 4 : 5; 如果从左到右结合,即a = (1 ? 2 : 3) ? 4 : 5 = 2 ? 4 : 5 = 4; 如果从右到左结合,即a = 1 ? 2 : (3 ? 4 : 5) = 1 ? 2 : 4 = 2; 实际运行int a = 1 ? 2 : 3 ? 4 : 5;得到a=2;即条件运算符是从右到左结合的。 从这...

这不是三元运算符的问题,重点是在考验你++在前和在后的问题。 ++在前十先加加再赋值,++在后是先赋值再加加。 举个例子: int a=1; int b=1; int c = a++; int d= ++b; 这样的话c的值就是1,d的值就是2,弄明白这个你就清楚了

我错了,刚才试了一下,下面是我的结论: 在程序执行的时候会自动匹配数据类型调用对应的方法,但这两次调用的不是同一个方法。依据如下: 使用int i = 90;s.append(6>5?i:'B');的话调用的就是append(int),而使用s.append(6>5?90:'B');的话调用...

可以简单地理解为需要几个数参与运算的运算符就是几元运算符 一元: 8!八的阶乘 二元: + - * /运算等,只需要两个数 三元: (7>8)? true : false

a

网站首页 | 网站地图
All rights reserved Powered by www.xmlt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com