1、循环语句
循环语句包括:for循环语句、while循环语句、do.....while循环语句。
(1) for循环语句
for (初始化语句; 条件判断语句; 条件控制语句){
循环体语句;
}
初始化语句:控制循环的开始
条件判断语句:控制循环的结束
条件控制语句:控制循环的次数(控制循环从何开始到结束)
程序运行到for语句时
先执行初始化语句,然后经过条件判断语句
如果条件判断语句的结果为 false,结束for循环
条件判断语句的结果为 true,执行循环语句体,在执行条件判断语句,
结果为 false,结束for循环语句
结果为 true,执行循环语句体,再执行条件判断语句
依此类推,直到 条件判断语句为 false ,结束for循环语句
for语句实战代码:
// 输出1-10
public class Test01{
public static void main(String[] args){
/*
for (初始化语句; 条件判断语句; 条件控制语句){
循环体语句;
}
*/
// 打印1-10
for (int i=1; i<=10; i++){
System.out.println ( i );
}
}
}
运行结果下图所示:
进阶版的for语句运用:输出
*
***
*****
*******
//实战代码
public class Test05{
public static void main(String[] args){
/*
*
***
*****
*******
第一行 3个空格 1个* 2*1-1
第二行 2个空格 3个* 2*2-1
第三行 1个空格 5个* 2*3-1
第四行 0个空格 7个* 2*4-1
*/
//实现金字塔的*,需要三个for语句
// 第一个for输出换行,第二个for输出空格,第三个for输出*
for (int i=1; i<5; i++){
for(int j=1; j<=4-i;j++){
System.out.print(" ");
}
for(int k=1;k<=2*i-1;k++){
System.out.print("*");
}
System.out.println();
}
}
}
运行结果 截图:
(2)while循环语句
while (条件判断语句){
循环体语句;(条件控制语句;)
}
初始化条件语句是由while语句外面的变量,这里的变量指的是需要进入循环的变量。
执行顺序 :初始化语句——>执行条件判断语句,判断结果为 false 时,直接结束while语句
判断结果为 true 时,执行循环体语句——>执行条件控制语句——>再执行>条件判断语句,判断结果为 false 时
直接结束while语句,判断结果为 true 时,执行循环体语句....... 依此类推直到判断语句的结果为 false,结束
循环。
//实战代码
//打印1-10
public class Test06{
public static void main(String[] args){
//初始化条件
int i = 1;
while(i<=10){
System.out.println ( i ):
//条件控制语句
i++;
}
}
}
运行结果截图:
//进阶实战代码;
//统计1-100之间能被3整除不能被2整除的数的个数
public class Test07{
public static void main(String[] args){
// 初始化语句
int i = 1;
//记录个数
int count = 0;
while(i<=100){
// i%3 是取余数的意思,能被整除,余数为0
// && 逻辑与 两边任意一边或两边的结果false ,只有两边的结果都是true,结果才为true
if( i%3==0 && i%2 != 0){
count++;
}
}
System.out.println ("统计1-100之间能被3整除不能被2整除的数的个数"+count);
}
}
运行结果截图 :
(3)do{...}while()语句
do{...}while()语句 与 while语句相似
do{
循环体语句;(条件控制语句)
} while(条件判断语句)
此处不多说:
for语句和while语句的使用场景:
当题目有明确的循环次数说嘛或有较明确的循环次数,使用for语句(比如,输出1到10的数字),
而while语句刚好相反,在不知道循环次数时使用。(比如,一个打散工的人根据月收入来完成一个小目标存一个亿,此人的月收入不稳定)
2、循环结束语句
循环结束语句:break 、continue、return;
通过一个案例来解释它们的作用
public class Test02{
public static void main(String[] args){
//外循环,输出的是行数
for (int i=1; i<5; i++){
// 内循环,输出的是列数
for(int j=1; j<5; j++){
System.out.print(j);
}
System.out.println();
}
}
}
没有这是没有加循环结束语句的代码运行结果截图:
(1)、break
在内循环的for语句加入 break; 如下图所示
运行结果截图:
可以看到输出四行的1,而 234则不见了,出现这种情况说明外循环不受内循环的 break 的影响
输出了四行,而内循环只输出了 1,说明只执行了 j=1,这一步就跳出了内循环。
所以,break 的生命周期随着内循环的for语句的结束而被销毁。作用是 结束这次往下的循环
(2)continue
在内循环的for中添加 continue 语句
如图所示:
运行程序的结果为
不难发现 ,3 不见了,但是后面的 4 还是输出来了。所以 continue 的作用只是结束这一次循环,而不影响横 剖,后面的循环
(3)、return
跟上面一样将return放入循环里面
运行结果分析:
可以看到,它只输出了 12,不难发现它是一行两列。说明外循环只执行了一次,内循环执行了两次
return 的作用是 结束方法(main()方法)。