循环语句,循环控制语句,Random

本文最后更新于:1 年前

十六、循环语句

当我们需要多次执行完全重复的操作或者是多次执行有规律的操作时,我们就可以用循环语句。

在java中有三种循环语句,分别是for循环,while循环,do…while循环。

1. for循环

1.1 格式

1
2
3
for(初始化语句;布尔表达式(条件判断);步进语句){
循环体;
}

例如:

1
2
3
4
5
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
System.out.println(i);//1 2 3 4 5
}
}

1.2 执行流程

​ ①先执行初始化语句,

​ ②然后看布尔表达式的结果,

​ 如果为false 循环结束,

​ 如果为true 执行循环体.

​ ③循环体执行完后执行步进语句.然后继续执行②判断布尔表达式的结果(PS:注意,不是初始化语句)

​ 然后以此类推.

1.3 注意

①初始化语句、布尔表达式、步进语句之间是用分号分隔,而不是逗号。 但是在初始化语句和步进语句部分,我们可使 用一系列由逗号分隔的语句。而且那些语句均会独立执行 。例如:

1
2
3
for(int i = 1,j = 10;i<j;i++,j--){
循环体;
}

②无论初始化语句,布尔表达式,还是步进语句,都可以空着不写,但是分号不能少 。例如:

1
2
3
for(;;){
循环体;
}

③如果在初始化语句中定义了变量,那么该变量只能在循环中使用,循环结束了就出来变量的作用范围

1.4 小思考

​ ①初始化语句会执行几次?

​ 答案: 只有在最开始的时候执行了一次
​ ②什么情况下循环体一次都执行不了?

​ 答案: 如果第一次进行条件判断的时候结果为false则循环体一次都执行不了

1.5 练习

1.输出1~100所有的数

2.输出100~1的所有的数

3.要求求出1~100的和

4.求1~100的偶数和

5.求1~100中既能被3整除又能被5整除的数有多少个

2. While循环

2.1 格式

1
2
3
while(布尔表达式){
循环体;
}

例如:

1
2
3
4
5
6
7
public static void main(String[] args) {
int i = 0;
while (i<=10){
System.out.println(i);//0 1 2 ... 10
i++;
}
}

2.2 执行流程

​ ①看布尔表达式的结果

​ 如果为false循环结束

​ 如果为true,则执行循环体.

​ ②循环体执行完后继续执行①以此类推

3. do…while循环

3.1 格式

1
2
3
do{
循环体;
}while(布尔表达式);

例如:

1
2
3
4
5
6
7
public static void main(String[] args) {
int i = 0;
do{
System.out.println(i);//0 1 2 3 4 ... 10
i++;
}while (i<=10);
}

注意:while小括号后面必须有个分号。

3.2 执行流程

​ ①执行循环体

​ ②然后看布尔表达式的结果

​ 如果为true则继续执行①循环体

​ 如果判断表达式的结果为false则循环结束

​ 以此类推

4. 循环总结

如何选择循环语句:
循环之间其实是都可以相互转换的,所以用哪种循环都可以。但是用的最多的是for循环,如果循环次数已知一般用for. while循环一般在循环次数未知的情况下使用,或者死循环一般都用while循环 do…while循环基本不用

十七、循环控制语句

我们在循环的过程中有的时候可能需要跳过某次或某几次循环、甚至直接结束整个循环。这个时候我们就可以使用循环控制语句。

循环控制语句主要有两个:break,continue

1. break

在循环过程中,碰到break 整个循环 就直接结束

例如:

1
2
3
4
5
6
7
8
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
System.out.println(i);//0 1 2 3 4 5
if(i==5){
break;
}
}
}

注意:break只能出现在循环中或者switch中

2. continue

如果在循环过程中碰到了continue,则 跳过本次循环 , 继续下次循环

1
2
3
4
5
6
7
8
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
System.out.println(i);//0 1 2 3 4 5 6 7 ... 9
if(i==5){
continue;
}
}
}

注意:continue只能出现在循环中 

3. 小练习

下面代码的输出结果

1
2
3
4
5
6
7
8
9
public static void main(String[] args) {
for(int x=1; x<=10; x++) {
if(x%2==1) {
//这里如果写的是break,continue的话分别会输出几次三更草堂

}
System.out.println("三更草堂");
}
}

4. 常见小问题

下面代码的执行结果

1
2
3
4
5
6
7
8
9
int a = 10;
if(a%2==0){
if(a==0){
break;
}
System.out.println("a是偶数");
}else{
System.out.println("a是偶数");
}

答案:直接报错,break只能出现在循环或switch语句中

下面代码会输出哪些数字
代码:

    for(int i=1;i<10;i++){
        if(i%2==0){
            continue;
        }else{
            break;
        }
        System.out.println(i);
    }

答案:因为最后的输出语句永远执行不到,这个时候编译的时候就会报错

十八、循环相关语句-练习题

1.获取10~99(包含10和99)的“总和”与“偶数”的个数,并在控制台打印输出

2.我国最高山峰是珠穆朗玛峰:8848m,我现在有一张足够大的纸张,厚度为:0.01m。请问,我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度?

3.在数学中10!代表10的阶乘。既代表1x2x3x4….x10;现在要求编程求出8!。

4.请输出下列的形状

1
2
3
  *
***
*****

5.打印99乘法表

效果如下:

1
2
3
4
5
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
.....

十九、Random-生成随机数

我们可以通过 Random 类来生成随机数。

1. 使用步骤

由于目前相关语法还没学习,所以先把步骤记住。后面学习了相关语法再来讲解。

1、导包。在定义类的上面写上下面的语句。

1
import java.util.Random;

2、创建对象

1
Random r = new Random();

3、生成随机数

1
int num = r.nextInt(10);//[0,9]

演示:

1
2
3
4
5
6
7
8
9
//导包
import java.util.Random;
public class RandomDemo {
public static void main(String[] args) {
Random r = new Random();
int num = r.nextInt(10)+ 1;//[1,10]
System.out.println(num);
}
}

循环语句,循环控制语句,Random
http://example.com/2020/02/01/循环语句-循环控制语句-Random/
作者
Crush
发布于
2020年2月1日
更新于
2023年7月9日
许可协议