黑马程序员技术交流社区

标题: 新人求助 [打印本页]

作者: wudongzhe    时间: 2012-11-20 13:07
标题: 新人求助
关于==和=的意思不是很了解(==书面意思 含有两个以上“=”运算符,会从最右方“=”开始处理

public class WhileLx
{
        public static void main(String[] args)
        {
        int b=0;
        for(int a=1;a<=100;a++)
                if (a%6==0)            //这里面的==要是改成=就出错时怎么回事呢?                                        {
                System.out.println("a="+a);
                b++;
                }
                System.out.println("b="+b);
                }
}
作者: 水天    时间: 2012-11-20 14:14
=是赋值运算,就是a%6结果等于0。而==是比较运算,用来判断a%6的结果是不是等于0,等于则为ture,不等于则为false.
作者: wudongzhe    时间: 2012-11-20 16:20
嗯我在研究研究视频教程
作者: 李有    时间: 2012-11-20 17:06
=是赋值运算符,==是比较运算符。 if (a%6==0) 是判断结构,运用的是比较功能 ,这里面的==要是改成=肯定就出错了,要注意比较运算符的结果都是boolean型,也就是要么是true,要么是false。
作者: 初艳春    时间: 2012-11-20 17:31
if (a%6==0)            //这里是条件判断。意思是a%6是否等于0   要用 比较运算符  ==
作者: 聽聽我dē❤    时间: 2012-11-20 18:46
   if (a%6==0)
这里判断是a与6求余是否等于0,在编程语言中“==”才是等于号,“=”是赋值号,不是等于号,所以这里要判断的是否等于不是赋值运算。
作者: 张得贵    时间: 2012-11-20 19:08
1,在a%6==0,中==是个布尔运算符,意思就是a%6是不是等于0,是就返回一个true,不是就返回false。
  而在a%6=0中,=是一个赋值运算符,意思就是把0这个值赋给了a%6,式子的结果就是0。
2.式子所处位置是if()条件表达式中,if语句需要判断括号中的式子是true还是false,以此来判断是否执行下面的代码。
所以,此处应该是==,而不是=
明白为什么错了吧。
作者: wudongzhe    时间: 2012-11-20 19:35
楼上讲的很透彻{:soso_e189:}




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