Java入门 if分支结构 switch分支结构

本文介绍了Java中的选择结构,包括if的基本用法、复杂条件判断、if-else结构、多重if、嵌套if和switch的选择结构。通过实例详细讲解了各种选择结构的应用场景和优缺点,适合Java初学者学习。

基本的if选择结构

if选择结构是根据条件判断结果。

if(条件){
	//代码块
}

例1:张三Java成绩大于90分,老师奖励他一部手机。

if(stuFraction>90) {
	System.out.println("恭喜你得到老师奖励的一部手机!");
	}

流程图如下:
在这里插入图片描述

复杂条件的if选择结构

使用if将多个条件链接起来。

例2:张三Java成绩大于90,并且音乐成绩大于80分时,或者Java成绩等于100分,音乐成绩大于70分时,老师奖励他。

if(javaFraction>90 && musicFraction>80) {
	System.out.println("得到老师奖励");
}
if(javaFraction==100 && musicFraction>70) {
	System.out.println("得到老师奖励");
}

使用复杂条件的if选择结构式要结合运算符的优先级编写条件。
1.最高级的优先级:()
2.最低级的优先级:=
3.优先级:! > 算术运算符 > 关系运算符 > && > ||
4.复杂条件使用括号提高可读性

if-else选择结构

注意:只有一条语句时,不建议省略{}。

if(条件){
	//代码块1
}else{
	//代码块2
}

例3:如果张三Java考试成绩大于90分,老师奖励他一部手机,否则老师就罚他蹲马步。

if(javaFraction>90) {
	System.out.println("老师奖励一部手机");
}else{
	System.out.println("惩罚蹲马步");
}

流程图如下:
在这里插入图片描述

多重if选择结构

1.将条件分成几个连续区间进行判断,单个if选择结构无法完成,多个if选择结构麻烦且效率低。
2.使用多重if选择结构语句时,需要注意顺序。

if(条件1){
	//代码块1
}else if(条件2){
	//代码块2
}else if(条件3){
	//代码块3
}

例4:对学员的考试成绩进行评测,成绩>=80为良好,成绩>=60为中等,成绩<60为差。

if(score>=80){
	System.out.println("成绩为良好");
}else if(score>=60){
	System.out.println("成绩为中等");
}else{
	System.out.println("成绩为差");
}

流程图如下:
在这里插入图片描述

嵌套if选择结构

嵌套if控制语句可以通过外部语句和内部语句的写作,增强程序的灵活性。

if(条件1){
	//代码块1
	if(条件2){
	//代码块2
	}else{
	//代码块3
	}
}esle{
	//代码块4
}

例5:小孩成人后身高的因素有遗传、饮食习惯与体育坚持锻炼等。小孩成人后的身高与其父母的身高和自身的性别密切相关。
设faHeight为其父身高,moHeight,身高预测公式为:
男性成人时身高 = (faHeight + moheight)*0.54
女性成人时身高 = (faHeight * 0.923 +moHeight) / 2
此外,喜爱锻炼可增加身高2%,有良好的饮食习惯可增加身高1.5%。利用给定的公式和身高预测方法对你的身高进行预测。
要求父母的身高、是否爱好体育锻炼等参数从键盘输入。
提示:字符串的比较使用.equals方法,如String a=“爱好”; a.equals(“爱好”)的值为true。

import java.util.Scanner;

public class demo8 {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入你父亲的身高:");
		double faHeight = sc.nextDouble();
		System.out.println("请输入你母亲的身高:");
		double moHeight = sc.nextDouble();
		System.out.println("请输入你的性别:(男/女)");
		String sex = sc.next();
		System.out.println("是否喜欢锻炼?(是/否)");
		String duanlian = sc.next();
		System.out.println("饮食是否健康?(是/否)");
		String yinshi = sc.next();
		
		double shengao=0;
			//性别是男
		if(sex.equals("男")) {
			shengao=(faHeight + moHeight)*0.54;
			//性别是男,爱锻炼
			if(duanlian.equals("是")) {
				shengao=shengao*1.02;
				//性别是男,爱锻炼,饮食健康
				if(yinshi.equals("是")) {
					shengao=shengao*1.015;			
			}else {
				//性别是男,饮食健康
			if(yinshi.equals("是"));
				shengao=shengao*1.015;
}				
}
			
			//性别是女
		}else if (sex.equals("女")) {
			shengao=(faHeight*0.923 + moHeight)*0.54;
			//性别是女,爱锻炼
			if(duanlian.equals("是")) {
				shengao=shengao*1.02;
				//性别是女,爱锻炼,饮食健康
				if(yinshi.equals("是")) {
					shengao=shengao*1.015;			
			}else {
				//性别是女,饮食健康
			if(yinshi.equals("是")) {
				shengao=shengao*1.015;
			
}
}
}
}
			System.out.println("你的身高为:"+(int)shengao+"cm");
}
}

流程图如下:
在这里插入图片描述

switch选择结构语法

1.条件为等值判断,一针见血。
2.default块顺序可以变动,但要注意执行顺序,通常default放在末尾,也可以省略。

switch (表达式) {
case 常量1:
	语句;
	break;
case 常量2:
	语句;
	break;
···
default:
	语句;
	break;
}

例6:张三参加计算机编程大赛
如果第一名,参加1个月夏令营
如果第二名,奖励笔记本一台
如果第三名,奖励移动硬盘
否则,不给任何奖励

switch (mingCi) {
case 1:
	System.out.println("参加夏令营一个月");
	break;
case 2:
	System.out.println("奖励笔记本电脑一部");
	break;
case 3:
	System.out.println("奖励移动硬盘一个");
	break;
default:
	System.out.println("没有任何奖励");
	break;
	}

switch与多重if

相同点:
都是用来处理多分支条件的结构。

不同点:
switch选择结构:
只能处理等值条件判断的情况。
多重if选择结构:
没有switch选择结构的限制,特别适合 某个变量处于某个连续区间时的情况。

总结

if选择结构,包括以下形式
1.基本if选择结构:可以处理单一或组合条件的情况。
2.if-else选择结构:可以处理简单的条件分支情况。
3.多重if选择结构:可以处理分段的条件分支情况。
4.嵌套if选择结构:可以处理复杂的条件分支情况。

switch选择结构
多重分支并且条件判断是等值判断的情况。

嘿嘿!我是个Java小白,文章会有很多不足,希望和各位一起加油!学习!完善!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值