流程控制
顺序结构、分支结构、循环结构、控制循环结构
part A:分支结构
if 条件语句
----键盘输入;死循环的使用;if…else的使用
for (; ; ){ };while(true){ };用break结束循环,或者continue结束当前循环。
// 随机产生1-100之间的数,请猜出数字是多少
Random A = new Random();
int a = A.nextInt(100)+1;
Scanner B = new Scanner(System.in);
System.out.println("请输入1-100的数字:");
while (true){
int n = B.nextInt();
if (n <1 || n > 100) System.out.println("您的输入有误,请重新输入");
else if (n > a) System.out.println("您猜大了");
else if (n < a) System.out.println("您猜小了");
else {
System.out.println("恭喜您!");break;
}
}
switch分支语句
switch后面的expression的数据类型不能是boolean型,只能是char\int\byte\short四种整数类型、枚举型和java.lang.String类型(从java7才开始允许)
//格式
switch (expression){
case condition1:{
statement(s) break;
}
case condition2:{
statement(s) break;
}
...
case conditionN:{
statement(s) break;
}
default:{
statement(s)
}
}
//成绩划分案例
public class method {
public static void main(String[] args) {
Scanner num = new Scanner(System.in);
System.out.println("请输入成绩:");
while (true) {
int score = num.nextInt();
if (score < 0 || score > 100) {
System.out.println("输入有误,请重新输入:");
}
else {
switch (score/10){
case 10:
case 9:
System.out.println("成绩优秀");break;
case 8:
System.out.println("成绩良好");break;
case 7:
System.out.println("成绩中等");break;
case 6:
System.out.println("成绩合格");break;
default:
System.out.println("成绩不合格");
}
}
}
}
}
part B : 循环结构
for、while、do…while
for(初始化(可直接在此声明);条件;运算){ }
foreach 循环
int[] grade = {59,68,69,71,78,79,85,90};//声明的同时进行赋值,花括号和逗号{,,,}
//使用for each循环打印数组
for (int k:grade){
System.out.println(k);
}
System.out.println("今天风很大");
part C:控制循环结构
- break; 用于结束某一循环,给某一for循环标号H,可直接用 break H; 结束H循环
- continue; 用于继续执行某一循环,使用方法同break
// 使用break 和 continue 循环 获取第二个班级的第五名同学
H: for (int i = 1; i <= 3; i++){
K:for (int j = 1;j <= 10; j++){
System.out.println("正在获取第"+ i +"个班级的第"+ j +"个同学");
if (i == 2 && j == 5){
System.out.println("找到程序猿同学啦!");
break H;
}
}
System.out.println();
}
/*
H是外循环标号,找到该同学之后直接使用break跳出外循环,结束整个循环,
若break K; 则是结束内循环,外循环还是可以继续
*/
Random类的使用,数组的使用
Random student = new Random(); // Random类,类的使用要先声明再使用
int[] array = new int[10]; // 数组类,先声明后使用
/*生成10个,100以内的随机数,组成一个数组并打印出*/
for (int i = 1; i <= 10; i++){
int r = student.nextInt(100); // 0~99
array[i-1] = r; // 数组首地址从0开始
}
System.out.print(Arrays.toString(array));
/*数组的打印,A、不能直接用System.out.println(array),这样打印出数组的首地址
* B、可以用for循环将每一个数组元素遍历,打印出每一个元素值
* C、用Array类中的toString方法如上*/