一、基本if结构
1、流程图
1)输入输出
2)判断和分支
3) 流程线
1.1 简单的if条件判断
if(表达式){
//表达式为true,执行{}中的代码
}
示例1:如果张三的Java成绩大于98分,那么老师奖励他一个MP4。
1 public class Practice1 { 2 public static void main(String[] args){ 3 //从控制台输入张三的成绩 4 Scanner input = new Scanner(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 class Practice2 { 2 public static void main(String[] args){ 3 Scanner input = new Scanner(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 class Practice3 { 2 public static void main(String[] args){ 3 Scanner input = new Scanner(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 class Practice4 { 2 public static void main(String[] args) { 3 Scanner input = new Scanner(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结构要有一定的缩进