黑马程序员技术交流社区
标题:
这段代码 求解释
[打印本页]
作者:
幸福与我零距离
时间:
2015-7-9 16:29
标题:
这段代码 求解释
boolean b=true;
if(b=false)
{
System.out.println("a");
}
else if(b)
{
System.out.println("b");
}
else if(!b)
{
System.out.println("c");
}
else
{
System.out.println("d");
}
作者:
拾起落叶
时间:
2015-7-9 16:48
因为第一个if()语句里给b赋予了值,所以当第二个else if执行时,b的值已经是false,所以第二句不会执行
作者:
guoningyan
时间:
2015-7-9 18:24
楼上正解,输出结果为c
作者:
rose_xiaomei
时间:
2015-7-9 19:51
C 一楼正解
作者:
wx_HWRW5aF7
时间:
2015-7-9 20:48
哥这是第三天作业
作者:
钟志军zzj
时间:
2015-7-9 21:16
结果是c楼上说的
作者:
CLTDEZHUCE
时间:
2015-7-9 21:21
boolean b=true;
if(b=false)//false赋值给b,b就代表false,就只能走else
{
System.out.println("a");
}
else if(b)
{
System.out.println("b");
}
else if(!b)//!b就是!false,就是ture,就走{}内的语句。输出c,下面不在执行
{
System.out.println("c");
}
else
{
System.out.println("d");
}
作者:
等你的季节-夏天
时间:
2015-7-9 21:26
谢谢分享
作者:
陈建民1
时间:
2015-7-9 21:32
。。。好吧,我懂了
作者:
木头人之死
时间:
2015-7-9 21:33
二楼正解
作者:
WElife
时间:
2015-7-9 21:39
选b。。。。。不用解释了。。。
作者:
孟卫严
时间:
2015-7-9 21:48
选输出“c”这个答案,输出“true”是错的
作者:
longbao
时间:
2015-7-9 21:55
结果是:b
作者:
wengjialiang
时间:
2015-7-9 22:07
选b啊啊。。。。。今天的测试题
作者:
形而上孤独
时间:
2015-7-9 22:24
为什么是b,哥们
作者:
人造番茄
时间:
2015-7-10 07:14
二楼说的很有道理
作者:
fantianfei
时间:
2015-7-10 07:50
C,楼上很多大神
作者:
牵着蜗牛去逛街
时间:
2015-7-10 09:38
主要是要注意=和==的区别,一楼说的对。。
作者:
zhwfa1991
时间:
2015-7-10 09:58
结果是C啊,=是赋值,==才是判断左右是否相等呢
作者:
YongBao_Summer
时间:
2015-7-10 10:01
C。答案是、
作者:
hnyzhlq
时间:
2015-7-10 10:22
我居然把=看成==,面壁去
作者:
乔栋
时间:
2015-7-10 11:08
c............
作者:
乔栋
时间:
2015-7-10 11:09
wengjialiang 发表于 2015-7-9 22:07
选b啊啊。。。。。今天的测试题
复制代码运行下先。。。。。。。。。。。。。。。
作者:
炎舞霜冬
时间:
2015-7-10 11:16
我也被这道题给坑了
作者:
慕容旺财
时间:
2015-7-10 11:39
学习了 补充下 赋值语句的结果就是赋的那个值
作者:
乔栋
时间:
2015-7-10 15:31
WElife 发表于 2015-7-9 21:39
选b。。。。。不用解释了。。。
。。。。。误解
作者:
maizi1912
时间:
2015-7-10 19:27
我怎么 觉得是b啊
作者:
何鹏程
时间:
2015-7-10 21:19
又涨知识了。
作者:
燃烧的灵魂
时间:
2015-7-10 21:26
楼上正解
作者:
发抖的_DtYJA
时间:
2015-7-10 21:54
楼上正解,输出结果为c
作者:
e咕噜
时间:
2015-7-10 21:57
选c,当条件为true时,才执行大括号中的内容,而第一个if中为赋值,将false赋值给b,也就是b为false,所以要往下执行else,知道条件为true即!b时才执行{}
作者:
菩提本无树
时间:
2015-7-10 22:04
第三天的内容
作者:
1木头1
时间:
2015-7-10 22:12
支持二楼
作者:
冲吧,小怪兽
时间:
2015-8-11 22:51
输出c,b在上面已经被赋值了
作者:
CharnLau
时间:
2015-8-11 23:05
二楼已经给了答案了!
作者:
径直上漠北
时间:
2015-8-12 10:29
自己敲了一遍,仔细体会了一下运行顺序,应该是if(b=false)给b重新赋了一个值,但由于条件为假,下面的"a"无法打印,然后到else if(b)时,没有重新赋值,就保留b=false的值,所以"b"同样不打印,然后到else if(!b)时,取反相当于重新赋了一个值,b变为真,所以"c"打印,然后就跳出.
作者:
叶顺达
时间:
2015-8-12 11:04
我想说 这个题目有点坑
作者:
李文思
时间:
2015-8-12 11:13
不仔细看,还真的会被忽悠了。确实是C啊。
作者:
henghenghalala
时间:
2015-8-12 11:14
咦,这个题有意思,唬得我一愣一愣的
作者:
wzh4488
时间:
2015-8-12 21:42
因为第一个if中是赋值语句,所以b的值为false,选C
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2