本帖最后由 skyleon 于 2016-10-9 20:55 编辑
这两个运算符本来就有区别啊,难道还分场合的有区别?
首先,"="是赋值运算符,它的作用就是将"="右边的值赋给左边. 它扩展的赋值运算符:+=, -=, *=, /=, %= ,拿+=来说,就是把左边和右边做加法,然后赋值给左边,其余扩展赋值运算符效果以此类推.
其次,"=="是关系(条件或者比较)运算符,这个运算符的作用是判断"=="左右两边的值是否相等,运算结果是布尔(boolean)类型,相等就为true不相等为false.
第一种情况:
if(m = false )在括号内将false赋给布尔类型的变量m,由于if后括号内是false,所以执行else语句,输出false.
第二种情况:
if(m == false )括号内是一个比较表达式,其作用就是比较布尔类型变量m的值和false是否相等,由前面知道m的值为true,显然不相等,比较表达式的结果为false.if后括号内是false,执行else语句,输出false.
虽然两种情况都是由于if(false)执行else语句,输出false,但是if后面的false的来源不同,第一中情况是执行赋值语句直接得到的,第二种情况是执行比较运算后得到的.
|