为了账号安全,请及时绑定邮箱和手机立即绑定

JAVA语言中=和==的区别

JAVA语言中=和==的区别

半盏香茗 2016-02-01 10:54:25
if(sex="女")为什么就不对而if(sex=="女")就对
查看完整描述

11 回答

?
堂堂堂堂糖糖糖童鞋

TA贡献101条经验 获得超58个赞

sex="女"是仅仅是赋值操作,而sex=="女"则是比较它们的值是否相等,并且有返回值true/false!就想上面的那样

if(sex=="女")是条件判断语句,其条件为true(向下继续执行大括号"{}"里面的语句)/false(执行else部分,或者执行未执行完的其他语句)!

查看完整回答
7 反对 回复 2016-02-01
已采纳
?
古__月

TA贡献44条经验 获得超22个赞

其实这两个都是错误的,sex="女"表示的是将字符串赋值给sex这个变量,得到的不是一个布尔值,所以就不能使用if来实现判断,

sex=="女"  表示的是内存地址的比较,这里得到的应该是一个false的值,所以使用If可以使用,但是说到底是没有实现判断内容的,如果你想要看一个内容的比较,那么需要使用equals函数,如:

if(sex.equals("女")){              }

此时才是判断sex这个变量中的内容是不是"女"

查看完整回答
反对 回复 2016-02-01
  • 半盏香茗
    半盏香茗
    IF的括号里只能是布尔值吗
  • 古__月
    古__月
    是啊,因为是if嘛,要么是true,要么就是false,不然用if就没有什么意义了
?
cynthiaty

TA贡献7条经验 获得超4个赞

sex="女"只是一条赋值语句;sex=="女"才是条件表达式呀

查看完整回答
反对 回复 2016-02-04
?
fortunatekiss

TA贡献1条经验 获得超0个赞

=为赋值  ==为判断

查看完整回答
反对 回复 2016-02-01
?
HENG_Gecco

TA贡献7条经验 获得超1个赞

一个比值,一个比址

查看完整回答
反对 回复 2016-02-01
?
erutdioup8556

TA贡献41条经验 获得超27个赞

=是赋值 == 是判断 

查看完整回答
反对 回复 2016-02-01
?
erutdioup8556

TA贡献41条经验 获得超27个赞

“=”是赋值的意思,“==”就是等于的意思

查看完整回答
反对 回复 2016-02-01
?
TheBigBangTheory

TA贡献9条经验 获得超0个赞

//img1.sycdn.imooc.com//56aefd470001329207200404.jpg

= 是赋值操作

==  是比较操作

查看完整回答
反对 回复 2016-02-01
?
shanghai_kunkka

TA贡献2条经验 获得超0个赞

其他的都说了,我补充一点。‘==’比较两个字符串只有在地址相同的情况下才会返回true。

String str = "abc";
String anotherStr = str;
String newStr = "abc";
if(str==anotherStr){
    // 这时候才会返回true
}
if(str==newStr){
}else{
    // 这个判断的结果是false,虽然字符串的内容一样,但是在内存的地址是不同的。
}


查看完整回答
反对 回复 2016-02-02
?
魔法师李维

TA贡献2条经验 获得超0个赞

这个问题在所有语言中基本都是一致的 = 表示赋值运算,作为运算式则返回值为=号右边的值,比如(b=8)*2=16;

==表示一种逻辑判断操作,与大于,小于相似,用户判断 ←==→ 两侧的值是否相同 返回结果是true或者false;

这里要注意,如果这么写if(sex=true)是对的,.. 其他都是错的,因为java是强类型的语言,

查看完整回答
反对 回复 2016-02-01
?
XeonYu

TA贡献12条经验 获得超9个赞

“=”是比较符号,而“==”是赋值符号, sex=“女”是比较sex的值和“女”是否一致,而sex==“女”的意思是将“女”这个值赋给sex这个变量。

查看完整回答
反对 回复 2016-02-01
  • XeonYu
    XeonYu
    额 说反了 =是赋值 ==是判断
  • 堂堂堂堂糖糖糖童鞋
    堂堂堂堂糖糖糖童鞋
    你说的正好相反,按照你所说的,那if(sex=="女")的意思就是“如果将‘女’这个值赋给sex这个变量”?
  • XeonYu
    XeonYu
    上面说了 说反了 不好意思
  • 11 回答
  • 0 关注
  • 2759 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信