死循环
- 在不知道循环次数与天健判断语句时使用
for死循环
格式:
for(;;){
循环体
}
while死循环
while (true) {
循环体
}
do while死循环
do {
循环体
}while (true);
注意:
- 死循环不结束,后面的语句不会执行.
死循环不结束,后面的语句不会执行.
for循环嵌套
for (初始化语句; 条件判断语句; 条年控制语句) {
循环体
for (初始化语句; 条件判断语句; 条件控制语句) {
循环体
}
循环体
}
for循环嵌套小练习
打印小时分钟表
public class Demo02 {
public static void main(String[] args){
for (int hour = 0; hour < 24; hour++) { // 外循环的小时
for (int minute = 0; minute < 60; minute++) { // 内循环的分钟
System.out.println(hour + "点" + minute + "分");
}
}
}
}
Random
- 生成随机数字
- Random的使用
//1.导包
import java.util.Random;
public class Test01 {
public static void main(String[] args) {
//2创建Random对象
Random r = new Random();
//调用方法成随机数
r.nextInt();
}
}
生成指定范围
r.nextInt(范围);
可以是任何范围 ,但是要注意的是 括号中的范围是左闭右开区间
比如说:
r.nextInt(100); 这里的取值范围是0 - 99
如果想生成指定范围 比如说 1 -100
r.nextInt(100) + 1; 因为括号中的范围是0-99 在外面加1 就变成了了1 -100
生成具体的范围公式 例如要生成一个 a - b 的范围
公式为: (b - a + 1) + a
**Random小案例**
```java
/*
程序自动生成一个1-100之间的数字,使用程序实现猜出这个数字是多少?
当猜错的时候根据不同情况给出相应的提示
A. 如果猜的数字比真实数字大,提示你猜的数据大了
B. 如果猜的数字比真实数字小,提示你猜的数据小了
C. 如果猜的数字与真实数字相等,提示恭喜你猜中了
1. 获取随机数
2. 获取键盘录入
3. 比较
4. 猜测比较应该放到循环中
什么循环? 由于不明确循环次数使用while循环
while(guessNumber!=randomNumber) (只要两个数字不想等就继续猜 -> 不好)
*/
public class Test01 {
public static void main(String[] args) {
// 创建随机数对象
Random r = new Random();
// 获取1 ~ 100 之间的随机数
int randomNumber = r.nextInt(100) + 1;
// 两个数字不相等, 就继续猜 (不好有问题, 转变思路)
// 相等了就不猜了
while (true) {
// 创建键盘录入对象
Scanner sc = new Scanner(System.in);
// 猜数字, 获取键盘录入的数字
System.out.println("请输入猜测的数字: ");
int guessNumber = sc.nextInt();
// 判断猜测的数字, 和随机数
if (guessNumber > randomNumber) {
System.out.println("你猜的数据大了!!!");
} else if (guessNumber < randomNumber) {
System.out.println("你猜的数据小了!!!");
} else {
// 相等
System.out.println("恭喜你猜中了!~~~");
// 相等了就不猜了(结束循环)
break;
}
}
}
}