问答详情
源自:4-3 Java条件语句之多重 if

为什么会输出两个结果呢?

                int age = 65;
		if (age > 60){
			System.out.println("老年");
		}if (age > 40){
			System.out.println("中年");
		}else if(age > 30){
			System.out.println("青年");
		}else if (age >= 18){
			System.out.println("少年");
		}else if (age < 18){
			System.out.println("童年");

输出的结果为:

老年

中年

为什么会输出两个结果呢?不是执行完第一个条件就不会在执行以下的条件了吗?

提问者:时代风云 2016-10-13 14:10

个回答

  • 晴颜
    2016-10-13 14:32:19
    已采纳

    第二个if前面少了else,不然两个if是并排判断的,65满足前两行判断条件,所以会输出两个结果

  • 慕粉零零柒
    2016-10-13 14:17:17

    int age = 65;
               if (age > 60){
                   System.out.println("老年");
               }else if (age > 40){
                   System.out.println("中年");
               }else if(age > 30){
                   System.out.println("青年");
               }else if (age >= 18){
                   System.out.println("少年");
               }else {
                   System.out.println("童年");
       }

    这样写就对了,你的if 语法错了;

  • 馨儿不黑
    2016-10-13 14:15:27

    这个是嵌套if啊,第一个条件符合了,然后再判断第二个,第二个符合也打印,下面的为else,所以下面不执行