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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 1055513951 中级黑马   /  2016-1-10 09:35  /  1004 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

boolean t=false;
if (t=true)
{
   System.out.println(t);
}

t=true不是赋值语句吗,为什么if语句还是正常运行,而且还输出了true

5 个回复

正序浏览
学习了,这个还真没有留意过。
回复 使用道具 举报
if语句中可以是boolean类的,相当于给了一个true
回复 使用道具 举报
t=true的确是赋值语句,赋值完之后t就是true了,判断条件就判断t 的值了
回复 使用道具 举报
boolean型是特殊的,if(t=true)可以看作是if(true)
回复 使用道具 举报
这是个经典的问题,刚开始都以为应该是t==true,因为if(条件表达式),条件表达式不是true就是false。这里请注意,t是一个boolean类型的,t=true是把true的值赋值给了变量t,那么这句话就等于if(true),这当然是可以的了。希望对你有帮助。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马