转载出处:http://blog.csdn.net/tanxiang21/article/details/20041941
在java中有两种循环语句, for
和while
.
For语句
for循环有三个部分,用分号隔开:
for (int i = 0; i < 3; i++) {}
第一部分在我们进入这段话(循环体)时执行 .
第二部分是一个判断语句, 当返回 true
, 我们就执行括号里(循环体)的内容, 如果返回 false
, 我们就退出循环. 他第一次运行在第一部分运行结束后, 然后等括号内代码运行后以及第三部运行后,再次运行。
第三部分会在每次循环运行的末尾运行.
示例, 这个循环运行 3 次. 分解操作:
int i = 0;
i < 3 // 0 < 3 = true
// 运行括号内容
i++ // i 现在是 1
i < 3 // 1 < 3 = true
// 运行括号内容
i++ // i 现在是 2
i < 3 // 2 < 3 = true
// 运行括号内容
i++ // i 现在是 3
i < 3 // 3 < 3 = false
// 判断语句返回false 跳出循环...
我们去掉第一第三部分(虽然很奇怪), 他们还是会执行循环(需事先定义了变量i 如 int i = 0;):
for (;i < 5;) {}
下面我们用 while
做循环操作
While语句
语法很类似我们先前看到的:
while (条件语句) {}
条件语句会在第一次时执行,然后在括号内容执行完 也就是每个循环结束后 再次执行 。当条件语句返回false时跳出循环.
如果我们想要至少循环一次(也就是至少括号内代码执行一次)
do {
} while(condition);
注意 ;
do-while后面
Foreach语句
另一个版本的 for语句是 foreach. 关键字还是for
, 但是在变量元素集合数组时,可以简单的写成这样,会循环集合或数组大小的次数
int[] arr = {2, 0, 1, 3};
for (int el : arr) {
System.out.println(el);
}
相等于:
int[] arr = {1, 9, 9, 5};
for (int i = 0; i < arr.length; i++) {
int el = arr[i];
System.out.println(el);
}
请注意,如果您要使用循环内的元素的索引,你必须使用较长的版本,不能使用的foreach。
break 和 continue语句
这两个关键字帮助我们控制内部循环. break
将导致循环停止,循环结束后会立即进入下一个语句::
int i;
for (i = 0; i < 5; i++) {
if (i >= 2) {
break;
}
System.out.println("Yuhu");
}
System.out.println(i);
// Output:
// Yuhu
// Yuhu
// 2
continue
将停止当前迭代,并移动到下一个。注意i最后的值为3。
int i;
for (i = 0; i < 5; i++) {
if (i >= 3) {
break;
}
System.out.println("Yuhu");
if (i >= 1) {
continue;
}
System.out.println("Tata");
}
System.out.println(i);
// Output
// Yuhu
// Tata
// Yuhu
// Yuhu
// 3