循环语句
1.while循环语句
- while语句也称为条件判断语句,它的循环方式为利用一个条件来控制是否要继续反复执行这个语句
- 语法:
while(条件表达式){
执行语句
} - 执行过程
- 用while循环将整数1~10相加,输出结果。
public class Test4{ // 创建类
public static void main(String args[]) { // 主方法
int x = 1; // 定义int型变量x,并赋给初值
int sum = 0; // 定义变量用于保存相加后的结果
while (x <= 10) {
sum = sum + x; // while循环语句当变量满足条件表达式时执行循环体语句
x++;
}
System.out.println("sum = " + sum); // 将变量sum输出
}
}
2.do…while循环语句
- do…wile循环语句与while循环语句类似,它们之间的区别是while语句为先判断条件是否成立再执行循环体,而do…while循环语句则先执行一次循环后, 再判断条件是否成立。也就是说,do…while循环语句中“{}”中至少执行一次。
- 语法:
do
{
执行语句
}
while(条件表达式); - 区别:
do…while 语句与while语句的一个明显区别是,do…while语句在结尾 处多了一个分号。 - 执行过程
- while语句与do while 语句的区别
public class Test5 {
public static void main(String args[]) {
int a = 100; // 声明int型变量a并赋初值100
while (a == 60) // 指定进入循环体条件
{
System.out.println("ok1"); // while语句循环体
a--;
}
int b = 100; // 声明int型变量b并赋初值100
do {
System.out.println("ok2"); // do…while语句循环体
b--;
} while (b == 60); // 指定循环结束条件
}
}
3.for循环
- for循环是Java程序设计中最有用的循环语句之一.一个 for 循环可以用来重复执行某条语句,直到某个条件满足。
- 语法:
for(表达式1;表达式2;表达式3)
{
语句序列
}
表达式1:初始化表达式, 负责完成变量的初始化。
表达式2:循环条件表达式,值为boolean型的表达式,指定循环条件。
表达式3: 循环后操作表达式, 负责修整变量,改变循环条件。
- 执行过程
在执行for循环时,首先执行表达式1,完成某一变量的初始化工作: 下一步判断表达式2的值,若表达式2的值为true,则进入循环体:在执行完循环体后紧接着计算表达式了,这部分通常是增加或减少循环控制变量的一个表达式。 这样轮循环就结束了。 第二轮循环从计算表达式2开始, 若秋达式2返回true,则继续循环,否则跳出整个for语句。
- 使用for循环来计算2~100之间的所有偶数之和
public class Test6 { // 创建类Circulate
public static void main(String args[]) { // 主方法
int sum = 0; // 声明变量,用于保存各数相加后的结果
for (int i = 2; i <= 100; i += 2) {
sum = sum + i; // 指定循环条件及循环体
}
// 将相加后的结果输出
System.out.println("2到100之间的所有偶数之和为:" + sum);
}
}
循环控制语句
1.break语句
- 使用break语句可以跳出switch结构。循环结构中,同样也可用break语句跳出当前循环,从而中断当前循环。
- 循环嵌套情况下,break语句只会使程序跳出它的最内层的循环结构,只能跳出一层循环
- 如果想要让break跳出外层循环,使用标签功能
标签名:循环体{
break 标签名;
}
标签名: 任意标识符。
循环体: 任意循环语句。
break 标签名: break 跳出指定的循环体,此循环体的标签名必须与break的标签名一致。带有标签的break可以指定跳出的循环,这个循环可以是内层循环,也可以是外层循环。 - 使用break跳出循环
public class BreakTest {
public static void main(String[] args) {
for (int i = 0; i <= 100; i++) {
System.out.println(i);
if (i == 6) {//如果i等于6则跳出循环
break;
}
}
System.out.println("---end---");//显示程序结束
}
}
- 使用带有标签的break跳出循环
public class BreakOutsideNested {
public static void main(String[] args) {
Loop: for (int i = 0; i < 3; i++) {// 在for循环前用标签标记
for (int j = 0; j < 6; j++) {
if (j == 4) {// 如果j等于4的时候就结束外层循环
break Loop;// 跳出Loop标签标记的循环体
}
System.out.println("i=" + i + " j=" + j);
}
}
}
}
2.continue语句
- continue语句是针对break语句的补充。continue 不是立即跳出循环体,而是跳过本次循环结束前的语句,回到循环的条件测试部分,重新开始执行循环。在for循环语句中遇到continue后,首先执行循环的增量部分,然后进行条件测试。在while和do-while循环中,contiue 语句使控制直接回到件测试部分。
- 输出1-20之间的奇数,使用continue跳出循环
public class ContinueTest {
public static void main(String[] args) {
for (int i = 1; i < 20; i++) {
if (i % 2 == 0) {// 如果i是偶数
continue;// 跳到下一循环
}
System.out.println(i);// 输出i的值
}
}
}