黑马程序员技术交流社区
标题:
三元运算符的疑惑
[打印本页]
作者:
べPNヤ
时间:
2013-8-12 23:27
标题:
三元运算符的疑惑
本帖最后由 べPNヤ 于 2013-8-13 00:29 编辑
3>2 ? 1 : false ; 这样表示 如果单独写出来 赋值给一个变量会报错,但是为什么直接写在输出语句里面不报错 结果是1 ?
作者:
夜写意
时间:
2013-8-12 23:33
很简单啊。1是int型的,false是boolean型的,你要赋值的变量是int还是boolean?系统哪里知道,就抛个异常给你了呗。如果是这样就可以了:
int a=(3>2?1:0);
复制代码
作者:
黄兴旺
时间:
2013-8-12 23:37
楼上下解
作者:
べPNヤ
时间:
2013-8-13 00:29
夜写意 发表于 2013-8-12 23:33
很简单啊。1是int型的,false是boolean型的,你要赋值的变量是int还是boolean?系统哪里知道,就抛个异常给 ...
百度了下 前面报错我知道原因。后面打印没问题是因为 打印的时候把结果当字符串打印的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2