java中问号是什么意思

int a=20,b=30,c; System.out.println(c=(a==b?a/b:b%a));像这样, 运行结果是10. 为什么呢? 问号和冒号都是什么意思呢

问好表达式
条件?条件为真的时候返回的值:条件为假返回值
c=(a==b?a/b:b%a)
a==b就是条件
a/b是条件为真的时候返回的值
b%a是条件为假返回值
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-15
这个是三元运算符
布尔表达式 ? 表达式1 : 表达式2
布尔表达式的结果为真 执行表达式1 ;为假,执行表达式2
a==b为假 所以执行b%a 结果为10(%:取余数运算)
第2个回答  2018-08-01
问好表达式
条件?条件为真的时候返回的值:条件为假返回值
c=(a==b?a/b:b%a)
a==b就是条件
a/b是条件为真的时候返回的值
b%a是条件为假返回值本回答被网友采纳
第3个回答  2018-06-08
A?:B:C
A如果为真,执行B,否则执行C
相似回答