循环语句
for循环
for循环语句是最常用的循环语句,一般用在循环次数已知的情况下。
- 语法格式:
for(初始表达式; 布尔表达式; 更新表达式){
循环体
}
-
执行原理:
初始化表达式,循环条件,更新表达式都不是必须的;(两个分号是必须的)
初始化表达式最先执行,并且在整个for循环当中只执行一次
循环条件必须是布尔表达式,结果只有true和false两种情况 -
执行过程:
最先执行初识表达式,(只执行一次)
判断布尔表达式的结果
若为true则执行循环体
执行更新表达式
判断布尔表达式的结果
······
直到布尔表达式的结果为false是,循环结束
public class Test03 {
public static void main(String[] args)
{
int sum = 0; // 定义变量sum,用于累加
for (int i = 1; i <= 4; i++)// i的值会在1~4之间变化
{
sum += i; // 实现sum与i的累加
}
System.out.println("sum = " + sum); // 打印累加的和,输出结果:sum = 10
}
}
while循环
- 语法结构:
while(布尔表达式){
循环体
}
- 执行原理:
- 判断布尔表达式
- true 执行循环体
- 判断布尔表达式
- true 执行循环体
...
- false 结束循环
- false 结束循环
注意while循环可能一次都不执行
- 无限循环
while(true)
{
System.out.println("无限循环中···");
}
注意在无限循环语句后面的语句永远无法执行到,一次编译器可能会报错
do…while语句
- 语法格式:
do
{
循环语句;
······
}while(布尔表达式);
- 执行过程:
- 执行do内循环体
- 判断布尔表达式
- true
- 执行do内循环体
- 判断布尔表达式
...
- false 循环结束
do … while 循环先执行do内的循环体,因此至少会执行一次
public class Test04
{
public static void main(String[] args)
{
int i = 10;
do
{
System.out.println(i);
i++;
}while(i > 20);
}
}
循环控制语句
break语句
- break 是Java语句当中的关键字,被翻译成“中断/折断”
- break 使用在其后添加 ;,即可单独成为一个完整的Java语句
break;
- break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块
- 在循环中当满足某些条件,就不需要执行后续内容,可以使用 break 跳出循环提高程序效率
- break 跳出最里层的循环,并且继续执行该循环下面的语句(默认只是当前层的循环)
- 跳出指定循环
break 循环名;
示例:
public class Test05
{
public static void main(String[] args)
{
for(int i = 0; i < 10; i++)
{
if (i == 5)
{
break;
}
System.out.println("i -> " + i);
}
System.out.println("-----------------跳出当前的循环-----------------------");
for(int i = 0; i < 10; i++)
{
for(int j = 0; j < 10; j++)
{
if (j == 5)
{
System.out.println("跳出");
break; // 只是跳出当前的循环
}
System.out.print("i -> " + i);
System.out.println(" end j -> " + j);
}
}
System.out.println("---------------跳出指定循环-------------------------");
// for1 和 for2 是为循环命名
for1: for(int i = 0; i < 10; i++)
{
for2: for(int j = 0; j < 10; j++)
{
if (j == 5)
{
System.out.println("跳出");
break for1; // 跳出指定循环for1的循环
}
System.out.print("i -> " + i);
System.out.println(" end j -> " + j);
}
}
}
}
continue语句
- continue 表示:继续/go on/下一个
- 语法格式:
continue;
- continue 适用于任何循环控制结构中,作用是让程序立刻跳转到下一次循环的迭代
- 在 for 循环中,continue 语句使程序立即跳转到更新语句
- 在 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句
示例:
public class Test06
{
public static void main(String[] args)
{
// continue 和 break 区别
System.out.println("------continue------");
for(int i = 0; i < 5; i++)
{
if(i == 1)
{
continue;
}
System.out.println("i --> " + i);
}
System.out.println("------break------");
for(int i = 0; i < 5; i++)
{
if(i == 1)
{
break;
}
System.out.println("i --> " + i);
}
System.out.println("-----------------------");
// continue 也可以跳指定循环
System.out.println("------默认------");
for1: for(int i = 0; i < 5; i++)
{
for2: for(int j = 0; j < 5; j++)
{
if(j == 1)
{
System.out.println("跳出");
continue; // 默认
}
System.out.print("i --> " + i);
System.out.println(" end j --> " + j);
}
}
System.out.println("------指定循环------");
for1: for(int i = 0; i < 5; i++)
{
for2: for(int j = 0; j < 5; j++)
{
if(j == 1)
{
System.out.println("跳出");
continue for1; // 跳指定循环for1
}
System.out.print("i --> " + i);
System.out.println(" end j --> " + j);
}
}
}
}