Java循环控制结构有:For循环,While循环,Do…While循环:
一、For
for循环的表达式一般如下:
for(表达式1;表达式2;表达式3){
循环体;
}
举个栗子你就懂了(求整数1-100之和):
public class test {
public static void main(String[] args) {
int a = 0;
for (int i = 1; i <= 5; i++) {
a += i;
}
System.out.println(a);
}
}
嵌套for循环求九九乘法表:
int sum=0;
for(int i=1;i<=9;i++) {
for (int j = 1; i >= j; j++) {
sum = i * j;
System.out.print(j + "*" + i + "=" + sum + "\t");
}
System.out.println();
二、While
while (condition) {
执行的操作(即循环体)
}
使用while循环一定要保证循环条件有变成false的时候,否则它将成为死循环,无法结束。
while循环的例子如下:
/*计算57是不是素数,使用while循环*/
int a = 57;
while(true){
if(a%2!=0 && a%a!=0){
System.out.println(a+"不是素数");
}else{
System.out.println(a+"是素数");
break;
}
a++;
}
三、Do…while
do…while 循环是 while 循环的变体。在检查while()条件是否为真之前,该循环首先会执行一次do{}之内的语句,然后在while()内检查条件是否为真,如果条件为真的话,就会重复do…while这个循环,直至while()为假。公式为:
do {
执行的操作(即循环体)
}while(conditon);
它与while循环的区别是:do…while循环的循环体一定会至少执行一次。
例子如下:
public class Test {
public static void main(String[] args) {
int index = 1;
do {
System.out.println(index);
index = index + 1;
} while (index <= 10);
System.out.println("DONE");
}
}
输出的结果为:
案例引自百度知道:https://zhidao.baidu.com/question/192098071.html
循环控制关键字有:Break,Return,Continue:
一、break:结束循环
break语句用于完全结束一个循环,跳出循环体。
示例代码:
public class BreakTest {
public static void main(String[] args) {
for(int i=0;i<10;i++) {
System.out.println("i的值为"+i);
if(i==5) {
break;
}
}
}
}
解释:
当i=5时,跳出循环。这个非常简单,可以自己理解一下。
二、Continue:结束本次循环
continue后也可以紧跟一个标签,用于直接跳过标签所标识循环的当次循环的剩下语句,重新开始下一次循环。
示例代码:
public class ContinueTest {
public static void main(String[] args) {
for(int i=0;i<10;i++) {
System.out.println("i的值为"+i);
if(i==5) {
continue;
}
System.out.println("continue后的输出语句");
}
}
}
可自行研究continue后的输出语句是否会被输出。
三、Return:结束方法
return关键字并不是专门用于结束循环的,return的功能是结束一个方法。当一个方法执行到一个return语句时,这个方法将被结束。
但return与continue和break不同的是:return直接结束整个方法,不管这个return处于多少层循环之内。
public class ReturnTest {
public static void main(String[] args) {
for(int i=0;i<10;i++) {
System.out.println("i的值为"+i);
if(i==5) {
return;
}
System.out.println("return后的输出语句");
}
}
}
可自行探究return后的输出语句是否会被输出。
-Over-
软件测试工程师一只,也在不断的学习阶段,平时的小经验不定期分享。
博主经验有限,若有不足,欢迎交流,共同改进~
愿与同在CSDN的你共同进步。
有意可加Q群 908417285 交流学习。