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

jAvA三元运算符问题

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

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

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

c#三元运算符是一个有返回值的表达式,所以不能执行无返回值语句,并且(表达式1 ? 表达式2 : 表达式3)中,表达式2和表达式3的数据类型必须相同

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

不能用那么多个=号, 用a=a

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

int a = 0;int b = 1;int c = a > b ? a : b;System.out.println(c);

谁跟你说是从右到左的。你估计是把赋值语句当成从右到左了。 比如 a = (c

a

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