java基础06:流程控制

发布时间:2024年01月17日

顺序结构

在这里插入图片描述

选择结构

在这里插入图片描述

if单选择结构

在这里插入图片描述
例:

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

        if (s.equals("hello")){
            System.out.println(s);

        }
        System.out.println("end");
        scanner.close();
    }
}

if双选择结构

在这里插入图片描述
例:

public class Demo02 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入成绩");
        if(scanner.hasNextDouble()){
            Double score = scanner.nextDouble();
            if(score>60) {
                System.out.println("及格");
            }
            else{
                System.out.println("不及格");
            }
        }
        scanner.close();
    }
}

if多选择结构

在这里插入图片描述
可以有多个else if,必须在if之后。当其中一个else if为true时,其他的else if直接跳过。最多只有一个else语句,只能出现在最后。

例:

public class Demo03 {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入成绩");
        if(scanner.hasNextDouble()){
            Double score = scanner.nextDouble();
            if(score==100){
                System.out.println("恭喜满分!");
            }
            if(score<100&&score>=90) {
                System.out.println("A");
            }
            if(score<90&&score>=80) {
                System.out.println("B");
            }
            if(score<80&&score>=70) {
                System.out.println("C");
            }
            if(score<70&&score>=60) {
                System.out.println("D");
            }
            if(score<60&&score>=50) {
                System.out.println("E");
            }
            else{
                System.out.println("成绩不合法!");
            }
        }
        scanner.close();
    }
}

嵌套的if结构

在这里插入图片描述

switch 多选择结构

在这里插入图片描述
其中字面量(literal)和变量/常量的区别是,变量/常量常常出现在等式左边,字面量只能出现在等式右边。
如 n=“hello world!”,n就是变量,hello world就是字面量。

  • 在switch中,每个case语句后面需要加上break语句,不然会导致后面所有的case都会被执行,称为case穿透。
  • 通过default来匹配不符合所有case的其他所有情况,类似if中的else。
public class Demo04 {
    public static void main(String[] args) {
        //case穿透 switch 匹配一个具体的值
        char grade ='C';

        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("非法等级");
                break;
        }

循环结构

在这里插入图片描述

While循环

在这里插入图片描述
例:

public class Demo06 {
    public static void main(String[] args) {
        int i=1;
        int sum=0;
        while (i<=100){
            sum+=i;
            i++;
        }
        System.out.println(sum);//输出5050
    }
}

有的时候需要使用死循环,即永远不会结束的循环,如监听。

while(true){
\\方法体
}

do…while循环

在这里插入图片描述

for循环

在这里插入图片描述
for循环与while循环实现同一个功能的对比,for循环更简洁

public class forDemo01 {
    public static void main(String[] args) {
        int a = 1;//初始化条件
        while (a<100){
            System.out.println(a);
            a+=2;//迭代
        }

        System.out.println("while循环结束!");
        
        //for(初始化;布尔值判断;更新迭代)
        for(int i=1;i<100;i+=2){
            System.out.println(i);
        }

        System.out.println("for循环结束!");
    }
}

for循环注意点

  • 最先执行初始化步骤。可以声明一种类型,可初始化一个或多个循环控制变量,也可以是空语句。当全部是空语句时,为死循环。
for(; ;)//死循环
  • 然后,检测布尔表达式的值,如果为true,执行循环体。如果为false,循环终止,开始执行循环体后面的语句。
  • 执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减)
  • 在此检测布尔表达式,循环执行上面的过程。
  • for循环的快捷写法:1000.for 可自动补全为 for(int i=0;i<1000;i++)
    在这里插入图片描述
    在这里插入图片描述

练习题

  • 练习题1

打印一个九九乘法表
在这里插入图片描述
参考答案:

public class forDemo03 {
    public static void main(String[] args) {
        for (int i = 1; i <=9; i++) {
            for (int j = 1; j<=i; j++) {
                System.out.print(i+"*"+j+"="+(i*j)+"\t");
            }
            System.out.println();
        }
    }
}
  • 练习题2

打印一个三角形
 打印一个三角形
参考答案:

public class forDemo05 {
    public static void main(String[] args) {
        for (int i = 0; i <=5; i++) {
            for (int j = 5; j >= i; j--) {
                System.out.print(" ");
            }

            for (int j = 0; j <=i; j++) {
                System.out.print("*");

            }
            for (int j = 1; j <=i; j++) {
                System.out.print("*");

            }
            System.out.println();
        }
    }
}
文章来源:https://blog.csdn.net/weixin_43106505/article/details/135622128
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。