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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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,两个运行结果都是一样的,那么这两个之间的有什么区别和相同点 ;

18 个回复

倒序浏览
第一个是赋值语句,将false赋值给变量m,而赋值语句本身也是有返回值得,返回值就是赋值的值;后面的一个是比较语句,判断前后是否相同
回复 使用道具 举报
=是赋值语句,==是关系运算符,就是判断左边是否等于右边
回复 使用道具 举报
一个=是赋值,两个=才相当于我们认知中的等于,m=false就是把false赋值给m,结果运行else,m == false是判断m是否等于false,结果是false,所以运行else
回复 使用道具 举报
张宪达 来自手机 中级黑马 2016-4-15 00:06:07
报纸
上面都说的挺对
回复 使用道具 举报
一个是赋值一个是比较是否相等
回复 使用道具 举报
if (m = false) 中的m=false可以看作是条件表达式,if (m = =false)中的m==false就是比较运算符了
回复 使用道具 举报
女神之泪 来自手机 中级黑马 2016-4-15 06:57:35
8#
如果输出的是m,第一个结果是false,第二个是true
回复 使用道具 举报
jwdream 来自手机 中级黑马 2016-4-15 08:24:34
9#
好水啊,我不信你这不知道
回复 使用道具 举报
说的都对
回复 使用道具 举报

说的都对
回复 使用道具 举报
=是赋值的意思,返回赋值的值;==是判断左右两边是否相等
回复 使用道具 举报
=是赋值,,,,==是比较
回复 使用道具 举报
=是赋值语句
==是判断前后是否相同,基础认真学,就知道了,
回复 使用道具 举报
false是布尔类型的,是一个特殊的基本数据类型。可以直接这样赋值使用的
=是赋值语句
==是判断前后是否相同
回复 使用道具 举报
这种是基础的基础,好水
回复 使用道具 举报
一个=是赋值,两个=才相当于我们认知中的等于,m=false就是把false赋值给m,结果运行else,m == false是判断m是否等于false,结果是false,所以运行else
回复 使用道具 举报
第一个“=”是赋值符号,第二个“==”是判断,判断实付相等,相当于算术中的,等号
回复 使用道具 举报
赞同豆豆斌的说法,很好,自己也长见识!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马