问答详情
源自:4-4 Java条件语句之嵌套 if

哪里错呢??一定要用equals???

public class HelloWorld {
    public static void main(String[] args) {
        int score = 94;
        String sex = "女";
        
        if(score  >= 80){
            if(sex = "女"){
                System.out.println("达到并加入女子组决赛");
            }else{
                System.out.println("达到并加入男子组决赛");
            }
        }else{
            System.out.println("未达到80分");
        }
        
        
    }
}

提问者:Miydream 2018-10-23 16:53

个回答

  • qq_撒浪嘿呦_inwKX7
    2018-10-23 17:20:27
    已采纳

    从知乎粘过来的。。。

    这个。。。。。
    比如String s = new String("abc");
    String a = "abc"
    此时  a == b   // false
    a.equals(b)   // true

    为毛咧?

    1. 因为==在比较对象的时候,是比较他们是不是引用的同一个对象。

    2. 而equals比较对象的“值”是否相等。

    3. 当然,有些对象的equals函数木有重载,这个时候,也是1的解释。所以。。。你要看看是哪个对象。



    作者:NickZhang
    链接:https://www.zhihu.com/question/21917879/answer/19729042
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • echoside
    2018-11-07 11:37:13

    引用类型比较对象用==,比较值用equals

  • 慕雪0313992
    2018-10-23 17:19:53

    if(sex = "女"){

    改成

    if(sex == "女"){

    =是赋值运算符

    ==是比较运算符

    if后的()的结果应该是Boolean型

  • 我信仰自己
    2018-10-23 17:19:37

    ”=“是赋值的运算符,你换成”==“试试