1. If 单选择结构(单If判断):

语法:

if(布尔值表达式) {
    //布尔值表达式结果为true时,要执行的语句。
}

示例:

ackage com.zctou.structure;

import java.util.Scanner;

public class IfDemo01 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in) ;
        System.out.println("请输入内容: ");
        String s = scanner.nextLine();

        //equals: 判断字符串是否相等用到equals
        if(s.equals("Hello")) {
            System.out.println("Hello");
        }
        System.out.println("End!");
        scanner.close();

    }
}

输出:

ddsf
End!
------
请输入内容: 
Hello 
End!
 
可以看到,程序从上往下顺序执行(顺序结构),只有当s.equals("Hello")true 时,才执行if里面的语句。

2. If 双选择结构(If...Else...)

语法:

if(布尔表达式){
     //布尔值表达式结果为true时,要执行的语句。
} else {
     //布尔值表达式结果为false时,要执行的语句。
}

Java流程控制04 - If选择结构

示例:

package com.zctou.structure;

import java.util.Scanner;

public class IfDemo02 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in) ;
        //
        String status = scanner.nextLine();
        if(status.equals("success")) {
            System.out.println("收购成功,准备向对方支付100W");
        } else {
            System.out.println("收购失败,自己找人开发去吧~!");
        }

        scanner.close();
    }
}

输出:

收购成功请输入: success;收购失败的话你随意!
success
收购成功,准备向对方支付100W
----------
收购成功请输入: success;收购失败的话你随意!
x
收购失败,自己找人开发去吧~!

3. If 多选结构(if...else if... else)

语法:

if (布尔表达式1) {
    //布尔值表达式1结果为true时,要执行的语句。
} else if (布尔表达式2) {
    //布尔值表达式2结果为true时,要执行的语句。
} else if (布尔表达式3){
    //布尔值表达式3结果为true时,要执行的语句。
} else {
    //布尔值表达式1,2,3结果都不为true时,要执行的语句。
}

Java流程控制04 - If选择结构

示例:

package com.zctou.structure;

import java.util.Scanner;

public class IfDemo03 {
    public static void main(String[] args) {
        //if...else if... else 多选结构演示
        Scanner scanner = new Scanner(System.in);

        //定义成绩 score
        double score = 0 ;
        //提示输入成绩:
        System.out.println("请输入一个成绩: ");
        //接收用户成绩,合法输入正常赋值,不合法返回 score = -1;
        if(scanner.hasNextDouble()) {
            score = scanner.nextDouble() ;
        } else {
            System.out.println("输入的是什么鬼!");
            score = -1 ;
        }

        //给成绩分级
        if(score == 100) {
            System.out.println("恭喜你,变身宇宙超人,成绩:" + score);
        } else if (score>=90 && score <100) {
            System.out.println("A级成绩: " + score);
        } else if (score>=80 && score <90) {
            System.out.println("B级成绩: " + score);
        } else if (score>=60 && score <80) {
            System.out.println("C级成绩: " + score);
        } else if (score>=0 && score <60) {
            System.out.println("不及格,成绩: " + score);
        } else {
            //成绩不在0-100范围内,报错
            System.out.println("!!成绩不合法:你不会是火星来的吧?");
        }
            scanner.close();
    }
}

输出:

请输入一个合法的成绩: 
xc22
输入的是什么鬼!
成绩不合法:你不会是火星来的吧?!
----------
请输入一个合法的成绩: 
22
不及格,成绩: 22.0
------------
请输入一个合法的成绩: 
100
恭喜你,变身宇宙超人,成绩:100.0  
可以看到, 一个if 语句只能跟一个 else语句

else if 在if 与 else 语句中间,一旦某个if 或 else if的布尔表达式为真,则执行{}里面的语句,不会再执行其他 if 或else if。