一、基本if结构
1、流程图
1)输入输出
2)判断和分支
3) 流程线
1.1 简单的if条件判断
if(表达式){
//表达式为true,执行{}中的代码
}
示例1:如果张三的Java成绩大于98分,那么老师奖励他一个MP4。
public class Practice1 {
public static void main(String[] args){
//从控制台输入张三的成绩
Scanner input = new Scanner(System.in);
System.out.print("请输入张三的JAVA成绩:");
int score = input.nextInt();
if( score >98){
System.out.println("老师说:不错,奖励一个MP4!");
}
}
}
if结构
运行结果,如图:
1)实现条件成立的运行结果
2)条件不成立的运行结果
1.2 简单的if条件判断
if(表达式){
//表达式为true,执行这里
}else{
//表达式为false,这行这里
}
示例2:如果张三的Java成绩大于98分,那么老师奖励他一个MP4;否则老师罚他抄试卷。
public class Practice2 {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("请输入张三的JAVA成绩:");
int score = input.nextInt();
if(score >98){
System.out.println("老师说:不错,奖励一个MP4!");
}else{
System.out.println("老师说:罚抄试卷");
}
}
}
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分,扣掉一个星期的生活费
public class Practice3 {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.println("请输入分数:");
int score= input.nextInt();
if(score== 100){
System.out.println("父亲给她买辆车");
}else if(score>= 90){
System.out.println("母亲给她买一台笔记本电脑");
}else if(score>=60){
System.out.println("母亲给她买一台手机");
}else{
System.out.println("扣掉一个星期的生活费");
}
}
}
多重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秒内的学生有资格进决赛,根据性别分男子组和女子组。
public class Practice4 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入比赛成绩(s):");
double score = input.nextDouble();
System.out.print("请输入性别");
String gender = input.next();
if(score<=10){
if(gender.equals("男")){
System.out.println("进入男子组决赛");
}else if(gender.equals("女")){
System.out.println("进入女子组决赛");
}
}else{
System.out.println("淘汰");
}
}
}
嵌套if结构
运行结果,如图:
1. 2.
3. 4.
5. 6.
说明:1.只有当满足外层if选择结构的条件时,才会判断内层if的条件
2.else总是与它前面最近的那个缺少else的if配对
注意:if结构的书写规范:
--> 为了使if结构更清晰,应该把每个if或else包含的代码块用大括号括起来。
--> 相匹配的一对if和else应该左对齐
--> 内层的if结构相对于外层的if结构要有一定的缩进