一、基本if结构
1、流程图
1)输入输出
2)判断和分支
3) 流程线
1.1 简单的if条件判断
if(表达式){
//表达式为true,执行{}中的代码
}
示例1:如果张三的Java成绩大于98分,那么老师奖励他一个MP4。
1 public classPractice1 {2 public static voidmain(String[] args){3 //从控制台输入张三的成绩
4 Scanner input = newScanner(System.in);5 System.out.print("请输入张三的JAVA成绩:");6 int score =input.nextInt();7 if( score >98){8 System.out.println("老师说:不错,奖励一个MP4!");9 }10 }11 }
if结构
运行结果,如图:
1)实现条件成立的运行结果
2)条件不成立的运行结果
1.2 简单的if条件判断
if(表达式){
//表达式为true,执行这里
}else{
//表达式为false,这行这里
}
示例2:如果张三的Java成绩大于98分,那么老师奖励他一个MP4;否则老师罚他抄试卷。
1 public classPractice2 {2 public static voidmain(String[] args){3 Scanner input = newScanner(System.in);4 System.out.print("请输入张三的JAVA成绩:");5 int score =input.nextInt();6 if(score >98){7 System.out.println("老师说:不错,奖励一个MP4!");8 }else{9 System.out.println("老师说:罚抄试卷");10 }11 }12 }
if-else结构
运行结果,如图:
1)实现条件成立的运行结果
2)实现条件不成立的运行结果
说明:如果if或else后面,有且仅有一行代码,{ }可以省略,但不建议省略
二、逻辑运算符
a. && 逻辑与(按shift+7)——且(并且、同时)
多个条件中,1个为假,if ( )中全部为假,多个条件同时为真,if()中则为真
b. || (按shift+回车键上面的|)——或(或者)多个条件中,只要1个为真,if()全部为真
c.!(英文状态下)——取反 例如:不等于 为 !=
1)判断字符串是否相等
A、区分大小写:密码
字符串变量.equals(字符串的值或字符串变量)
B、不区分大小写:验证码
字符串变量.equalsIgnoreCase(字符串的值或字符串变量)
2)如何分解个位、十位、百位、千位上的数字?【P47】
Int 个位 = 数字 % 10 //分解获得个位数
Int 十位 = 数字 /10 % 10 //分解获得十位数
Int 百位 = 数字 /100 % 10 //分解获得百位数
Int 千位 = 数字 /1000 % 10 //分解获得千位数
三、多重if结构
if(条件1){
//代码块
}else if(条件2){
//代码块
}else if(条件n){
//代码块
} else{
//代码块
}
示例3:小明同学参加了Java课程的学习,她的爸妈承认诺:
1)如果考试成绩等于100分,父亲给她买一辆车
2)如果考试成绩>=90分,母亲给她买一台笔记本电脑
3)如果考试成绩>=60分,母亲给她买一台手机
4)如果考试成绩<60分,扣掉一个星期的生活费
1 public classPractice3 {2 public static voidmain(String[] args){3 Scanner input = newScanner(System.in);4 System.out.println("请输入分数:");5 int score=input.nextInt();6 if(score== 100){7 System.out.println("父亲给她买辆车");8 }else if(score>= 90){9 System.out.println("母亲给她买一台笔记本电脑");10 }else if(score>=60){11 System.out.println("母亲给她买一台手机");12 }else{13 System.out.println("扣掉一个星期的生活费");14 }15 }16 }
多重if选择结构
运行结果,如图(依次按顺序来):
说明:else if可以有多个,对数字范围有顺序要求
在If中输入字符串——if(变量名.equals(“字符串”)){ }
四、嵌套if结构
if(条件1){
//代码块
i f (条件1-1){
}
说明:该if结构可以为if、if...else、多重if等结构
} else{
可以为if、if...else、多重if等结构
}
示例4:学校举行运动会,百米赛跑成绩在10秒内的学生有资格进决赛,根据性别分男子组和女子组。
1 public classPractice4 {2 public static voidmain(String[] args) {3 Scanner input = newScanner(System.in);4 System.out.print("请输入比赛成绩(s):");5 double score =input.nextDouble();6 System.out.print("请输入性别");7 String gender =input.next();8 if(score<=10){9 if(gender.equals("男")){10 System.out.println("进入男子组决赛");11 }else if(gender.equals("女")){12 System.out.println("进入女子组决赛");13 }14 }else{15 System.out.println("淘汰");16 }17 }18 }
嵌套if结构
运行结果,如图:
1.
2.
3.
4.
5.
6.
说明:1.只有当满足外层if选择结构的条件时,才会判断内层if的条件
2.else总是与它前面最近的那个缺少else的if配对
注意:if结构的书写规范:
--> 为了使if结构更清晰,应该把每个if或else包含的代码块用大括号括起来。
--> 相匹配的一对if和else应该左对齐
--> 内层的if结构相对于外层的if结构要有一定的缩进