循环结构的控制
1,break语句
2,continue语句
3,return语句
break语句;
在Java中,我们可以通过一些语句,比如break,continue,return来控制循环语句的执行;
这里举例下:
我们写一个嵌套循环打印i和j;
1
2
3
4
5
6
7
8
9
10
11
12
13
|
package
com.java1234.chap02;
public
class
Demo17 {
public
static
void
main(String[] args) {
for
(
int
i=
0
;i<
10
;i++){
for
(
int
j=
0
;j<
10
;j++){
System.out.print(
"i="
+i+
" "
+
"j="
+j+
" "
);
}
System.out.println();
}
}
}
|
执行输出:
i=0 j=0 i=0 j=1 i=0 j=2 i=0 j=3 i=0 j=4 i=0 j=5 i=0 j=6 i=0 j=7 i=0 j=8 i=0 j=9
i=1 j=0 i=1 j=1 i=1 j=2 i=1 j=3 i=1 j=4 i=1 j=5 i=1 j=6 i=1 j=7 i=1 j=8 i=1 j=9
i=2 j=0 i=2 j=1 i=2 j=2 i=2 j=3 i=2 j=4 i=2 j=5 i=2 j=6 i=2 j=7 i=2 j=8 i=2 j=9
i=3 j=0 i=3 j=1 i=3 j=2 i=3 j=3 i=3 j=4 i=3 j=5 i=3 j=6 i=3 j=7 i=3 j=8 i=3 j=9
i=4 j=0 i=4 j=1 i=4 j=2 i=4 j=3 i=4 j=4 i=4 j=5 i=4 j=6 i=4 j=7 i=4 j=8 i=4 j=9
i=5 j=0 i=5 j=1 i=5 j=2 i=5 j=3 i=5 j=4 i=5 j=5 i=5 j=6 i=5 j=7 i=5 j=8 i=5 j=9
i=6 j=0 i=6 j=1 i=6 j=2 i=6 j=3 i=6 j=4 i=6 j=5 i=6 j=6 i=6 j=7 i=6 j=8 i=6 j=9
i=7 j=0 i=7 j=1 i=7 j=2 i=7 j=3 i=7 j=4 i=7 j=5 i=7 j=6 i=7 j=7 i=7 j=8 i=7 j=9
i=8 j=0 i=8 j=1 i=8 j=2 i=8 j=3 i=8 j=4 i=8 j=5 i=8 j=6 i=8 j=7 i=8 j=8 i=8 j=9
i=9 j=0 i=9 j=1 i=9 j=2 i=9 j=3 i=9 j=4 i=9 j=5 i=9 j=6 i=9 j=7 i=9 j=8 i=9 j=9
假如我们有一个需求,把第二行 i=1的情况 不输出,这时候,我们可以用到break,结束当前循环;
上代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
package
com.java1234.chap02;
public
class
Demo17 {
public
static
void
main(String[] args) {
for
(
int
i=
0
;i<
10
;i++){
for
(
int
j=
0
;j<
10
;j++){
if
(i==
1
){
break
;
}
System.out.print(
"i="
+i+
" "
+
"j="
+j+
" "
);
}
System.out.println();
}
}
}
|
这里,当i==1的时候,break 结束内层的整个循环;
我们执行输出:
i=0 j=0 i=0 j=1 i=0 j=2 i=0 j=3 i=0 j=4 i=0 j=5 i=0 j=6 i=0 j=7 i=0 j=8 i=0 j=9
i=2 j=0 i=2 j=1 i=2 j=2 i=2 j=3 i=2 j=4 i=2 j=5 i=2 j=6 i=2 j=7 i=2 j=8 i=2 j=9
i=3 j=0 i=3 j=1 i=3 j=2 i=3 j=3 i=3 j=4 i=3 j=5 i=3 j=6 i=3 j=7 i=3 j=8 i=3 j=9
i=4 j=0 i=4 j=1 i=4 j=2 i=4 j=3 i=4 j=4 i=4 j=5 i=4 j=6 i=4 j=7 i=4 j=8 i=4 j=9
i=5 j=0 i=5 j=1 i=5 j=2 i=5 j=3 i=5 j=4 i=5 j=5 i=5 j=6 i=5 j=7 i=5 j=8 i=5 j=9
i=6 j=0 i=6 j=1 i=6 j=2 i=6 j=3 i=6 j=4 i=6 j=5 i=6 j=6 i=6 j=7 i=6 j=8 i=6 j=9
i=7 j=0 i=7 j=1 i=7 j=2 i=7 j=3 i=7 j=4 i=7 j=5 i=7 j=6 i=7 j=7 i=7 j=8 i=7 j=9
i=8 j=0 i=8 j=1 i=8 j=2 i=8 j=3 i=8 j=4 i=8 j=5 i=8 j=6 i=8 j=7 i=8 j=8 i=8 j=9
i=9 j=0 i=9 j=1 i=9 j=2 i=9 j=3 i=9 j=4 i=9 j=5 i=9 j=6 i=9 j=7 i=9 j=8 i=9 j=9
我们发现 i=1的这行 没有输出;
关键break 还有一个break标签 我们可以从内层跳到外层,结束外层循环;
比如我们只需要输出第一行 我们时候可以用标签实现:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
package
com.java1234.chap02;
public
class
Demo17 {
public
static
void
main(String[] args) {
outer:
for
(
int
i=
0
;i<
10
;i++){
for
(
int
j=
0
;j<
10
;j++){
if
(i==
1
){
break
outer;
}
System.out.print(
"i="
+i+
" "
+
"j="
+j+
" "
);
}
System.out.println();
}
}
}
|
输出:
i=0 j=0 i=0 j=1 i=0 j=2 i=0 j=3 i=0 j=4 i=0 j=5 i=0 j=6 i=0 j=7 i=0 j=8 i=0 j=9
continue语句;
continue是结束当前循环,比如我们输出1到10 但是我们需要把3和6剔除,这时候我们可以用continue来实现:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
package
com.java1234.chap02;
public
class
Demo17 {
public
static
void
main(String[] args) {
for
(
int
i=
1
;i<=
10
;i++){
if
(i==
3
|| i==
6
){
continue
;
}
System.out.print(
"i="
+i+
" "
);
}
}
}
|
运行输出:
i=1 i=2 i=4 i=5 i=7 i=8 i=9 i=10
return语句;
return语句的话,比较狠,直接结束方法里的内容执行了。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
package
com.java1234.chap02;
public
class
Demo17 {
public
static
void
main(String[] args) {
for
(
int
i=
0
;i<
10
;i++){
for
(
int
j=
0
;j<
10
;j++){
if
(i==
1
){
return
;
}
System.out.print(
"i="
+i+
" "
+
"j="
+j+
" "
);
}
System.out.println();
}
System.out.println(
"执行到这里"
);
}
}
|
输出:
i=0 j=0 i=0 j=1 i=0 j=2 i=0 j=3 i=0 j=4 i=0 j=5 i=0 j=6 i=0 j=7 i=0 j=8 i=0 j=9