A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© べPNヤ 中级黑马   /  2013-8-12 23:27  /  997 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 べPNヤ 于 2013-8-13 00:29 编辑

3>2 ? 1 : false ;  这样表示 如果单独写出来 赋值给一个变量会报错,但是为什么直接写在输出语句里面不报错 结果是1 ?

3 个回复

倒序浏览
很简单啊。1是int型的,false是boolean型的,你要赋值的变量是int还是boolean?系统哪里知道,就抛个异常给你了呗。如果是这样就可以了:
  1. int a=(3>2?1:0);
复制代码
回复 使用道具 举报
楼上下解
回复 使用道具 举报
夜写意 发表于 2013-8-12 23:33
很简单啊。1是int型的,false是boolean型的,你要赋值的变量是int还是boolean?系统哪里知道,就抛个异常给 ...

百度了下  前面报错我知道原因。后面打印没问题是因为 打印的时候把结果当字符串打印的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马