黑马程序员技术交流社区

标题: 关于if语句的问题 [打印本页]

作者: 1055513951    时间: 2016-1-10 09:35
标题: 关于if语句的问题
boolean t=false;
if (t=true)
{
   System.out.println(t);
}

t=true不是赋值语句吗,为什么if语句还是正常运行,而且还输出了true
作者: 黑色皮肤的马    时间: 2016-1-10 10:12
这是个经典的问题,刚开始都以为应该是t==true,因为if(条件表达式),条件表达式不是true就是false。这里请注意,t是一个boolean类型的,t=true是把true的值赋值给了变量t,那么这句话就等于if(true),这当然是可以的了。希望对你有帮助。
作者: StringBOX    时间: 2016-1-10 12:33
boolean型是特殊的,if(t=true)可以看作是if(true)
作者: heima7788    时间: 2016-1-10 14:23
t=true的确是赋值语句,赋值完之后t就是true了,判断条件就判断t 的值了
作者: 549208564    时间: 2016-1-10 14:34
if语句中可以是boolean类的,相当于给了一个true
作者: 542826323    时间: 2016-1-10 14:35
学习了,这个还真没有留意过。




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