1. 无限循环
又叫死循环, 循环一直不停
1.1 for
java
for(;;){
System.out.println("循环执行一直在打印内容");
}
注意:
-
初始化语句空着不写,表示循环之前不定义任何控制变量
-
条件判断语句空着不写,默认表示true,循环一直进行
-
条件控制语句空着不写,表示每次循环体执行完毕后,控制变量不做任何变化
1.2 while
java
while(true){
System.out.println("循环执行一直在打印");
}
注意:
小括号里面不能省略,true一定要写出来,否则代码会报错
1.3 do...while
java
do{
System.out.println("循环执行一直在打印");
}while(true);
注意:
小括号里面不能省略,true一定要写出来,否则代码会报错
1.4 注意
- 最为常用格式:while
- 无限循环下面不要再写其他代码了,因为永远执行不了
2. 条件控制语句
- break
- continue
2.1 break
不能单独存在的。可以用在switch和循环中,表示结束,跳出的意思
java
//1.吃1~5号包子
for (int i = 1; i <= 5; i++) {
System.out.println("在吃第" + i + "个包子");
//2.吃完第三个的时候就不吃了
if(i == 3){
break;//结束整个循环。
}
}
2.2 continue
不能单独存在的 只能存在于循环当中 表示:跳过本次循环,继续执行下次循环
java
//1.吃1~5号包子
for (int i = 1; i <= 5; i++) {
//2.第3个包子有虫子就跳过,继续吃下面的包子
if(i == 3){
//跳过本次循环(本次循环中,下面的代码就不执行了),继续执行下次循环。
continue;
}
System.out.println("在吃第" + i + "个包子");
}
3. Random
Random跟Scanner一样,也是Java提前写好的类,我们不需要关心是如何实现的,只要直接使用就可以了
3.1 使用步骤
- 导包
java
import java.util.Random;
导包的动作必须出现在类定义的上边。
- 创建对象
java
Random r = new Random ();
上面这个格式里面,只有r是变量名,可以变,其他的都不允许变。
- 生成随机数
java
int number = r.nextInt(随机数的范围);
上面这个格式里面,只有number是变量名,可以变,其他的都不允许变。
随机数范围的特点:从0开始,不包含指定值。比如:参数为10,生成的范围[0,10)
代码示例:
java
//1.导包
import java.util.Random;
public class RandomDemo1 {
public static void main(String[] args) {
//2.创建对象
Random r = new Random();
//3.生成随机数
int number = r.nextInt(100);//包左不包右,包头不包尾
//0 ~ 99
System.out.println(number);
}
}
4. 例题
4.1 输出 100 - 200 内的质数
java
package pratice;
public class prime {
public static void main (String[] args){
//判断100-200之间有多少个素数
for(int i = 100 ; i <= 200; i++){
boolean isPrime = true;
if( i % 2 == 0 ){
isPrime = false;
continue;
}
for(int j =2; j <= Math.sqrt(i); j++){
if(i % j == 0){
isPrime = false;
break;
}
}
if(isPrime){
System.out.println(i + "是素数");
}
}
}
}
4.2 猜数字小游戏
java
//1.生成一个1-100之间的随机数
Random r = new Random();
int number = r.nextInt(100) + 1;// 0 ~ 99 + 1 --- 1 ~ 100
System.out.println(number);
//2.使用键盘录入去猜出这个数字是多少?
Scanner sc = new Scanner(System.in);
while(true){
System.out.println("请输入一个整数");
int guessNumber = sc.nextInt();
//3.比较
if(guessNumber > number){
System.out.println("您猜的数字大了");
}else if(guessNumber < number){
System.out.println("您猜的数字小了");
}else{
System.out.println("恭喜你,猜中了");
break;
}
}