🍼1. 循环细节
🥢1.1 循环语句-dowhile循环
完整格式
初始化语句; do { 循环体语句; 条件控制语句; }while(条件判断语句);
执行流程
🍁① 执行初始化语句
🍁② 执行循环体语句
🍁③ 执行条件控制语句
🍁④ 执行条件判断语句,看其结果是true还是false
如果是false,循环结束 如果是true,继续执行
🍁⑤ 回到②继续
示例代码
public class DoWhileDemo { public static void main(String[] args) { //需求:在控制台输出5次"HelloWorld" //for循环实现 for(int i=1; i<=5; i++) { System.out.println("HelloWorld"); } System.out.println("--------"); //do...while循环实现 int j = 1; do { System.out.println("HelloWorld"); j++; }while(j<=5); } }
🥢1.2 三种循环的区别
- 🍁三种循环的区别
- for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)
- do…while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)
- 🍁for循环和while的区别
- 条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了
- 条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用
- 🍁死循环(无限循环)的三种格式
1. for(;;){} 2. while(true){} 3. do {} while(true);
🥢1.3 跳转控制语句
- 跳转控制语句(break)
- 跳出循环,结束循环
- 跳转控制语句(continue)
- 跳过本次循环,继续下次循环
- 注意: continue只能在循环中进行使用!
🍼2. Random
🥢2.1 Random产生随机数
概述:
- Random类似Scanner,也是Java提供好的API,内部提供了产生随机数的功能
- API后续课程详细讲解,现在可以简单理解为Java已经写好的代码
示例代码:
import java.util.Random; /* Random : 产生随机数 1. 导包 : import java.util.Random; 导包的动作必须出现在类定义的上面 2. 创建对象 : Random r = new Random(); 上面这个格式里面,r 是变量名,可以变,其他的都不允许变 3. 获取随机数 : int number = r.nextInt(10); //获取数据的范围:[0,10) 包括0, 不包括10 上面这个格式里面,number是变量名,可以变,数字10可以变。其他的都不允许 变 需求: 产生随机数1-10之间的 */ public static void main(String[] args){ // 2. 创建对象 Random r = new Random(); for(int i = 1; i <= 10; i++){ // 3. 获取随机数 int num = r.nextInt(10) + 1; // 1-10 System.out.println(num); } }
🥢2.2 Random练习-猜数字
需求:
程序自动生成一个1-100之间的数字,使用程序实现猜出这个数字是多少?
当猜错的时候根据不同情况给出相应的提示
🍁A. 如果猜的数字比真实数字大,提示你猜的数据大了 🍁B. 如果猜的数字比真实数字小,提示你猜的数据小了 🍁C. 如果猜的数字与真实数字相等,提示恭喜你猜中了
示例代码:
需求:程序自动生成一个1-100之间的数字,使用程序实现猜出这个数字是多少? 当猜错的时候根据不同情况给出相应的提示 如果猜的数字比真实数字大,提示你猜的数据大了 如果猜的数字比真实数字小,提示你猜的数据小了 如果猜的数字与真实数字相等,提示恭喜你猜中了 🍸1. 准备Random和Scanner对象, 分别用于产生随机数和键盘录入 🍸2. 使用Random产生一个1-100之间的数, 作为要猜的数 🍸3. 键盘录入用户猜的的数据 🍸4. 使用录入的数据(用户猜的数据)和随机数(要猜的数据)进行比较, 并给出提示 🍸5. 以上内容需要多次进行, 但无法预估用户输入几次可以猜测正确, 使用while(true)死循环 包裹 🍸6. 猜对之后, break结束.
import java.util.Scanner; import java.util.Random; public class Test { public static void main(String[] args){ // 1. 准备Random和Scanner对象, 分别用于产生随机数和键盘录入 Random r = new Random(); Scanner sc = new Scanner(System.in); // 2. 使用Random产生一个1-100之间的数, 作为要猜的数 int randomNum = r.nextInt(100) + 1; // 5. 以上内容需要多次进行, 但无法预估用户输入几次可以猜测正确, 使用while(true)死 循环包裹 while(true){ // 3. 键盘录入用户猜的的数据 System.out.println("请输入您猜的数据:"); int num = sc.nextInt(); // 4. 使用录入的数据(用户猜的数据)和随机数(要猜的数据)进行比较, 并给出提示 if(num > randomNum){ System.out.println("猜大了"); }else if(num < randomNum){ System.out.println("猜小了"); }else{ // 6. 猜对之后, break结束. System.out.println("恭喜,猜中了"); break; } } System.out.println("感谢您的使用"); } }