本来想详细讲下if的,因为很多同学没有接触过编程。但时间关系就不细说了,而且这个东西我们以后到处都使用,所以大家一定会理解的很透彻的。这里就精简点说:

if...else if...的结构:

if(条件1){  // 出现1次

   // 条件满足执行的内容;

}else if(条件2){  // 出现0-n次

   // 不满足条件1,满足条件2时执行的内容

}else{ // 出现0-1次

   //以上条件都不满足时执行的内容

}

举个例子:

我们从键盘录入一个数,如果这个数大于0,则输出正数,如果小于0,则输出负数,如果等于零,输出零。

package day02;
import java.util.Scanner;
public class TestIfExec {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入一个整数:");
        int niInput = scan.nextInt();
        if(niInput>0){
            System.out.println("输入的数为正数");
        }else if(niInput == 0){
            System.out.println("输入的数为0");
        }else{
            System.out.println("输入的数为负数");
        }
    }
}

注意一点,这里判断niInput跟0是否相等,用==

再来看一个例子:

输入年龄,如果大于25,则输出青年人

如果大于45,则输出中年人

如果大于65,则输出老年

按照上面的逻辑,我们得到代码如下:

package day02;
import java.util.Scanner;
public class Age {
    public static void main(String[] args) {
        Scanner scan  = new Scanner(System.in);
        System.out.println("请输入您的年龄:");
        int niAge = scan.nextInt();
        if(niAge>25){
            System.out.println("青年人");
        }else if(niAge>45){
            System.out.println("中年人");
        }else if(niAge>=60){
            System.out.println("老年人");
        }
    }
}

仔细看就会发现:逻辑不对!!

如果我们输入了一个50,我们想得到的是中年人,但是50>25,所以程序就进入了if分支,输出了青年人。

所以我们写程序逻辑一定要正确!!

为了弥补上面的不足,可以更改如下:

package day02;
import java.util.Scanner;
public class Age {
    public static void main(String[] args) {
        Scanner scan  = new Scanner(System.in);
        System.out.println("请输入您的年龄:");
        int niAge = scan.nextInt();
        if(niAge>25 && niAge<=45){
            System.out.println("青年人");
        }else if(niAge>45 && niAge<60){
            System.out.println("中年人");
        }else if(niAge>=60){
            System.out.println("老年人");
        }
    }
}

或者:对于if...else if ,范围小的写上面,范围大的写下面:

package day02;
import java.util.Scanner;
public class Age {
    public static void main(String[] args) {
        Scanner scan  = new Scanner(System.in);
        System.out.println("请输入您的年龄:");
        int niAge = scan.nextInt();
        // 范围小的写上面,范围大的写下面。
        if(niAge>=60){
            System.out.println("老年人");
        }else if(niAge>45){
            System.out.println("中年人");
        }else if(niAge>25){
            System.out.println("青年人");
        }
    }
}