|
java基础--循环控制语句
Java 私塾跟我学系列——JAVA 篇 网址:www.javass.cn
循环语句使语句或块的执行得以重复进行。Java 编程语言支持三种循环构造类型:for,while 和 do 循环。for 和 while 循环是在执行循环体之前测试循环条件,而 do 循环是在执行完循环体之后测试循环条件。这就意味着 for 和 while 循环可能连一次循环体都未执行,而 do 循环将至少执行一次循环体。
【1】 for 循环
for 循环的句法是:
for (初值表达式; boolean 测试表达式; 改变量表达式){
语句或语句块
}
例如:
- for (int i = 0; i < 10; i++) {
- System.out.println("Are you finished yet?");
- }
- System.out.println("Finally!");
复制代码 注意:for 语句里面的 3 个部分都可以省略,但是我们不建议这么做。
示例如下:
示例 1:就是一个无限循环
- public class Test {
- public static void main(String[] args) {
- for(;;){
- System.out.println("Java私塾");
- }
- }
- }
复制代码 示例 2:可以省略部分
- public class Test {
- public static void main(String[] args) {
- for(int i=0;;){
- System.out.println("Java私塾"+i);
- }
- }
- }
复制代码 示例 3:可以省略部分
- public class Test {
- public static void main(String[] args) {
- for(int i=0;i<3;){
- System.out.println("Java私塾"+i);
- }
- }
- }
复制代码 示例 4:可以省略部分
- public class Test {
- public static void main(String[] args) {
- for(int i=0;;i++){
- System.out.println("Java私塾"+i);
- }
- }
- }
复制代码 当然还有其他的组合方式,都是可以的。
【2】 while 循环
while 循环的句法是:
while (布尔表达式) {
语句或块
}
例如:
- int i = 0;
- while (i < 10) {
- System.out.println("Are you finished yet?");
- i++;
- };
- System.out.println("Finally!");
复制代码 请确认循环控制变量在循环体被开始执行之前已被正确初始化,并确认循环控制变量是真时,循环体才开始执行。控制变量必须被正确更新以防止死循环。
【3】do 循环
do 循环的句法是:
do {
语句或块;
}while (布尔测试);
例如:
- int i = 0;
- do {
- System.out.println("Are you finished yet?");
- i++;
- } while (i < 10);
- System.out.println("Finally!");
复制代码 象 while 循环一样,请确认循环控制变量在循环体中被正确初始化和测试并被适时更新。作为一种编程惯例,for 循环一般用在那种循环次数事先可确定的情况,而 while 和 do用在那种循环次数事先不可确定的情况。
do 循环与 while 循环的不同这处在于,前者至少执行一次,而后者可能一次都不执行。
【4】 特殊循环流程控制
下列语句可被用在更深层次的控制循环语句中:
break [标注];
continue[标注];
label: 语句;//这里必须是任意的合法的语句;
break 语句被用来从 switch 语句、循环语句和预先给定了 label 的块中退出,跳出离 break 最近的循环。
continue 语句被用来略过并跳到循环体的结尾,终止本次循环,继续下一次循环。
label 可标识控制需要转换到的任何有效语句,它被用来标识循环构造的复合语句。它类似以前被人诟病的“goto”语句,我们应该尽量避免使用。
例 1:break 的使用
- public class Test {
- public static void main(String[] args) {
- for (int i = 0; i < 10; i++) {
- if (i == 5) {
- break;
- }
- System.out.println("i==" + i);
- }
- }
- }
复制代码 运行的结果:i==0 一直到 i==4
因为当 i==5 的时候,执行 break,跳出 for 循环。
例 2:continue 的使用
- public class Test {
- public static void main(String[] args) {
- for (int i = 0; i < 5; i++) {
- if (i == 3) {
- continue;
- }
- System.out.println("i==" + i);
- }
- }
- }
复制代码 运行的结果:i==0 一直到 i==4,就是不包括 i==3。因为当 i==3 的时候,执行 continue,终止本次循环,继续下一次循环。
例 3:label 的使用
- public class Test {
- public static void main(String[] args) {
- L: for (int i = 0; i < 5; i++) {
- if (i == 3) {
- break L;
- }
- System.out.println("i==" + i);
- }
- }
- }
复制代码 运行的结果是:i==0 一直到 i==2
例 4:label 的使用
- public class Test {
- public static void main(String[] args) {
- for (int i = 0; i < 5; i++) {
- L:if (i == 3) {
- break L;
- }
- System.out.println("i==" + i);
- }
- }
- }
复制代码 运行的结果是:i==0 一直到 i==4 |
|