JAVA学习笔记整理(4)

第4章控制执行流程

1.foreach语法:for(datatype x: f)

foreach语法用于数组;

任何一个返回一个数组的方法都可以使用foreach;

foreach还可以用于任何Iterable对象;

示例:

public class ForEachString {

public static void main(String[] args)

{

for(char c: "I am a newbiew of Java".toCharArray())

System.out.print(c + " ");

}

}

结果:

I a m a n e w b i e w o f J A V A

2.标签

goto仍然是JAVA中的一个保留字,但在语言中并未使用它;JAVA中没有goto。

JAVA有类似goto的机制:标签

label1:

outer-iteration {

inner-iteration{

//...

break; //(1)

//...

continue; //(2)

//...

continue label1; //(3)

//...

break label1; //(4)

}

}

在(1)中,break中断内部迭代,回到外部迭代;

在(2)中,continue使执行点回到内部迭代的起始处;

在(3)中,continue label1同时中断内部迭代以及外部迭代,直接转到label1处,随后,从外部迭代开始继续迭代过程;

在(4)中,break label1会中断所有迭代,回到label1处,但并不重新进入迭代;

示例

import static net.mindview.util.Print.*;

public class LabelFor {

public static void main(String[] args) {

int i = 0;

outer:

for (; true ;) {

inner:

for (; i

print ("i = " + i);

if (i == 2) {

print("continue");

continue;

}

if (i == 3) {

print("break");

i++;

break;

}

if (i == 7) {

print("continue outer");

i++;

continue outer;

}

if (i == 8) {

print("break outer");

break outer;

}

for (int k = 0; k

if (k == 3) {

print("continue inner");

continue inner;

}

}

}

}

print("Byebye, finished");

}

}

结果:

i = 0

continue inner

i = 1

continue inner

i = 2

continue

i = 3

break

i = 4

continue inner

i = 5

continue inner

i = 6

continue inner

i = 7

continue outer

i = 8

break outer

Byebye, finished

同样的规则适用于while:

一般的continue会退回最内层循环的开头,并继续执行;

带标签的continue会达到标签的位置,并重新进入紧跟在标签后面的循环;

一般的break会中断并跳出当前循环;

带标签的break会中断并跳出标签所指的循环。

要记住的重点:在JAVA里需要使用标签的唯一理由是因为有循环嵌套存在,而且想存多层嵌套中break或者continue。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzyzjp.html