有if无else是什么情况?

来源:4-4 Java条件语句之嵌套 if

weixin_慕丝2561621

2022-08-25 10:38

public class HelloWorld {
    public static void main(String[] args) {
        int score = 94;
        String sex = "女";
        if (score>80){
            System.out.println("进入决赛");
        }
            if (sex.equals("女")){
              System.out.println("进入女子决赛");  
            }
            else{
              System.out.println("进入男子决赛");  
            }
        else{  /**就这行我发现运行会报错有If无else,删掉之后却能够正常运
        行这是为什么呢?而且除此之外删掉else之后的运行结果会将四个结果均显示一遍
        就非常奇怪*/
            System.out.println("未进入决赛");
        }
            if (sex.equals("女")){
              System.out.println("未进入女子决赛");
            }
            else{
              System.out.println("未进入男子决赛");  
            }
        
        
        
        
        
        
        
    }
}


写回答 关注

1回答

  • weixin_慕丝2561621
    2022-08-25 11:02:12

    我的我的突然反应过来了第7和第18行是不应该有“}”的符号的不然就会出现符号混乱,通过删除两段多余的“}”就可以在不删除else的情况下分类输出是否进入决赛以及是否进入对应的女子决赛的信息。所以如果既要打印进入决赛又要打印进入女子决赛的结果应该如下(如果要只输出或打印进入女子决赛的信息只要删除if判断句以及else输出句子之后的打印结果即可,也就是结果仅为进入女子决赛)

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


Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165172 学习 · 17581 问题

查看课程

相似问题

else if和if

回答 3

if(){}else{}

回答 2

if else

回答 3

if else

回答 2