-
堂堂堂堂糖糖糖童鞋
sex="女"是仅仅是赋值操作,而sex=="女"则是比较它们的值是否相等,并且有返回值true/false!就想上面的那样if(sex=="女")是条件判断语句,其条件为true(向下继续执行大括号"{}"里面的语句)/false(执行else部分,或者执行未执行完的其他语句)!
-
古__月
其实这两个都是错误的,sex="女"表示的是将字符串赋值给sex这个变量,得到的不是一个布尔值,所以就不能使用if来实现判断,sex=="女" 表示的是内存地址的比较,这里得到的应该是一个false的值,所以使用If可以使用,但是说到底是没有实现判断内容的,如果你想要看一个内容的比较,那么需要使用equals函数,如:if(sex.equals("女")){ }此时才是判断sex这个变量中的内容是不是"女"
-
cynthiaty
sex="女"只是一条赋值语句;sex=="女"才是条件表达式呀
-
fortunatekiss
=为赋值 ==为判断
-
HENG_Gecco
一个比值,一个比址
-
erutdioup8556
=是赋值 == 是判断
-
erutdioup8556
“=”是赋值的意思,“==”就是等于的意思
-
TheBigBangTheory
= 是赋值操作== 是比较操作
-
shanghai_kunkka
其他的都说了,我补充一点。‘==’比较两个字符串只有在地址相同的情况下才会返回true。String str = "abc";
String anotherStr = str;
String newStr = "abc";
if(str==anotherStr){
// 这时候才会返回true
}
if(str==newStr){
}else{
// 这个判断的结果是false,虽然字符串的内容一样,但是在内存的地址是不同的。
}
-
魔法师李维
这个问题在所有语言中基本都是一致的 = 表示赋值运算,作为运算式则返回值为=号右边的值,比如(b=8)*2=16;==表示一种逻辑判断操作,与大于,小于相似,用户判断 ←==→ 两侧的值是否相同 返回结果是true或者false;这里要注意,如果这么写if(sex=true)是对的,.. 其他都是错的,因为java是强类型的语言,