一、if分支结构(基础重点)
1、if基本结构
if(布尔表达式/条件){
语句
}
后续代码
- 对布尔表达式/条件进行判断
结果为true,先执行代码块,再执行后续代码
结果为false,跳过代码块,直接执行后续代码
String str = "是";
if (str == "是"){
System.out.println("你选择相信是");
}
System.out.println("他的物品");
//结果是 你选择相信是
// 他的物品
2、if····else基本结构
if(布尔表达式/条件){
语句1
}else{
语句2
}
后续代码
- 布尔表达式/条件进行判断
结果为true,则先执行代码块1,再退出整个选择结构,执行后续代码
结果为false,则先执行代码块2,再退出整个选择结构,执行后续代码
int i = 10;
if(i == 100){
System.out.println("i = 100");
}else{
System.out.println("i不等于100");
}
System.out.println("你好");
//结果:i不等于100
// 你好
3、多重if结构
if(布尔表达式/条件){
语句1
}else if(布尔表达式/条件){
语句2
}else if(布尔表达式/条件){
语句3
}else if(布尔表达式/条件){
语句4
}else{
语句5
}
后续代码
- 哪一个布尔表达式/条件成立,则执行对应{}中的语句(其他均不再执行)。不然就执行else然后后续代码
int soc = 81;
if(soc == 100){
System.out.println("满分");
}else if(soc >= 80&&soc <100){
System.out.println("优秀");
}else if (soc >= 60&&soc <80){
System.out.println("良好合格");
}else if (soc > 0&&soc <60){
System.out.println("不合格");
}else {
System.out.println("成绩不合法");
}
System.out.println("你好");
//结果:优秀
// 你好
4、嵌套if结构
if(外层布尔表达式/条件){
if(内层布尔表达式/条件){
语句1
}else{
语句2
}
}else{
语句3
}
- 执行原理:先判断外层条件,外层条件成立(布尔表达式为true),则再去判断内层条件。
int i = 100;
if(i >99){
if(i ==100){
System.out.println("100");
}else{
System.out.println("无效");
}
}else{
System.out.println("i < 100");
}
System.out.println("你好");
//结果:100
// 你好
二、循环结构(基础重点)
1、switch···case循环
switch(变量|表达式){
case 1:
逻辑代码1;
break;
case 2:
逻辑代码2;
break;
default:
逻辑代码3;
break;
}
后续代码
-
注意点: break 跳出、终止循环;可以应用于switch…case结构
continue跳出、结束本次循环;不能应用此结构中 -
执行流程:
首先计算出表达式的值
其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
Scanner sc = new Scanner(System.in);
System.out.println("请输入数据(1-7):");
int week = sc.nextInt() ;
switch(week){
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、for循环
for (初始化语句;条件判断语句;条件控制语句) {
循环体语句;
}
后续代码
- 初始化语句:简单说就是循环开始的时候什么样
- 条件判断语句:简单说就是判断循环是否能一直执行下去
- 循环体语句:简单说就是循环反复执行的事情
- 条件控制语句:简单说就是控制循环是否能执行下去
执行流程:
①执行初始化语句
②执行条件判断语句,看其结果是true还是false
如果是false,循环结束。如果是true,继续执行
③执行循环体语句
④执行条件控制语句
⑤回到②继续
for(int i=1; i<=5; i++) {
System.out.println(i);
}
System.out.println("你好");
//结果:1
// 2
// 3
// 4
// 5
// 你好
3、while循环
初始化语句;
while(条件判断语句){
循环体语句;
条件控制语句
}
执行流程:
①执行初始化语句
②执行条件判断语句,看其结果是true还是false
如果是false,循环结束。如果是true,继续执行
③执行循环体语句
④执行条件控制语句
⑤回到②继续
!!防止死循环!!
while(true){
System.out.println("你好");
}
//结果会不停输出你好
int i = 1;
while(i<=5) {
System.out.println("你好");
i++;
}
//结果是输出5个“你好”
for(int j = 1 , j<=5 ,j++){
System.out.println("你好");
}
//结果一样
4、do…while循环
初始化语句;
do {
循环体语句;
条件控制语句;
}while(条件判断语句);
执行流程:
① 执行初始化语句
② 执行循环体语句(无论如何都会先执行一次循环)
③ 执行条件控制语句
④ 执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
⑤ 回到②继续
int i = 1;
do{
System.out.println("你好");
i++;
}while(i<=5);
//结果是输出5个“你好”
5、循环嵌套
for(初始化语句;条件判断语句;条件控制语句){
for(初始化语句;条件判断语句;条件控制语句){
循环体语句
}
语句
}
//for···for、while···while、for···while等等
反复理解这句话:
整个内循环,就是外循环的一个循环体,内部循环体没有执行完毕,外循环是不会继续向下执行的
for (int hour = 0; hour < 24; hour++) {
for (int minute = 0; minute < 60; minute++) {
System.out.println(hour + "时" + minute + "分");
}
System.out.println("--------");
}