1.循环控制语句
可以在满足循环条件的请款下,反复的执行某一段代码,这段被重复执行的代码被称为循环体语句,需要在合适的时候把循环判断条件修改false,结束循环,否则循环将一直执行下去,形成死循环
1.初始化语句(起点):一条或多条语句,这些语句完成一些初始操作
2.判断条件(终点):这是一个boolean表达式,这个表达式就决定是否执行循环体
3.循环体语句:多次要做的事情
4.控制条件语句(动作):一次循环结束后,下次判断前执行,通过控制循环条件的变量,是循环在合适的时间结束
举例:三圈赛车比赛初始化语句就是定义赛车比赛的初始化圈数(0),循环体语句就是开动汽车,控制条件语句就是每次赛车跑完一圈的时候控制圈数加一,判断条件语句:判断这个圈数是否到达了三圈
循环分为三种:for, while, do…while
2.for循环
for(初始化语句;判断语句;控制条件语句){
循环体语句;
}
执行流程:
1.执行初始话语句
2.执行判断语句,如果true继续执行,如果为false循环结束
3.执行循环体语句
4.执行条件控制语句
5.回到第二步
例:
/*
* 需求:求1-100之间的偶数和
* */
public class ForDeme1 {
public static void main(String[] args) {
int sum = 0;
for(int x=1;x<=100;x++){
// sum = sum+x;
// 判断是否是偶数,如果是我就做加法
if(x%2==0){
sum += x;
}
}
System.out.println(sum);
}
}
/*
* 需求:求1-10之间的数多的和
* 分析:
* 1+2+3+4+5+6+7+8+9+10
* sum for
* 0+1=1
* 1+2=3
* 3+3=6
* 6+4=10
* 10+5=15
* 15+6=21
* 21+7=28
* 28+8=36
* 36+9=45
* 45+10=55
*
* 0+1=1
* 1+2=3
*
*
* 左边的数是从零开始,相加的和
* 右边的数是从1开始,每次加1
*
* 步骤:
* */
public class ForDemo {
public static void main(String[] args) {
int sum = 0;
for(int x=1;x<11;x++){
// sum=sum+x;
sum += x;
}
System.out.println(sum);
}
}
3.while循环
基本格式:
while(判断条件语句){
循环体语句;
}
扩展格式
初始语句
while(判断条件语句){
循环体语句;
控制条件语句;
}
例:
public class WhileDemo {
public static void main(String[] args) {
// int x = 1;
// while(x<11){
// System.out.println("一个老师好帅呀");
// x++;
// }
// 1-10的输出
int x = 1;
while(x<=10){
System.out.println(x);
x++;
}
}
}
while循环和for循环的区别
如果你逍遥在循环结束后,继续使用控制条件的变量,用while
如果没有明确要求,就是用for循环,因为变量及早的从内存中消失,可以提高内存的使用效率
如果明确了范围,用for循环,如果不明确要做多少次,用while循环
4.do…while循环
do…while循环
基本格式:
do{
循环体语句
控制条件语句
}while(判断条件)
例:
public class DoWhileDemo {
public static void main(String[] args) {
int x = 1;
do{
System.out.println(x);
x++;
}while(x>=10);
}
}
5.循环语句的区别
do…while循环至少执行依次循环体,先执行再判断
而for和while循环必须选判断条件是否成立,成立才执行,先判断再执行
优先考虑for,其次考虑while,最后考虑do…while
6.死循环(注意)
一定要注意条件的控制语句的变量不要弄错了,否则容易死循环
三种简单的死循环格式
死循环是要注意的,但是他也有奇效,一般要配合break中断使用,
7.嵌套循环
就是循环语句的循环本身是一个循环语句
补充:print是打印,println是打印换行
外循环控制行,内循环控制列
例1:
/*
* 需求:输出一下形状
* *
* **
* ***
* ****
* *****
*
* 第一个一列...
* 行等于列
* */
public class ForForDemo2 {
public static void main(String[] args) {
for (int x = 0; x < 5; x++) { // 1
for(int y=0;y<=x;y++){// 1
System.out.print("*");
}
System.out.println();
}
}
}
例2:
/*
* 需求:输出九九乘法表
* 1*1=1
* 2*1=2 2*2=4
* 3*1=3 3*2=6 3*3=9
*
* 1*1=1
* 1*2=2 2*2=4
* 1*3=3 2*3=6 3*3=9
*
* 补充:\t tab \r 回车 \n 换行
* */
public class ForForDemo3 {
public static void main(String[] args) {
for (int x = 1; x <= 9; x++) {
for (int y = 1; y <= x; y++) {
// 1*1=1 1+"*"+1+"="+1*1(优先级)
System.out.print(x + "*" + y + "=" + x * y +"\t");
}
System.out.println();
}
}
}
8.控制跳转语句
我想在某个循环满足条件的适合就结束,java提供了break,countinue,return来实现控制语句端的转跳和中断
break:中断
使用场景:
1.switch语句
2.循环语句(加入判断语句)