顺序结构
if结构_
if(关系表达式){
语句体;
}
- 首先计算关系表达式的结果(True 或 False)
- 如果为True 则执行语句体中的内容
- 如果为False 则不执行语句体的内容程序继续向下执行
- 执行完整个if结构,程序会继续往下执行
if…else结构_
if(关系表达式){
语句体1;
}else{
语句体2;
}
- 首先计算关系表达式的结果(True 或 False)
- 为True 则执行语句体1
- 为False 则执行语句体2
if…else if…else结构_
if(关系表达式1){
语句体1;
}else if(关系表达式2){
语句体2;
}
...
else if(关系表达式n){
语句体n;
}else{
语句体n+1;
}
- 首先计算关系表达式1的结果
- 如果结果为true就执行语句体1,如果为false就计算关系表达式2
- 如果结果为true就执行语句体2,如果为false就计算关系表达式3
- …
- 如果所有的关系表达式的结果为false,那么就执行语句体n+1
switch语句_
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
…
default:
语句体n+1;
[break;]
}
- 计算表达式的值
- 把表达式的值依次和case后面的值做比较,有对应的值就会执行对应的语句,直到遇到break结束
- 如果所有的case后面的值都不和表达式匹配,那么就执行default里面的语句
循环结构
for循环_
for(初始化语句1;条件判断语句2;条件控制语句3){
循环体语句4;
}
第一次循环:
- 首先执行初始化语句1
- 再执行条件判断语句2
- 如果为True则执行循环体语句4
- 最后执行条件控制语句3
第二次循环:
- 再次判断件判断语句2
- 如果为True则执行循环体语句4
- 再执行条件控制语句3
- 直到条件判断语句2为False
while结构_
初始化语句1;
while(条件判断语句2){
循环体语句4;
条件控制语句3;
}
第一次循环:
- 先初始化语句1
- 判断条件判断语句2
- 为True 则执行循环体语句4 和条件控制语句3
第二次循环:
- 判断条件判断语句2
- 为True 则执行循环体语句4 和条件控制语句3
- 直到判断条件判断语句2为False
do…while结构
初始化语句1;
do{
循环体语句4;
条件控制语句3;
}while(条件判断语句2); // 注意:do...while 语句最后以;号结尾
第一次循环:
- 先初始化语句1
- 执行循环体语句4 和条件控制语句3
- 再判断条件判断语句2
- 判断条件为True 则执行循环体语句4 和条件控制语句3
第二次循环:
- 判断条件判断语句2
- 为True 则执行循环体语句4 和条件控制语句3
- 直到判断条件判断语句2为False
** do … while 语句无论条件成不成立都会执行一次
三种循环的区别_
- for和while是先判断后执行
- do…while先执行一次,再判断是否执行
跳转控制语句_
- break :跳过整个循环
- continue :跳过本次循环,继续下一次循环
for( ; ; ){
break; // 跳过整个循环
continue; // 跳过本次循环,继续下一次循环
}
循环嵌套_
- 一个循环的循环体包含另一个循环
for(初始化语句;条件判断语句;条件控制语句){
for(初始化语句;条件判断语句;条件控制语句){
循环体;
}
}
Random_
import java.util.Random;
public class RandomDemo {
public static void main(String[] args) {
//创建对象
Random r = new Random();
//用循环获取10个随机数,随机数的范围是: [0,10),包含0,不包含10
for(int i=0; i<10; i++) {
//获取随机数
int number = r.nextInt(10);
//输出随机数
System.out.println("number:" + number);
}
- 导包:
import java.util.Random;
- 创建对象:
Random r = new Random();
- 生成随机数:
int num = r.nextInt(整数n);
生成的随机数范围是: [0,n) 包含0,不包含n
- 规律: 生成[n,m]之间的数,包含n,包含m,那么就可以写
int num = r.nextInt(m-n+1) + n;