黑马程序员技术交流社区
标题:
关于JAVA学习中的一个问题
[打印本页]
作者:
亲亲
时间:
2014-5-22 21:38
标题:
关于JAVA学习中的一个问题
大家好,我是个零基础学习JAVA语言的,有个问题想请教一下大家。
下面程序执行的结果是?( )
boolean b=true;
if(b=false) //( ) 内的值为 false
{
System.out.println("a");
}
else if(b)
{
System.out.println(b);
}
else if(!b)
{
System.out.println("c");
}
else
System.out.println("d");
A. a
B. true
C. c
D. d
这个题我的答案是B,但是是错的,有人帮忙解释下吗?
作者:
谜燕
时间:
2014-5-22 21:46
本帖最后由 谜燕 于 2014-5-22 21:48 编辑
if(b=false)是赋值语句,因此现在的b的值是false,if--else if--else条件判断语句只执行为true的语句,因此打印c。如果是if(b==false)那你选择的就对了,这里一定要区分==(比较运算符)和=(赋值运算符)。
作者:
Sevenette
时间:
2014-5-22 22:00
本帖最后由 Sevenette 于 2014-5-22 22:02 编辑
boolean b=true;
if(b=false) //1. b=false 将false赋值给b,没有真假值,继续向下执行
{
System.out.println("a");
}
else if(b)//2. b为假,不满足,向下执行
{
System.out.println(b);
}
else if(!b)//3. !b 为真,满足 输出c
{
System.out.println("c");
}
else
System.out.println("d");
复制代码
过程就是上面这样的~~
作者:
黑马粉、峥
时间:
2014-5-22 23:14
运行结果为 C ,当b 运行到 if(b=false) 输出为 fals 继续往下运行,运行到 else if(b)时()里面默认的值为false,所以往下走,运行到else if(!b)时 输出 ture,所以结果为 c
作者:
飘渺≮★耘
时间:
2014-5-23 11:29
在第二行,if(b=false)中,这里b被赋值为false,所以应选c
作者:
gentleman
时间:
2014-5-23 14:20
b在运行时被赋值false,所以选c
作者:
★魔_➩τ咒
时间:
2014-5-24 05:42
答案是C 你应该好好看下IF ELSE那的只是点,很简单的!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2