黑马程序员技术交流社区

标题: 这个三元运算为什么不对啊,ios怎么就可以呢??? [打印本页]

作者: 木易延    时间: 2015-12-24 00:21
标题: 这个三元运算为什么不对啊,ios怎么就可以呢???
int a = 4,b,temp;
temp=!a?a:b;
System.out.println(temo);

作者: 米阳SOHO    时间: 2015-12-24 09:27
!a是一个Boolean吗!?   !4不能表示一个Boolean吧,不能确定true或false
作者: 青菜市场    时间: 2015-12-24 09:31
前面必须真或假
作者: 木易延    时间: 2015-12-24 09:57
米阳SOHO 发表于 2015-12-24 09:27
!a是一个Boolean吗!?   !4不能表示一个Boolean吧,不能确定true或false

可是我定义了变量a,并给a赋值了啊,那么非a不就是假吗?
作者: 木易延    时间: 2015-12-24 10:02
青菜市场 发表于 2015-12-24 09:31
前面必须真或假

如果我定义了一个变量a,那么"!a?",是不是可以理解为"a不等于4吗?",而我之前定义了a的值,说明a有了初始化值啊,那"!a?"不就是假了吗
作者: 雨来    时间: 2015-12-24 11:01
我在想编译会出错吗?我试一下吧
一眼看出  会找不到temo  因为 系统中没有这个temo 你自己也不有定义
报错如下:

作者: 洋葱头头    时间: 2015-12-24 12:14
我安卓软件可以运行在安卓机上,为什么IOS不可以啊
作者: 木易延    时间: 2015-12-24 15:45
雨来 发表于 2015-12-24 11:01
我在想编译会出错吗?我试一下吧
一眼看出  会找不到temo  因为 系统中没有这个temo 你自己也不有定义
报错 ...

哦,对不起啊,昨天把输出语句写错了,是temp才对,你再编译一下
作者: 木易延    时间: 2015-12-24 15:51
洋葱头头 发表于 2015-12-24 12:14
我安卓软件可以运行在安卓机上,为什么IOS不可以啊

windows系统也不行啊,我试过了
作者: 汐枫wait    时间: 2015-12-24 22:40
条件位置判断的结果是一个布尔型值,!a不是布尔型的,所以不行




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2