java基础

java基础-day04-分支结构和循环

2021-06-24  本文已影响0人  触手不可及

分支结构和循环

1. 分支结构

1.1 switch - case
switch (/* 选择变量 */) {
    case 常量1:
        处理方式1;
        break;
    case 常量2:
        处理方式2;
        break;
    case 常量3:
        处理方式3;
        break;
    default:
        最终处理方式;
        break;
}
/*
执行流程:
    当程序运行到switch case结构,会拿出switch之后保存选择数据的变量,匹配case之后的常量,找到对应的常量,会执行对应的处理方式,如果没有任何一个case匹配。执行default中的最终处理方式。
    case之后的常量建议数据类型
        int 整型
*/
import java.util.Scanner;

/* switch case演示 */
class Demo1 {
    public static void main(String[] args) {
        // 用于保存用户输入的选择,int数据类型
        int choose = 0;
        Scanner sc = new Scanner(System.in);
        
        System.out.println("1. 红牛");
        System.out.println("2. 二锅头");
        System.out.println("3. 尖叫");
        System.out.println("4. 怡宝");
        System.out.println("5. 百岁山");
        
        choose = sc.nextInt();
        
        switch (choose) {
            case 1:
                System.out.println("1. 红牛 8RMB");
                break;
            case 2:
                System.out.println("2. 二锅头 30RMB");
                break;
            case 3:
                System.out.println("3. 尖叫 4RMB");
                break;
            case 4:
                System.out.println("4. 怡宝 2RMB");
                break;
            case 5:
                System.out.println("5. 百岁山 3RMB");
                break;
            default:
                System.out.println("小店没有...");
                break;
        }
    }
}
1.2 switch - case使用注意事项
1. switch case结构中,能够执行的代码,有且只有case之后,或者default之后的代码。
2. break关键字作用是跳出switch - case结构,代码中有些情况下可以省略break,但是不建议使用。省略break之后,代码会继续运行到下一个break,或者整个switch case 大括号结束代码运行。
3. default处理模块是可以省略的,但是AJCG(阿里巴巴Java开发规范)要求不得省略。default处理模块,可以用于错误信息,异常情况处理,增强代码的健壮性。
4. case选项可以合并,但是不建议这样使用。
5. case选择不得重复,计算机无法选择执行。

2. 循环结构

2.1 为什么要用循环结构
    实际开发中,会存在很多功能代码需要重复使用,重复运行,如果使用CV大法解决问题,会导致代码出现以下一些问题:
    1. 代码过于臃肿
    2. 代码阅读性极差
    3. 代码维护性极差

模块化开发!!!
2.2 while 循环结构
while (/* 循环条件判断 boolean true or false */) {
    // 循环体
    // (循环条件变更)
}
/*
执行流程:
    当前程序运行到while循环结构,首先判断while之后的小括号内容是不是为true,如果为true,执行循环体,直到while之后小括号内容为false,终止循环。
*/
/* while循环结构 */
class Demo3 {
    public static void main(String[] args) {
        int num = 100;
        
        /* Ctrl + C 终止程序运行 */
        while (num > 0) {
            System.out.println("生命之水");
            num -= 1;
        }
    }
}
2.3 do while 循环结构
do {
    // 循环体
    // (循环条件变更)
} while (/* 循环条件判断 boolean true or false */);
/*
执行流程:
    当程序运行到do - while 循环结构,首先不管三七二十一,直接执行一次循环体。然后再来判断while小括号之后的内容是否为true,true继续执行循环体,false终止循环。
*/
/* do while循环结构 */
class Demo4 {
    public static void main(String[] args) {
        int num = 10;
        
        do {
            System.out.println("腹有诗书气自华");
            num -= 1;
        } while (num > 0);
    }
}
2.4 while 和 do while结构对比
while循环 
    每一次循环的执行,都是在循环条件控制范围以内进行的。

do while循环
    第一次执行循环体,是没有任何的条件约束和判断。
    
    两者对比,第一次循环执行 do while是存在隐患的。开发中如果可以使用while循环,尽量不要使用do while来解决问题。
    【已知,可控!!!】
2.5 for 循环结构
for (/* 循环条件初始化 */; /* 循环条件判断 */; /* 循环条件变更 */) {
    // 循环体
}
image.png
/* for循环演示 */
class Demo5 {
    public static void main(String[] args) {
        /*
        通常情况下,for循环中使用的循环变量一般情况下
        i j k l m n 
        */
        for (int i = 0; i < 10; i++) {
            System.out.println(i + " : 注意代码块格式!!!");
        }
    }
}
2.6 break关键字
作用:
    1. 跳出switch case结构
    2. 跳出循环结构
    3. 【要求】有且只能跳出一层结构

    在循环中使用break关键字,是用于在当前循环满足一定条件下,跳出循环,终止当前循环运行。有效的提高程序的运行效率。
class Demo6 {
    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            // == 判断,常量在前,变量在后
            if (5 == i) { // i == 5
                System.out.println("跳出循环");
                break;
            }
            
            System.out.println("i : " + i);
        }
    }
}
2.7 continue关键字
作用:
    跳出本次循环,直接进入下一次循环

continue关键字使用注意事项:
    1. while 和 do while循环结构中,因为continue和循环条件变更前后关系会导致代码出现一定的死循环情况,这里不建议while和do while循环结构中使用continue关键字。
    2. continue关键字在for循环结构中使用,是没有太多的顾虑
    3. continue在实际开发中使用很少
/* continue关键字演示 */
class Demo7 {
    public static void main(String[] args) {
        int num = 10;
        while (num > 0) {
            num -= 1;
            
            if (5 == num) {
                System.out.println("Continue");
                continue;
            }
            
            System.out.println("num : " + num);
        }
        
        num = 10;
        do {
            num -= 1;
            if (5 == num) {
                System.out.println("Continue");
                continue;
            }
            
            System.out.println("num : " + num);
            
        } while (num > 0);
        
        System.out.println("--------------------------------");
        
        for (int i = 0; i < 10; i++) {
            if (5 == i) {
                System.out.println("Continue");
                continue;
            }
            
            System.out.println("i : " + i);
        }
    }
}
上一篇 下一篇

猜你喜欢

热点阅读