阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

流程控制-if

161次阅读
没有评论

共计 3188 个字符,预计需要花费 8 分钟才能阅读完成。

1、if 语句

1.1、单条件判断 -(if)

满足 if 条件即执行,不满足不执行。

1.1.1、if 语句的语法格式

if (关系表达式){

​ 代码块

}

1.1.2、执行流程

首先判断关系表达式看其结果是 true 还是 false,如果是 true 就执行语句体,如果是 false 就不执行语句体

1.1.3、流程图

流程控制 -if

1.1.4、案例

如年龄大于 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

流程控制 -if

1.2、互斥条件判断 -(if-else-)

满足条件执行 if 语句体,不满足执行 else 语句体。

1.2.1、if-else- 语句语法格式

if(关系表达式) {

​ 语句体 1;

}else {

​ 语句体 2;

}

1.2.2、执行流程

首先判断关系表达式看其结果是 true 还是 false,如果是 true 就执行语句体 1,如果是 false 就执行语句体 2

1.2.3、流程图

流程控制 -if

1.2.4、案例

如年龄大于 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.3、多条件判断(if-elseif-else)

在多个条件中选择满足条件的 if 语句体执行。

1.3.1、if-elseif-else- 语句的语法格式

if (判断条件 1) {

​ 执行语句 1

} else if (判断条件 2) {

​ 执行语句 2

}

else if (判断条件 n) {

​ 执行语句 n

} else {

​ 执行语句 n +1

}

1.3.2、执行流程

首先判断关系表达式 1 看其结果是 true 还是 false,如果是 true 就执行语句体 1,如果是 false 就继续判断关系表达式 2 看其结果是 true 还是 false,如果是 true 就执行语句体 2,如果是 false 就继续判断关系表达式…看其结果是 true 还是 false

…,

如果没有任何关系表达式为 true,就执行语句体 n +1。

1.3.3、流程图

流程控制 -if

1.3.4、案例

例如,对一个学生的考试成绩进行等级的划分;

如果分数大于等于 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

1.4、多层条件判断(嵌套条件)(if-> if)

在复杂的业务逻辑中,可以使用多层的条件判断代码是否执行。

1.4.1、格式

if(第一层条件){

 if(第二层条件){

	真正运行逻辑

​ }

}

1.4.2、案例

如: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("程序结束");
	}
}

运行结果:

流程控制 -if

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-06-06发表,共计3188字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中