黑马程序员全套Java教程_Java基础教程_循环语句(八)
1、for循环语句
1.1 循环结构
- 特征:像风扇扇叶一样,重复做某件事情,且具有明确的开始和停止标志。
- 循环结构的组成及各部分语法:
(1)初始化语句:用于表示循环开启时的起始状态,简单说就是循环开始的时候什么样。这里可以是一条或者多条语句,这些语句可以完成一些初始化操作。
(2)条件判断语句:用于表示循环反复执行的内容,简单来说就是判断循环是否能一直执行下去。这里使用一个结果为boolean类型的表达式,这个表达式能确定是否执行循环体。
(3)循环体语句:用于表示循环往复执行的内容,简单说就是循环反复执行的事情。这里可以是任意语句,这些语句将反复执行。
(4)条件控制语句:用于表示循环执行中每次变化的内容,简单说就是控制循环是否能执行下去。这里通常是使用一条语句来改变量的值,从而达到控制循环是否继续向下执行的效果。常见i++,i–这样的操作。
1.2 for循环语句格式
- 格式:
for(初始化语句;条件判断语句;条件控制语句){
循环体语句;
} - 执行流程
(1)执行初始化语句。
(2)执行条件判断语句,若结果为false,循环结束,反之继续执行。
(3)执行循环体语句。
(4)执行条件控制语句。
(5)回到(2)继续。
1.3 案例:水仙花
- 要求:在控制台输出所有的“水仙花数”。
- 水仙花数:一个三位数,且个、十、百位的数字立方和等于原数。
public class Test02Application {
public static void main(String[] args) {
for (int i = 100; i < 1000; i++){
int ge = i%10;
int shi = i/10%10;
int bai = i/10/10%10;
if (ge*ge*ge+shi*shi*shi+bai*bai*bai == i){
System.out.println(i);
}
}
}
}
2、while循环语句
- 基本格式:
while (条件判断语句) {
循环体语句;
} - 完整格式:
初始化语句;
while (条件判断语句) {
循环体语句;
条件控制语句;
} - 执行流程:
(1)执行初始化语句。
(2)执行条件判断语句,若结果是false,循环结束,反之继续执行。
(3)执行循环体语句。
(4)执行条件控制语句。
(5)回到(2)继续。
3、do…while循环语句
3.1 do…while循环语句格式
- 基本格式:
do {
循环体语句;
}while(条件判断语句); - 完整格式:
初始化语句;
do {
循环体语句;
条件控制语句;
}while(条件判断语句); - 执行流程:
(1)执行初始化语句。
(2)执行循环体语句
(3)执行条件控制语句。
(4)执行条件判断语句,若结果为false,循环结束,反之循环继续执行。
(5)回到(2)继续。
3.2 三种循环的区别
- 三种循环的区别:
(1)for循环和while循环先判断条件是否成立;然后决定是否执行循环体(先判断后执行)。
(2)do…while循环先执行一次循环体,然后判断条件是否成立,是否要继续执行循环体(先执行后判断)。 - for和while的区别:
(1)条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不可能再次被访问到了。
(2)条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构,在while循环结束后,该变量还可以继续使用。 - 死循环格式:for(;😉、while(true){ }、do()while(true);
while循环的死循环是最常用的,命令提示符窗口中Ctrl+C可以结束死循环。
4、控制跳转语句
- continue:在循环体中,基于条件控制(符合特定条件才会进行跳转),跳过某次循环体内容的执行。
- break:用在循环中,基于条件控制,终止循环体内容的执行,也就是说结束当前的整个循环。
5、循环嵌套
- 语句结构:
(1)顺序语句:以分号结尾,表示一句话的结束。
(2)分支语句:
一对大括号表示if的整体结构,整体描述一个完整的if语句。
一对大括号表示switch的整体结构,描述一个完整的switch语句。
(3)循环语句:
一对大括号表示for的整体结构,整体描述一个完整的for语句。
一对大括号表示while的整体结构,整体描述一个完整的while语句。
do…while以分号结尾,整体描述一个完整的do…while语句。 - 任何语句对外都可以看成是一句话,一句代码。
- 分支语句中包含分支语句称为分支嵌套。
- 循环语句中包含循环语句称为循环嵌套。
6、Random
6.1 Random的作用和使用步骤
- 作用:用于产生一个随机数
- 使用步骤:
(1)导包
import java.util.Random;
导包的动作必须出现在类定义的上面
(2)创建对象
Random r = new Random();
上面这个格式里,r是变量名,可以变,其他的都不允许变。
(3)获取随机数
int number = r.nextInt(10);//获取数据的范围:[0,10)
上面这个格式里面,number是变量名,可以变,数字10可以变,其他的都不允许变。