欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Day07Java流程控制--结构

程序员文章站 2024-01-16 11:03:34
...

顺序结构

  • Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。

  • 顺序结构是最简单的算法结构。

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

选择结构

  1. if单选择结构
  2. if双选择结构
  3. if多选择结构
  4. 嵌套的if结构
  5. switch多选择结构

if单选择结构

  • 我们很多时候需要去判断一个东西是否执行,然后我们才去执行,这样一个过程在程序中用if语句来表示
if(布尔表达式){
    //如果布尔表达式为true将执行语句
}
package com.FlyFish.Struct;

import java.net.SocketTimeoutException;
import java.util.Scanner;

/**
 * @auther FlyFish
 * @company wu
 * @create 2021-03-09 14:04
 */
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(s );
        }
        System.out.println("End");
        scanner.close();


    }
}

If双选择结构

当出现一件事会有成功或者失败2个结果时就需要if-else结果

  • 语法
if(布尔表达式){
    //如果布尔表达式的值为true
}else{
    //如果布尔表达式的值为false
}
package com.FlyFish.Struct;

import java.util.Scanner;

/**
 * @auther FlyFish
 * @company wu
 * @create 2021-03-09 14:15
 */
public class IfDemo02 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入成绩");
        int score = scanner.nextInt();
        if (score>=60){
            System.out.println("及格");
        }else{
            System.out.println("不及格");
        }


        scanner.close();
    }
}

If多选择结构

  • 上面的成绩代码不符合实际情况,真是的情况还可能存在其他等级的评分,存在区间多级判断。比如90-100是A,80-90是B…,在生活中我们很多时候的选择也不仅仅只有两个,所以我们需要一个多选择结构来处理这类问题
  • 语法
if(布尔表达式1){
    //如果布尔表达式1的值为true执行代码
}else if(布尔表达式2){
    //如果布尔表达式2的值为true执行代码
}else if(布尔表达式3){
    //如果布尔表达式3的值为true执行代码
}else{
    //如果以上布尔表达式都不为true执行代码
}
package com.FlyFish.Struct;

import java.util.Scanner;

/**
 * @auther FlyFish
 * @company wu
 * @create 2021-03-09 14:41
 */
public class IfDemo03 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        /*
        if 语句至多又有1个else语句,else语句在所有的else if 语句之后。
        if 语句可以有若干个else if 语句,它们必须在else 语句之前。
        一旦其中一个else if 语句检测为true,其他的else if 以及else 语句都将跳过执行。
         */
        System.out.println("请输入成绩");
        int score = scanner.nextInt();
        if (score==100){
            System.out.println("恭喜满分");
        }else if (score<100 && score>=90){
            System.out.println("A");
        }else if (score<90 && score>=80){
            System.out.println("B");
        }else if (score<80 && score>=70){
            System.out.println("C");
        }else if (score<70 && score>=60){
            System.out.println("D");
        }else if (score<60 && score>=0){
            System.out.println("不及格");
        }else{
            System.out.println("成绩不合法");
        }
        scanner.close();
    }
}

嵌套的if结构

  • 使用嵌套的if…else语句是合法的。也就是说你可以在另一个if或者else if语句中使用if或者else if 语句。你可以像if 语句一样嵌套else if …else。
  • 语法
if(布尔表达式1){
    //如果布尔表达式1的值为true执行代码
    if(布尔表达式2){
        //如果布尔表达式2的值为true执行代码
    }
}

switch多选择结构

  • 多选择结构还有一个实现方式就是switch case 语句。

  • switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

  • switch 语句中的变量类型可以是:

    1. byte、short、int或者char。
    2. 从Java SE 7开始switch 支持字符串String 类型了
    3. 同时case 标签必须为字符串常量或者字面量
  • 语法

    switch(expression){
        case value :
            //语句
            break//可选
        case value :
            //语句
            break//可选
           //你可以有任意数量的case语句
                default://可选
                 //语句
    }
    
    package com.FlyFish.Struct;
    
    import javax.xml.bind.annotation.XmlType;
    
    /**
     * @auther FlyFish
     * @company wu
     * @create 2021-03-09 15:17
     */
    public class SwitchDemo01 {
        public static void main(String[] args) {
            //case 穿透 如果没有break则为输出下面所有的结果 //switch 匹配一个具体的值
            char grade = 'B';
            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;
                default:
                    System.out.println("未知等级");
            }
        }
    }