Day08 逻辑结构(switch和增强for)

发布时间 2023-12-04 17:44:36作者: 问稻

1. 知识点

if ,switch, for, while等等和 C++、js等相似,需要注意以下几点:

1.1 有关switch

switch 中的 case value:

  • value 类型可以是 byte , short, int, char。

  • value 类型:string 类型是JDK7才开始支持的

1.2 有关增强for

for (元素类型 变量名 : 需要遍历的数组或集合){//代码}
  • 也称为for-each循环,是一种简化遍历数组和集合元素的语法结构。它可以遍历数组、集合或其他实现l了Iterable接口的数据结构。

  • 增强for循环是只读的,即不能通过它来修改数组或集合中的元素。即增强for循环不能对集合进行修改(添加、删除等)。如果需要在循环过程中对集合进行操作,仍然需要使用迭代器或传统的for循环。

int[] numbers = {1, 2, 3, 4, 5}; 
for (int number : numbers) { 
    System.out.println(number); 
}

1.3 有关带标签的for(像js)

  • 如果我们需要在嵌套的循环中一次跳出多层循环或者跳过当前临近某几层迭代,可以使用带标签的 for 循环。先把要跳转的for 前添加标签,然后 continue 或者 break 后追加该标签即可。
outer://自定义标签名 i
for (int i = 0; i < 10; ++i){
    inner://自定义标签名 j
        for (int j = 0; j < 10; ++j){
           for (int k = 0; k < 2; ++k){
            if (k==1){
                break outer;
                \\原本break只能跳转到inner层,但是追加标签后可以直接跳转到outer层
            }
        }
        }
}


outer://自定义标签名 i
for (int i = 0; i < 10; ++i){
    inner://自定义标签名 j
        for (int j = 0; j < 10; ++j){
      		if (j==1){
                continue outer;
                \\原本continue只能跳过inner层的一轮,但是追加标签后可以直接跳过outer层的一轮
                \\即跳过当前层for 循环的迭代,继续标签层for 循环的迭代
            }
        }
}