黑马程序员技术交流社区

标题: if (m = false) 和if (m == false) 的两者的区别是什么? [打印本页]

作者: 泪雨星空    时间: 2016-4-14 19:27
标题: if (m = false) 和if (m == false) 的两者的区别是什么?
public class Test {
        public static void main(String[] args) {
                boolean m = true;
                if (m = false) {
                        System.out.println("true");
                } else {
                        System.out.println("false");
                }
        }
}


运行之后的结果是"false",但是把if (m = false) 修改成if (m = =false)之后,运行结果也是false,两个运行结果都是一样的,那么这两个之间的有什么区别和相同点 ;
作者: 豆豆斌    时间: 2016-4-14 23:09
第一个是赋值语句,将false赋值给变量m,而赋值语句本身也是有返回值得,返回值就是赋值的值;后面的一个是比较语句,判断前后是否相同
作者: 晴苑    时间: 2016-4-14 23:14
=是赋值语句,==是关系运算符,就是判断左边是否等于右边
作者: 丶半度微凉    时间: 2016-4-14 23:54
一个=是赋值,两个=才相当于我们认知中的等于,m=false就是把false赋值给m,结果运行else,m == false是判断m是否等于false,结果是false,所以运行else
作者: 张宪达    时间: 2016-4-15 00:06
上面都说的挺对
作者: chenhanwen    时间: 2016-4-15 00:47
一个是赋值一个是比较是否相等
作者: NB的笨小孩    时间: 2016-4-15 06:37
if (m = false) 中的m=false可以看作是条件表达式,if (m = =false)中的m==false就是比较运算符了
作者: 女神之泪    时间: 2016-4-15 06:57
如果输出的是m,第一个结果是false,第二个是true
作者: jwdream    时间: 2016-4-15 08:24
好水啊,我不信你这不知道
作者: 杨伟乔    时间: 2016-4-15 08:29
说的都对
作者: 杨伟乔    时间: 2016-4-15 08:31

说的都对
作者: py389172739    时间: 2016-4-15 08:51
=是赋值的意思,返回赋值的值;==是判断左右两边是否相等
作者: ruigao1993    时间: 2016-4-15 10:58
=是赋值,,,,==是比较
作者: lidandan    时间: 2016-4-15 16:52
=是赋值语句
==是判断前后是否相同,基础认真学,就知道了,

作者: aweilovemusic    时间: 2016-4-15 21:08
false是布尔类型的,是一个特殊的基本数据类型。可以直接这样赋值使用的
=是赋值语句
==是判断前后是否相同
作者: woaikk991100    时间: 2016-4-15 21:20
这种是基础的基础,好水
作者: 心若不动    时间: 2016-4-15 21:42
一个=是赋值,两个=才相当于我们认知中的等于,m=false就是把false赋值给m,结果运行else,m == false是判断m是否等于false,结果是false,所以运行else
作者: 泪无痕    时间: 2016-4-15 21:43
第一个“=”是赋值符号,第二个“==”是判断,判断实付相等,相当于算术中的,等号
作者: 大山的伤    时间: 2016-4-15 22:37
赞同豆豆斌的说法,很好,自己也长见识!




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