02.顺序结构与选择结构

顺序结构

  • java最基本的结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。
  • 顺序结构是最简单的算法结构;

示例1:

public class Example01{
    public static void main(Srting[] args){
        System.out.println("Hello World1");
        System.out.println("Hello World2");
        System.out.println("Hello World3");
        System.out.println("Hello World4");
        System.out.println("Hello World5");
    }
}

没有特别指明,便会按序运行

Hello World1
Hello World2
Hello World3
Hello World4
Hello World5
  • 语句与语句之间,框与框之间是按照从上到下的顺序一步步进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。

选择结构

​ java中有一种特殊的语句称为选择语句,它需要对条件做出判断,从而决定执行哪一行代码。选择结构主要分为if条件语句和switch条件语句。

if条件语句

  • if条件语句分为3种语法格式,每一种格式都有其自身特点。

if语句(单选择结构)

  • if语句是指如果满足某种条件,就会进行某种处理。

语法格式:

if(布尔表达式){		 //如不特别声明,将默认为true
    //如果布尔表达式为true将执行的语句
}

示例2:

import java.util.Scanner;

public class Example02{
    public static void main(Srting[] args){
        Scanner scanner = new Scanner(System.in);
        
        System.out.println("请输入内容:");
        Scanner s = scanner.nextLine();    //接收并保存用户输入数据
        
        //equals:等于的意思  判断字符串是否相等或匹配
        //判断条件是一个布尔值,判断出或者说匹配值相同会反馈true
        //这时将会运行if语句中作用域的代码
        if(s.equals("Hello")){
            System.out.println("输出匹配:"+s);
        }
        System.out.println("mistake");		
        //若用户输出的字符串与判断条件不一,将会跳过if语句直接执行这行代码
        scanner.close();//关闭IO流
    }
}

成功运行代码:

请输入内容:
Hello		//输出内容与if语句声明匹配
输出匹配:Hello
mistake

另一种情况:

请输入内容:
aslkjbfnosnf		//输出内容与if语句声明不一,所以没有执行if语句中的作用域
mistake

if…else语句(双选择结构)

  • if…语句是指如果满足某种条件,就进行某种处理,否则就进行另一种处理。

语句格式:

if(布尔表达式){
    //如果布尔表达式的值为true
}else{
    //如果布尔表达式的值为true
}

​ 问:当考试分数60分是及格,小于60就是不及格

示例03:

import java.util.Scanner;

public class Example03{
    public static void main(Srting[] args){
        Scanner scanner = new Scanner(System.in);
        
        System.out.println("请输入成绩:");
        Scanner score = scanner.nextInt();    //接收并保存用户输入数据
        
        if(score>=60){		//判断用户输入成绩是否大于或等于60
            System.out.println("及格");
        }else{	//如若用户输入的成绩小于60将执行下列代码
            System.out.println("不及格!");
        }
        
        scanner.close();
    }
}    
  • 当判断条件为true时,if后面{}中的执行语句将会执行。
  • 当判断条件为false时,就会执行else后{}的执行语句。

运行代码:

请输入您的成绩:
60
及格
请输入您的成绩:
59
不及格!

if…else if…else语句(多选择结构)

  • if…else if…else语句用于对多个条件进行判断,根据判断结果进行多种不同的处理。

语法格式:

if(布尔表达式){
    //如果布尔表达式1的值为true将执行此行代码
}else{
    //如果布尔表达式2的值为true将执行此行代码
}else{
    //如果布尔表达式3的值为true将执行此行代码
}else{
    //如果布尔表达式4的值为true将执行此行代码
}else{
    //如果以上布尔表达式都不为true将执行此行代码
}

​ 问:如何让学生输入的分数让程序识别出各个分段,并输出不同等级。

示例04:

import java.util.Scanner;

public class Example03{
    public static void main(Srting[] args){
        Scanner scanner = new Scanner(System.in);
        
        System.out.println("请输入成绩:");
        Scanner score = scanner.nextInt();    //接收并保存用户输入数据
        
        if (score==100){
            System.out.println("您输入的成绩是:"+score);
            System.out.println("恭喜此次考试获得满分!");
        } else if (score<100 && score>=90) {
            System.out.println("您输入的成绩是:"+score);
            System.out.println("您的成绩评级是:A级");
        } else if (score<90 && score>=80) {
            System.out.println("您输入的成绩是:"+score);
            System.out.println("您的成绩评级是:B级");
        } else if (score<80 && score>=70) {
            System.out.println("您输入的成绩是:"+score);
            System.out.println("您的额成绩评级是:C级");
        } else if (score<70 && score>=60) {
            System.out.println("您输入的成绩是:"+score);
            System.out.println("您的成绩评级是:D级");
        } else if (score<60 && score>=0) {
            System.out.println("您输入的成绩是:"+score);
            System.out.println("您的成绩不及格!");
        }else {
            System.out.println("您输入的成绩是:"+score);
            System.out.println("您输出的成绩不合法");
        }
        scanner.close();
    }
} 
  • 判断方法与if…else语句相同

运行代码:

请输入您的成绩:
100
您输入的成绩是:100
恭喜此次考试获得满分!
请输入您的成绩:
42
您输入的成绩是:42
您的成绩不合格
请输入您的成绩:
1000
您输入的成绩是:1000
您输出的成绩不合法
  • if语句中至少有一个else语句,else语句在所有的else if语句之后。
  • if语句可以有若干个else if语句,它们必须在else语句之前
  • 一但其中有一个else if语句检测为true,其他的else if以及else语句都将跳过执行
posted @ 2022-10-13 22:45  大脑修理工  阅读(13)  评论(0)    收藏  举报