目录
1.if结构:
语法结构:
if(boolean){
语句块;---------基于条件执行的语句
}
练习:根据用户输入的年份,判断该年份是否为闰年
public class Demo2 {
public static void main(String[] args) {
//根据用户输入的年份,判断该年份是否为闰年
//闰年:能被4整除但不能被100整除的年份,或者能被400整除的年份
int year = 2024;
if (year % 4 == 0 && year % 100!= 0 || year % 400 == 0) {
System.out.println(year + "是闰年");
} else {
System.out.println(year + "不是闰年");
}
}
}
结果:
2.if多分支结构:
语法结构:
if(boolean 1){
语句块1;
}else if(boolean 2){
语句块2;
}…
else{
语句块n;
}
执行流程:画流程图
判断boolean 1条件成立的情况下,执行语句块1;
判断boolean 2条件成立的情况下,执行语句块2;
…
如果以上都不成立的情况下,执行语句块n;
练习:满2000打五折,满1000打七折,满500不满1000的打六折,不满500的打九折
public class Demo3 {
public static void main(String[] args) {
//满2000打五折,满1000打七折,满500不满1000的打六折,不满500的打九折
double money = 1250;
if (money >= 2000) {
money *= 0.5;
} else if (money >= 1000) {
money *= 0.7;
} else if (money >= 500) {
money *= 0.6;
} else {
money *= 0.9;
}
System.out.println("实付金额:" + money);
}
}
结果:
3.if分支结构:swich-case结构
switch结构
switch(表达式)
- 表达式可以是int基本数据类型,byte,short,char
- String类型 JDK1.7之后新增String类型
语法结构:
switch(变量或者表达式){
case 1:
break;
case 2:
break;
...
default:
break;
}
练习:控制台输入一个年份,月份,输出该年该月有多少天
public class Demo2 {
public static void main(String[] args) {
Scanner scanner = new Scanner (System.in);
System.out.println("请输入年份:");
int year = scanner.nextInt();
System.out.println("请输入月份:");
int month = scanner.nextInt();
int days = 31;
switch (month) {
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
case 2:
days = year % 4 == 0 && year % 100!= 0 || year % 400 == 0 ? 29 : 28;
// if ((year % 4 == 0 && year % 100!= 0) || year % 400 == 0) {
// days = 29;
// } else {
// days = 28;
// }
break;
}
System.out.println(year + "年" + month + "月有" + days + "天");
}
}
结果: