1.格式:
for(初始化语句;循环判断条件;初始化语句的变化){
循环体语句;
}
2.说明:
1)初始化语句:声明一个变量,用于记录循环次数或记录循环气点
2)循环判断条件:boolean类型表达式,控制循环是否继续执行的条件
3)初始化语句的变化:将初始化语句中声明的变量,向着循环不能执行的方向变化
4)循环体语句:要重复执行的逻辑内容
3.执行流程
1)执行初始化语句
2)计算循环判断条件
3)如果计算为false,就结束for循环
4)如果计算结果为true,就执行循环体语句
5)执行初始化语句的变化
6)回到第二步
示例:
public class Demo02 { public static void main(String[] args) { for(int i = 0;i < 5;i++){ System.out.println("第"+(i+1)+"次执行"); } } }
执行结果:
4.注意事项
1)循环判断条件必须是boolean类型结果
2)左大括号之前,不要有分号,否则for循环无法控制大括号中的语句
3)循环体语句,如果只有一句,那么大括号可以省略。
4)循环变量的增量不一定都是1,而且既可以是正的,也可以是负的
示例:
计算1-100所有偶数的和
public class Demo03 {
public static void main(String[] args) {
int sum = 0;
for(int i = 1;i<=100;i++){
if(i%2==0){
sum += i;
}
}
System.out.println(sum);
}
}
1.格式
初始化语句;
while(循环判断条件){
循环体语句;
初始化语句的变化;
}
2.执行流程:
1)初始化语句
2)计算条件表达式,如果为false,循环直接结束
3)如果为true,执行循环体语句
4)执行初始化语句的变化
5)回到第二步
3.注意事项:
1)条件表达式必须为boolean类型
2)左大括号之前不加分号,否则while大括号无效
3)初始化语句的变化,不要忘记,否则循环停不下来
示例:
public class Demo04 {
public static void main(String[] args) {
int i = 0;
while(i<5){
System.out.println("执行一次程序");
i++;
}
}
}
执行结果:
随机数类
获取随机整数:Random
1.导包:import java.util.Random;
2.创建Random对象
Random r = new Random();
3.调用功能返回一个[o,n-1]的随机数
示例:
import java.util.Random;
public class Demo08 {
public static void main(String[] args) {
Random r = new Random();
int a = r.nextInt(100);
System.out.println(a);
}
}
跳转语句:用于结束循环,控制循环的语句,一共有两个:continue和break
1.continue继续语句
1.1.continue语句
结束本次循环,继续下次循环
//利用continue打印1-100的偶数
public static void main(String[] args) {
for(int i = 1;i<=100;i++){
if(i%2!=0){
continue;
}
System.out.println(i);
}
}
}
执行结果:
2.break终止语句
2.1.break语句:
1)终止switch语句
2)结束当前层次循环
示例:
public class Demo11 {
public static void main(String[] args) {
for(int i = 0;i<5;i++){
System.out.println("执行一次");
if(i==2){
System.out.println("走人");
break;
}
}
}
}
执行结果:
1.死循环:无限循环,循环永远都不停止
2.格式:
1)for语句的死循环:
for(;;){
循环体语句;
}
2)while语句死循环:常用
while(true){
循环体语句;
}
3.死循环的作用
1)在格式上使用了死循环,但是在循环体中,可能出现了需要循环结束的情况,准备了一些跳出、终止循环的跳转语句。
2)在服务器的设计中,希望服务器永远给我们服务下去,所以准备了死循环
4.注意事项:
死循环之后的代码会报错,因为代码永远不会执行到
示例:
public class Demo12 {
public static void main(String[] args) {
/*for(;;){
System.out.println("不停");
}*/
while(true){
System.out.println("不停");
}
}
}
1.嵌套循环:一个循环的循环体是另一个循环。
嵌套循环的总循环次数 = 外循环次数 * 内循环次数;
2.嵌套循环格式:
for(初始化语句1;循环条件2;初始化语句变化7){
for(初始化语句3;循环条件4;初始化语句变化6){
内层循环体5;
}
}
示例:
public class Demo15 {
public static void main(String[] args) {
for(int i=1;i<=4;i++){
for(int j=1;j<=5;j++){
System.out.print("*");
}
System.out.println();
}
}
}
执行结果: