Java 8跳过本次循环、继续执行以及跳出循环的代码实例
Java 8中有多种循环方式,其中包括老式的for循环、高级的for each循环和Java 8出的foreach循环。今天我们将讨论如何在Java 8中跳过本次循环、继续执行和跳出循环。
跳过本次循环
在Java 8的foreach循环中,使用return语句可以跳过本次循环,但是这只会跳过当前循环,而不会跳出整个foreach循环。例如:
```java
private static void continueForeachJava8(int max, List<String> list) {
list.forEach(s -> {
if (s.length() >= max) {
return;
}
System.out.println(s);
});
}
```
在上面的代码中,如果字符串的长度大于或等于max,则跳过当前循环,不打印该字符串。
跳出foreach循环
要跳出Java 8的foreach循环,可以使用Optional和Stream API。例如:
```java
private static void breakForeachJava8(int max, List<String> list) {
Optional<String> result = list.stream().filter(s -> s.length() >= max).findFirst();
System.out.println(result.orElse(null));
boolean lxk = list.stream().anyMatch(s -> s.length() >= max);
System.out.println(lxk);
}
```
在上面的代码中,我们使用了Stream API来检查列表中的字符串是否满足某个条件,如果满足,则跳出foreach循环。
跳出for循环
在Java 8的for循环中,可以使用break语句跳出循环。例如:
```java
private static void breakFor(int max, List<String> list) {
for (String s : list) {
if (s.length() >= max) {
break;
}
System.out.println(s);
}
}
```
在上面的代码中,如果字符串的长度大于或等于max,则跳出for循环,不再继续执行for循环中的代码。
跳出多层for循环
要跳出多层for循环,可以使用标签和break语句。例如:
```java
private static void breakManyFor(int max, List<String> list) {
outer: for (String s : list) {
if (s.length() >= max) {
break outer;
}
System.out.println(s);
}
}
```
在上面的代码中,我们使用了标签outer来标记外层循环,然后使用break语句跳出外层循环。
Java 8提供了多种方式来跳过本次循环、继续执行和跳出循环,我们可以根据不同的需求选择合适的方式。