目录
for 循环
-
for 循环格式 :
for(初始化语句; 判断条件; 条件控制语句){ 循环体语句; } 初始化语句 : 定义出变量, 根据这个变量, 来控制循环 判断条件 : 决定循环是否要继续的条件 循环体语句 : 要重复执行的代码逻辑 条件控制语句 : 改变变量的值
-
for 循环执行流程 :
1. 执行初始化语句, 在整个循环过程中, 只执行一次 2. 执行判断条件, 看其返回结果是true, false false : 循环结束 true : 进入第三步 3. 执行循环体语句 4. 执行条件控制语句 5. 回到2继续 for(int i = 1; i <= 5; i++){ System.out.println("你好世界"); }
-
for循环注意事项
-
for 循环 {} 中定义的变量, 在每一轮循环结束后, 都会从内存中释放 (消失)
-
for 循环 () 中定义的变量, 在整个循环结束后, 会从内存中释放 (消失)
-
for 循环 () 和 {} 之间不要写分号
-
因为马虎问题, 造成的无限循环(死循环)
-
idea循环快捷操作:循环次数.fori
-
while 循环
-
格式 :
初始化语句; while(判断条件){ 循环体语句; 条件控制语句; }
-
执行流程 :
注意 : while 循环, 很容易忘记编写条件控制语句
1. 执行初始化语句, 在整个循环过程中, 只执行一次 2. 执行判断条件, 看其返回结果是true, false false : 循环结束 true : 进入第三步 3. 执行循环体语句 4. 执行条件控制语句 5. 回到2继续 int i = 1; while(i <= 100){ System.out.println("你好世界"); i++; }
do…while 循环
-
格式 :
初始化语句; do { 循环体语句; 条件控制语句; }while(判断条件); int i = 1; do { System.out.println("HelloWorld"); i++; }while(i <= 10);
-
执行流程 :
1. 执行初始化语句 2. 执行循环体语句 3. 执行条件控制语句 4. 执行判断条件, 看其返回结果是true, false false : 循环结束 true : 回到第二步继续
-
特点 : 无论判断条件是否满足, 都至少执行一次循环体
三种循环的对比
-
(for, while) : 先判断, 后执行
-
(do...while) : 先执行, 后判断
-
for : 控制循环的变量, 因为归属于for的语法结构中, 在循环结束后, 就不能使用了
for(int i = 1; i <= 5; i++){ } System.out.println(i); // 编译出错
-
while : 控制循环的变量, 不归属于while的语法结构中, 在循环结束后, 可以使用了
int i = 1; while(i <= 10){ System.out.println("abc"); i++; } System.out.println(i); // 11
-
结论 : for循环, 和while循环本质来讲, 没有区别
-
for能够实现的需求, while也能都能实现, 反之也是一样
-
int i = 1; for(; i <= 5; i++){ } System.out.println(i); // 6
跳转控制语句break、continue
-
break : 结束 (循环, switch语句)
-
continue : 跳过
-
注意 : break, continue 下面都不能编写代码, 因为执行不到, 属于无效的代码
-
细节 : 如果遇到了循环嵌套, break, continue 默认只能操作内循环
-
想要操作外部循环, 可以使用标号 (给循环起名字)
-
Random 产生随机数
package com.itheima.test;
import java.util.Random;
import java.util.Scanner;
public class RandomTest {
/*
需求: 实现猜数字小游戏
步骤:
1. 使用Random产生一个1~100之间的随机数, 作为我们要猜的那个数据 ---> randomNum
2. 使用Scanner键盘录入用户猜的数据 ---> scNum
3. 比较
*/
public static void main(String[] args) {
Random r = new Random();
Scanner sc = new Scanner(System.in);
// 1. 使用Random产生一个1~100之间的随机数, 作为我们要猜的那个数据 ---> randomNum
int randomNum = r.nextInt(100) + 1;
while (true) {
// 2. 使用Scanner键盘录入用户猜的数据 ---> scNum
System.out.println("请输入:");
int scNum = sc.nextInt();
// 3. 比较
if (scNum > randomNum) {
System.out.println("猜大了");
} else if (scNum < randomNum) {
System.out.println("猜小了");
} else {
System.out.println("猜中了");
break;
}
}
System.out.println("感谢您的使用, 再见!");
}
}