Java中if 括号里的对象如果是boolean该用=还是==?

比如booleantestif(test=true)还是用if(test==true)?为什么if(test=true)有时候可以运行有时候不行?... 比如 boolean test
if(test=true) 还是用if(test==true)?
为什么 if(test=true) 有时候可以运行有时候不行?
展开
 我来答
qyq592140
推荐于2019-08-01 · TA获得超过9811个赞
知道小有建树答主
回答量:106
采纳率:100%
帮助的人:3.1万
展开全部

只要tset是boolean类型,那么if(test=true)和if(test==true)都可以运行,只不过运行的意义不一样。

if(test=true)这是在为test赋值,把test赋值为true,不管test原来的值是true还是false,都可以执行if里

面的代码,并且test的值变为true了,不再是原来的值。

if(test==true)这纯粹是把test与true对比,如果test原来的值为true,就可以执行if里面的代码,否则不

行,并且test的值不会改变。 还有=是赋值,而==则是比较。

第一种情况:boolean bool = false;if (bool) {System.out.println("Hello World");}//代码不会打印出Hello 

Worldif (bool = true) { //这里bool 已经是trueSystem.out.println("Hello World");}//代码会打印出Hello 

World

第二种情况:boolean bool = true;这样的话结果就没有差别。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式