在java中是否有一个标记可以跳过for循环的其余部分? 类似于VB在java中的Continue。
continue;
继续;关键字将在调用时开始下一次迭代
例如
for(int i= 0 ; i < 5; i++){
if(i==2){
continue;
}
System.out.print(i);
}
这将打印
0134
See
文档
试试这个,
如果您想跳过一个特定的迭代,请使用continue。 如果您想跳出即时循环,请使用break 如果有2个循环,外圈和内圈....你想从内循环中跳出两个循环,使用break with label(另一个关于label的问题)。
例子:
继续
for(int i=0 ; i<5 ; i++){
if (i==2){
continue;
}
}
打破
for(int i=0 ; i<5 ; i++){
if (i==2){
break;
}
}
打破标签
lab1: for(int j=0 ; j<5 ; j++){
for(int i=0 ; i<5 ; i++){
if (i==2){
break lab1;
}
}
}
正如在所有其他答案中提到的,关键字continue将跳转到当前迭代的结束。
此外,你可以标记你的循环开始,然后使用continue [labelname];或break [labelname];要控制嵌套循环中发生的事情:
loop1: for (int i = 1; i < 10; i++) {
loop2: for (int j = 1; j < 10; j++) {
if (i + j == 10)
continue loop1;
System.out.print(j);
}
System.out.println();
}
如果您想跳过当前迭代,请使用continue;。
for(int i = 0; i < 5; i++){
if (i == 2){
continue;
}
}
需要跳出整个循环吗?使用打破;
for(int i = 0; i < 5; i++){
if (i == 2){
break;
}
}
如果你需要跳出多个循环,请使用break somlabel;
outerLoop: // Label the loop
for(int j = 0; j < 5; j++){
for(int i = 0; i < 5; i++){
if (i==2){
break outerLoop;
}
}
}
*注意,在这种情况下,你不是在代码中标记要跳转到的点,你是在标记循环!因此,在中断之后,代码将继续循环!
当您需要跳过嵌套循环中的一个迭代时,请使用continue someLabel;,但您也可以将它们全部组合起来。
outerLoop:
for(int j = 0; j < 10; j++){
innerLoop:
for(int i = 0; i < 10; i++){
if (i + j == 2){
continue innerLoop;
}
if (i + j == 4){
continue outerLoop;
}
if (i + j == 6){
break innerLoop;
}
if (i + j == 8){
break outerLoop;
}
}
}
推荐文章
- codestyle;把javadoc放在注释之前还是之后?
- 如何在Spring中定义List bean ?
- 将Set<T>转换为List<T>的最简洁的方法
- 在JavaScript中,什么相当于Java的Thread.sleep() ?
- 使用Java重命名文件
- URL从Java中的类路径加载资源
- .toArray(new MyClass[0]) or .toArray(new MyClass[myList.size()])?
- Hibernate中不同的保存方法之间有什么区别?
- Java 8流和数组操作
- Java Regex捕获组
- Openssl不被视为内部或外部命令
- 如何添加自定义方法到Spring Data JPA
- 如何在Ubuntu中设置Java环境路径
- 无法执行dex:在Eclipse中超过GC开销限制
- 有人能解释一下JPA和Hibernate中的mappedBy吗?