使用不同的关键字/语法来控制代码的执行流程/顺序
1.2分类顺序结构:代码从上往下一次执行
分支结构:到达某个状态时,可能会有多种情况,每种情况都需要提前准备好,所以多条路的路口就是一个分支。代码写得多,程序运行的少。
循环结构:某段代码相同或者相似,使用相同的逻辑。使用一定的格式,来完成相同代码的反复执行
2.选择语句--switch 2.1switch语句语句格式
switch(表达式) {
case 常量值1:
语句体1;
break;
case 常量值2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
执行流程:
首先计算出表达式的值
其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
判断一天是星期几:
public static void main(String[] args) {
//定义变量,判断是星期几
int weekday = 6;
//switch语句实现选择
switch(weekday) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("你输入的数字有误");
break;
}
}
2.2case的穿透性
在switch语句中,如果case的后面不写break,将出现穿透现象,也就是不会在判断下一个case的值,直接向后运行,直到遇到break,或者整体switch结束。
键盘录入一个月份,输出这个月份的季节
345月是春季,678是夏季,9、10、11秋季,12、1、2冬季
其他数字,没有任何季节,录入错误
System.out.println("请输入月份:");
Scanner sc = new Scanner(System.in);
int month = sc.nextInt();
switch(month){
case 3:
case 4:
case 5:System.out.println("春季");break;
case 6:
case 7:
case 8:System.out.println("夏季");break;
case 9:
case 10:
case 11:System.out.println("秋季");break;
case 12:
case 1:
case 2:System.out.println("冬季");break;
default:System.out.println("月份输入错误");
}
2.3char类型在switch中的应用
int x = 1, y = 2;
char ch = '*';
switch (ch) {
case '+':
System.out.println("x+y=" + (x + y));
break;
case '-':
System.out.println("x-y="+(x-y));
break;
case '*':
System.out.println("x*y="+(x*y));
break;
case '/':
System.out.println("x/y="+(x/y));
break;
default:
System.out.println("不靠谱");
}
3.分支结构
3.1if语句第一种格式: if
格式:
if(布尔表达式){
语句体;
}
执行流程:
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体
如果是false就不执行语句体
小毛参加考试,如果小毛考试成绩及格(>60分),则输出小毛考试成绩及格。
public static void main(String[] args) {
// 键盘输入小毛获得的分数,如果>=60 输出考试及格
Scanner sc = new Scanner(System.in);
System.out.println("请输入小毛获得分数:");
int score = sc.nextInt(); // 键盘输入一个整数赋值给 score
if(score>=60){
System.out.println("小毛考试及格了");
System.out.println("回家不用挨揍了");
}
int gewei = num%10;
int shiwei = num/10%10;
int baiwei = num/100;
if(num==gewei*gewei*gewei+shiwei*shiwei*shiwei+baiwei*baiwei*baiwei){
System.out.println(num+"是水仙花数");
}else{
System.out.println(num+"不是水仙花数");
}
}



