switch、for循环、增强for循环、while循环、 do...while循环、break关键字、continue关键字

switch、for循环、增强for循环、while循环、 do…while循环、break关键字、continue关键字

  • switch

     switch格式:
     switch(表达式) {
           case 目标值1:
           执行语句1;
           break;
           case 目标值2:
           执行语句2;
           break;
           ...
           case 目标值n:
           执行语句n;
           break;
           default:
           执行语句n + 1;
           break;
     }
     ​
     格式解释:
     表达式:表达式的结果只能是byte,short,char,int类型。JDK5之后枚举。JDK7之后的字符串。
           这个表达式可以是一个常量,也可以是一个变量。
     目标值:用来和表达式的结果进行匹配,如果目标值和表达式的结果一直,表示可以匹配。
     break:用来跳出switch语句,当代码执行到break,会直接结束整个的switch语句。
     default:如果所有的目标值都和表达式的结果不一样,那么代码会执行default中的内容。
     
     执行流程:
     1. 先计算表达式的结果
     2. 使用表达式的结果和每一个case后面的目标值进行匹配。
     3. 哪个case匹配成功了,那么就执行哪个case后面的执行语句,遇到break会跳出整个的switch语句。
       如果所有的case都没有匹配成功,那么代码会执行default
    
  • for循环

     格式:
     for (初始化语句; 条件判断语句; 条件控制语句) {
           循环体语句;
     }
     格式解释:
     初始化语句:一般会在这个位置定义变量并且给变量赋值
     条件判断语句:用来决定循环是否继续执行。如果结果是true,循环继续执行,如果该结果是false,循环结束
     循环体语句:重复做的事情
     条件控制语句:我们一般会在这个位置对初始化语句位置定义的变量进行改变。
     执行流程:
     1. 执行初始化语句
     2. 执行条件判断语句,如果结果是false,那么跳出循环(循环结束),如果结果是true,执行第3步
     3. 执行循环体
     4. 执行条件控制语句
     5. 执行第2步
    
  • 增强for循环
    在JDK5的时候,多了一个新的遍历方式,叫做增强for(foreach)遍历,可以遍历数组或者集合。

     增强for的格式:
     	for(数据类型 变量名 : 容器名) {
     		//...
     	}
     解释;
     	数据类型:容器中保存的是什么类型的数据,那么这个数据类型就写什么
     	变量名:这个变量表示的是容器中的每一个元素。
     	容器名: 可以是数组,也可以是集合。
     
     
     增强for的优缺点:
         优点: 不需要关注索引了,写法更加的简洁。
         缺点: 无法在遍历的过程中获取索引,如果要在遍历的过程中操作索引,还需要使用普通for循环。
        
           增强for是一种语法糖,语法糖指的是本质没有变,只不过写法更加的简洁了。
     		增强for遍历数组,本质还是使用的普通for循环。
     		    增强for遍历集合,本质是迭代器遍历。
    

增强for遍历数组:

 public static void main(String[] args) {
        //创建数组
        int[] intArr = {11, 22, 33, 44, 55};
        //使用增强for遍历数组
        for (int num : intArr) {
            //num表示数组中的每一个元素
            System.out.println(num);
        }

        System.out.println("=============================");

        //创建数组
        double[] doubleArr = {10.1, 20.2, 30.3, 40.4, 50.5};
        //使用增强for遍历数组
        for (double num : doubleArr) {
            System.out.println(num);
        }

        System.out.println("============================");

        //创建数组
        int[] arr = {10, 20, 30, 40, 50};
        //使用增强for遍历数组,拿到数组中的每一个元素并将该元素改为原来的2倍,结果未改变,是因为增强for遍历数组,本质还是使用的普通for循环。通过反编译可以看出来,建下图
        for (int num : arr) {
            //将每一个元素都改为原来的2倍
            num *= 2;
        }

        //遍历数组并输出每一个元素
        for (int num : arr) {
            System.out.println(num);
        }
    }

结果:
11
22
33
44
55
=============================
10.1
20.2
30.3
40.4
50.5
============================
10
20
30
40
50

Process finished with exit code 0

在这里插入图片描述
增强for遍历集合:

/*
    使用增强for遍历集合

    格式:
        for (数据类型 变量名 : 集合名) {
            ...
        }

    增强for遍历集合,本质是迭代器遍历。

    增强for的优缺点:
        优点: 省去了对索引的操作,语法简洁。
        缺点: 不能操作索引,如果要在遍历的过程中操作索引,还需要使用普通for循环。
 */
public static void main(String[] args) {
        //创建集合
        Collection<String> c = new ArrayList<>();
        //添加元素
        c.add("hello");
        c.add("world");
        c.add("java");
        //使用增强for遍历集合
        for (String s : c) {
            //变量s表示集合中的每一个元素
            System.out.println(s);
        }

        System.out.println("==================================");
        //使用集合保存Person(人)对象并遍历
        //创建集合
        Collection<Person> c2 = new ArrayList<>();
        //添加元素
        c2.add(new Person("张三", 13));
        c2.add(new Person("李四", 14));
        c2.add(new Person("王叔叔", 30));

        //使用增强for遍历集合,输出集合中的每一个Person对象
        for (Person p : c2) {
            //p表示集合中的每一个Person对象
            System.out.println(p);
        }

    }

在这里插入图片描述

  • while循环

     格式:
     初始化语句;
     while(条件判断语句) {
           循环体语句;
           条件控制语句;
     }
     注意:
     初始化语句以及条件控制语句可以省略
     执行流程:
     1. 执行初始化语句
     2. 执行条件判断语句,如果结果是false,那么跳出循环(结束循环),如果结果是true,执行第3步
     3. 执行循环体
     4. 执行条件控制语句
     5. 执行第2步
    
  • do…while循环

     格式:
     初始化语句;
     do {
           循环体语句;
           条件控制语句;
     } while(条件判断语句);
     执行流程
     1. 执行初始化语句
     2. 执行循环体语句
     3. 执行条件控制语句
     4. 执行条件判断语句,如果是false,结束循环。如果是true,就继续执行第2步
    
  • 三种循环的区别

     区别:
     for和while是先判断条件再决定是否执行循环体
     do...while是先执行一次循环体,然后再判断条件。
     三种循环的适用场景:
     for循环:适用于已知循环次数的场景。
     while循环: 适用于未知循环次数的场景。
     do...while循环: 基本不用,了解
    
  • 死循环

     概念:一直停不下来的循环就是死循环。如果让循环条件(条件判断语句)永远为true,那么循环就停不下来类。
     while死循环格式(记住):
     while(true) {
           循环体;
     }
     for死循环格式:
     for(;;) {
           循环体;
     }
    
  • 跳转控制语句

     break关键字
     使用场景:
     1. 可以用在switch语句中
     2. 可以用在循环中
     作用:
     如果循环中遇到break,会直接跳出(结束)循环
     
     continue关键字
     使用场景:
     只能用在循环中
     作用:
     结束本次(轮)循环,直接开始下次循环
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值