一、流程控制分三类
1. 顺序结构
- 程序是从上往下,从左往右执行
2. 选择结构(判断结构)
- if语句
A. if(关系表达式){语句体}
- 执行流程:成立就执行语句体,不成立就不执行
B. if(关系表达式){语句体1}
else{语句体2}
- 执行流程:表达式成立执行语句体1,不成立执行语句体2
C. if(关系表达式1){语句体1}
else if(表达式2){语句体2}
......
else{语句体n+1}
- 执行流程:判断表达式,成立则执行对应语句体,都不成立执行else里语句体
- switch语句
//switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
## 拿表达式(也就是变量)来跟值比较
3. 循环结构
A. for循环
- for(初始化语句;判断条件语句;控制条件语句){
循环体
}
//执行流程:初始化语句(只执行一次的)-》判断条件语句-》成立则执行循环体-》之后执行控制条件语句-》判断条件语句-》不成立则结束循环
B. while循环
- 初始化语句 while(判断条件){循环语句;控制条件语句;}
## 初始化语句可以省略;控制条件语句可以省略
// 执行流程:初始化语句-》判断条件-》成立执行循环语句-》控制条件-》判断条件-》循环-》控制条件-》判断条件不成立,结束
C. do...while循环
- 初始化语句; do{循环体语句;控制条件语句;} while (判断条件语句);
## while小括号后边的;不能省略,do...while循环的循环体语句至少执行一遍
//执行流程:初始化语句-》循环体-》控制语句-》判断语句-》成立执行循环体-控制语句-》不成立,循环结束
二、scanner类的使用
1. 导包
import java.util.Scanner;
2. 创建键盘录入对象
Scanner sc = new Scanner(System.in);
3. 接收数据
int i = sc.nextInt();
三、random类
1. 导包
import java.util.Random;
2. 创建键盘录入对象
Random r = new Random();
3. 接收数据
int nu = r.nextInt(10); //数字10,意思是产生随机数0-10之间的数字,不包含10
When nothing seems to help, I go look at a stonecutter hammering away at his rock, perhaps a hundred times without as much as a crack showing in it. Yet at the hundred and first blow it will split in two, and I know it was not that blow that did it, but all that had gone before. -- Jacob Riis