满足if条件即执行,不满足不执行。
if (关系表达式){
代码块
}
首先判断关系表达式看其结果是true还是false,如果是true就执行语句体,如果是false就不执行语句体
如年龄大于18岁可以注册婚恋网站
/*
选择结构if语句的第一种格式,有可能一句话都不打印
格式:
if(条件语句){
code;
...
}
执行步骤:
首先判断条件语句是否成立
true:执行if{}中的代码
false:不执行if{}中的代码
*/
import java.util.Scanner;
public class IfDemo01{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入您的年龄: ");
int age = sc.nextInt();
if(age >= 18){
System.out.println("年龄大于等于18岁,可以注册百合网,美女在等着你");
}
if(age < 18){
System.out.println("年龄小于18岁,不可以注册百合网,注册会员,可以放宽年龄限制");
}
}
}
运行结果:
满足条件执行if语句体,不满足执行else语句体。
if(关系表达式) {
语句体1;
}else {
语句体2;
}
首先判断关系表达式看其结果是true还是false,如果是true就执行语句体1,如果是false就执行语句体2
如年龄大于18岁可以注册婚恋网站,小于18岁不可以注册。
/*
选择结构if语句的第二种格式:总会打印一句话
格式:
if(条件语句){
执行语句1;
...
}else{
执行语句2;
...
}
执行流程:
首先判断条件语句是否成立
true:执行if{}中的执行语句1
false:执行else{}中的执行语句2
*/
import java.util.Scanner;
public class IfDemo02{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入您的年龄: ");
int age = sc.nextInt();
if(age >= 18){
System.out.println("年龄大于等于18岁,可以注册百合网,美女在等着你");
}else{
System.out.println("年龄小于18岁,不可以注册百合网,注册会员,可以放宽年龄限制");
}
}
}
在多个条件中选择满足条件的if语句体执行。
if (判断条件1) {
执行语句1
} else if (判断条件2) {
执行语句2
}
…
else if (判断条件n) {
执行语句n
} else {
执行语句n+1
}
首先判断关系表达式1看其结果是true还是false,如果是true就执行语句体1,如果是false就继续判断关系表达式2看其结果是true还是false,如果是true就执行语句体2,如果是false就继续判断关系表达式…看其结果是true还是false
…,
如果没有任何关系表达式为true,就执行语句体n+1。
例如,对一个学生的考试成绩进行等级的划分;
如果分数大于等于90分,小于等于100分等级为优;如果分数大于等于80分,小于90分级为良;如果分数大于等于70分,小于80分级为中;如果分数大于等于60分,小于70分等级为及格;60以下为不及格。
/*
选择结构if语句的第三种格式:终究会打印一个结果
格式:
if(条件1){
条件1成立执行
}else if(条件2){
条件1不成立,条件2成立执行
}
.....
else if(条件n){
条件1,条件2...都不成立,条件n成立执行
}else{
所有条件都不满足,执行
}
需求:根据成绩判断成绩等级
90-100分:优
80-90分:良
70-80分:中
60-70分:及格
0-60分:不及格
其它成绩:非法成绩
变量的作用域:在自己所在的{}内有效
*/
public class IfDemo03{
public static void main(String[] args){
int score = 55;
if(score >=90 && score <=100){
System.out.println("成绩是"+score+",等级为优!");
}else if(score >=80 && score <90){
System.out.println("成绩是"+score+",等级为良!");
}else if(score >=70 && score <80){
System.out.println("成绩是"+score+",等级为中!");
}else if(score >=60 && score <70){
System.out.println("成绩是"+score+",等级为及格!");
}else if(score >=0 && score <60){
System.out.println("成绩是"+score+",等级为不及格!");
}else{
System.out.println("成绩是"+score+",非法成绩!");
}
}
}
运行结果:
在复杂的业务逻辑中,可以使用多层的条件判断代码是否执行。
if(第一层条件){
if(第二层条件){
真正运行逻辑
}
}
如:60分以下的同学不及格重考,60分以上的同学不需要重考,这个区间又可以分为:优秀、良好、及格三个等级。
/*
多层if语句:if语句嵌套
格式:
if(条件语句){
if(条件语句){
code;
...
}
}
需求:
成绩>= 60
打印成绩合格,可以升级
90-100分:优
80-90分:良
70-80分:中
60-70分:及格
成<60
打印成绩不及格,需要补考
*/
import java.util.Scanner;
public class IfDemo04{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入您的成绩: ");
int score = sc.nextInt();
if(score >= 60 && score <=100){
System.out.println("成绩合格,可以升级");
if(score >=90 && score <=100){
System.out.println("成绩是"+score+",等级为优!");
}else if(score >=80 && score <90){
System.out.println("成绩是"+score+",等级为良!");
}else if(score >=70 && score <80){
System.out.println("成绩是"+score+",等级为中!");
}else{
System.out.println("成绩是"+score+",等级为及格!");
}
}else if(score >=0 && score < 60){
System.out.println("成绩不及格,需要补考");
}else{
System.out.println("非法成绩");
}
System.out.println("程序结束");
}
}
运行结果: