Java基础之(八):顺序结构与选择结构

顺序结构

  • Java的基本结构就是顺序结构
  • 顺序结构是最简单的算法结构
  • 它是任何一个算法都离不开的一种基本算法结构。
例子:
public static void main(String[] args) {
        System.out.println("hello1");
        System.out.println("hello2");
        System.out.println("hello3");
        System.out.println("hello4");
        System.out.println("hello5");
    }

选择结构

一、if单选择结构

语法:

if(布尔表达式){
    //如果布尔表达式为true将执行的语句
}
例子:
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:判断字符串是否相等(是一个String的方法)
        if (s.equals("Hello")){
            System.out.println(s);
        }
        System.out.println("End");
        
        scanner.close();
    }
}

二、if双选择结构

if(布尔表达式){
    //如果布尔表达式的值为true
}else{
    //如果布尔表达式的值为false
}
例子:
import java.util.Scanner;

public class ifDemo02 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        //考试大于60分就是及格,小于60分就不及格

        System.out.println("请输入成绩:");
        int score = scanner.nextInt();

        if(score>60){
            System.out.println("及格");
        }else{
            System.out.println("不及格");
        }
        
        scanner.close();
    }
}

三、if多选择结构

if(布尔表达式1){
    //如果布尔表达式1的值为true执行代码
}else if(布尔表达式2){
    //如果布尔表达式2的值为true执行代码
}else if(布尔表达式3){
    //如果布尔表达式3的值为true执行代码
}else{
    //如果以上布尔表达式都不为true执行代码
}
例子:
import java.util.Scanner;

public class ifDemo03 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入成绩:");

        int s = scanner.nextInt();
        if(s==100){
            System.out.println("S");
        }else if(s>=90&&s<100){
            System.out.println("A");
        }else if(s>=80&&s<90){
            System.out.println("B");
        }else if(s>=60&&s<80){
            System.out.println("C");
        }else{
            System.out.println("D");
        }

        scanner.close();
    }
}

四、嵌套的if结构

if(布尔表达式1){
    //如果布尔表达式1的值为true执行代码
    if(布尔表达式2){
    //如果布尔表达式2的值为true执行代码
	}
}
例子:
import java.util.Scanner;

public class ifDemo04 {
    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入成绩:");

        int s = scanner.nextInt();
        if(s>=0&&s<=100){
            System.out.println("A");
            if(s<90){
                System.out.println("B");
                if(s<80){
                    System.out.println("C");
                    if(s<70){
                        System.out.println("D");
                        if(s<60){
                            System.out.println("E");
                        }

                    }

                }
            }
        }
        scanner.close();
    }
}

五、switch多选择结构

switch支持字符串String类型

也支持byte、short、int或者char。

case标签必须为字符串常量或字面量。

这里需要注意一下,如果case语句里没有break,那么就会造成case穿透,即从成功的case语句后的所有语句都会执行。

但是一般我们写程序的时候,基本上能不用break就不用,那么我们如何解决这个问题呢?

其实,Java中所有的选择语句都可以转换为if语句,因此如果必须要用break的时候,那就把switch选择结构转换为if语句就好了。

switch(expression){
   case value:
       //语句
       break;//可选
   case value:
       //语句
       break;//可选
   //你可以有任意数量的case语句
   default://可选
       //语句
}
例子:
public static void main(String[] args) {
        //case穿透:无break
        char grade = 'F';
        switch(grade){
            case 'A':
                System.out.println("优秀");
                break;
            case 'B':
                System.out.println("良好");
                break;
            case 'C':
                System.out.println("及格");
                break;
            case 'D':
                System.out.println("再接再励");
                break;
            case 'E':
                System.out.println("挂科");
                break;
            default:
                System.out.println("未知等级");
        }
    }

posted @ 2021-02-23 15:08  lyl-star  阅读(245)  评论(0编辑  收藏  举报