JAVA语句中布尔类型的意义

publicclassTestJava3_10{publicstaticvoidmain(Stringargs[]){booleanflag=true;if(flag==... public class TestJava3_10
{
public static void main(String args[])
{
boolean flag = true ;
if (flag==true)
System.out.println("欢迎光临 ");
}
}
这段语句中的if语句,为什么条件要写成flag==true,该怎么理解,网上查了一些,说是为了防止错写成flag=true,造成给flag赋值。但我还是有点不理解,这个==有什么讲究
展开
 我来答
ahcc08
2014-05-03 · 知道合伙人软件行家
ahcc08
知道合伙人软件行家
采纳数:11853 获赞数:51941
拥有丰富的软件开发经验。

向TA提问 私信TA
展开全部
public class TestJava3_10
{
   public static void main(String args[])
   {
       boolean flag = true ;
       // boolean 的判断可以直接这样写
       if (flag)
          System.out.println("欢迎光临 ");
   }
}


== 是比较操作符, =是赋值操作符


一般boolean 的判断直接写成

if (flag) 或者if (!flag)


如果是数字判断

如:如果a = 5;

一般这样写 if (5 == a) {

}

编程的良好习惯是把常量放在等号的左边

因为在编程的时候,容易误写成 if (a = 5) {

},这样写,编译是没有问题的。

这样无论a等于多少,都会走到这个if里,因为这不是比较,而是一个赋值语句。

如果你这样写 if (5 = a) {

}

这样编译就不通过了,你少了一个等号,很容易就检查出来了。

ceast2009
2014-05-03 · TA获得超过134个赞
知道小有建树答主
回答量:201
采纳率:0%
帮助的人:65.2万
展开全部
“==”是比较运算,结果是布尔类型
“=”是赋值运算

如果flag的值等于true的话,那么flag==true这个表达式的值就是true,(其实就是这两个值进行比较),则if里的代码就会执行;你也可以写成if(flag)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天涯孤伤
2014-05-03 · 超过19用户采纳过TA的回答
知道答主
回答量:62
采纳率:100%
帮助的人:24.1万
展开全部
1,Java中对比两个值的时候只有数值类如short,int,long,double,folat和null采用==,
2,一般字符串或者对象使用equal,如str1.equeal(str2),
3,根据上边的代码逻辑,我认为boolean flag = true这一条独立出来是为了复用和方便给flag重新赋值
4,因为实际开发中flag的值可能根据外部条件有不同的变化,以变量形式独立出来可以根据外部条件变化true或者false
5,这样下边的打印语句对应的业务逻辑就可以根据flag判断是否执行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式