黑马程序员技术交流社区

标题: 三元运算符的疑惑 [打印本页]

作者: べ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?系统哪里知道,就抛个异常给你了呗。如果是这样就可以了:
  1. 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