分支结构 --> if else if else分支结构

if else if else分支结构

在这里插入图片描述

适用类型:用户有多种选择的时候
if(条件表达式1) {
	语句块1; }
else if(条件表达式2) {
	语句块2; }
else {
	语句块n; }

判断条件表达式1是否成立
    => 若成立,则执行语句块1=> 若不成立,则判断条件表达式2是否成立
        => 若成立,则执行语句块2=> 若不成立,则执行语句块n;

在这里插入图片描述

package demo;
/*
    编程实现if  else if  else分支结构的使用,来模拟购买火车票的过程
 */
import java.util.Scanner; 
 
public class IfElseifElseTest {
	
	public static void main(String[] args) {
		
		// 1.提示用户输入身份信息并使用变量记录
		System.out.println("请输入您的身份信息:");
		Scanner sc = new Scanner(System.in);
		String str = sc.next();
		
		// 2.使用if  else if  else分支结构判断身份信息并给出对应的提示
		// 判断"军人"是否等于str,是否与str的数值相等
		if("军人".equals(str)) {
			System.out.println("请免费乘车!");
		} else if("学生".equals(str)) {
			System.out.println("请购买半价票!");
		} else {
			System.out.println("请购买全价票!");
		}
		
		// 3.打印一句话
		System.out.println("坐上了火车去拉萨,去看那美丽的布达拉!");
	}
}

在这里插入图片描述

案例一

根据用户输入的薪水计算个人所得税并打印出来,其中个税起征点为5000元,具体规则如下:

应纳税所得:薪水减去500剩下的
在这里插入图片描述

package demo;
/*
    编程使用if else if else分支结构来计算个人所得税
 */

import java.util.Scanner; 
 
public class IfSalaryTest {
	
	public static void main(String[] args) {
		
		// 1.提示用户输入个人的薪水并使用变量记录
		System.out.println("请输入您的薪水:");
		Scanner sc = new Scanner(System.in);
		// 局部变量:作用范围是从声明开始一直方法体结束
		int salary = sc.nextInt();
		
		// 2.使用if else if else分支结构判断薪水所在的范围并计算对应的个人所得税
		// 个人所得税公式: 本月应纳税所得额 * 对应的税率 - 速算扣除数
		double salaryPrice = 0.0;
		if(salary <= 5000) {
			System.out.println("无需纳税!");
		}
		else if(salary <= 8000) {
			// 块变量:作用范围是从声明开始一直到当前语句块结束
			//double salaryPrice = (salary - 5000) * 0.03;
			//salaryPrice = (salary - 5000) * 0.03;
			salaryPrice = (salary - 5000) * 0.03 - 0;
		}
		else if(salary <= 17000) {
			//salaryPrice = (salary - 8000) * 0.1 + (8000 - 5000) * 0.03;
			salaryPrice = (salary - 5000) * 0.1 - 210;
		}
		else if(salary <= 30000) {
			//salaryPrice = (salary - 17000) * 0.2 + (17000 - 8000) * 0.1 + (8000 - 5000) * 0.03;
			salaryPrice = (salary - 5000) * 0.2 - 1410;
		}
		// ...
		
		// 3.打印最终的计算结果
		System.out.println("最终的个人所得税是:" + salaryPrice);
	}
}

在这里插入图片描述

案例二

  • 出租车计费方式:由里程钱数和等候时间钱数相加得出。
  • 里程数前3公里13元,超过3公里到15公里部分每公里2元, 15公里以上部分每公里3元。
  • 等候时间每2分半1元,不足部分不要钱。
  • 输入公里数和等候秒数,输出车费。
  • 举例:16公里,等候290秒,车费 = 13 +( 15-3) *2 + ( 16-15) *3 + 1 = 41
package demo;
/*
    编程使用if分支结构实现出租车计费系统的实现
 */

import java.util.Scanner; 
 
public class IfTaxiTest {
	
	public static void main(String[] args) {
		
		// 1.提示用户输入公里数和等待的秒数并使用变量记录
		System.out.println("请输入公里数和等待的秒数:");
		Scanner sc = new Scanner(System.in);
		int km = sc.nextInt();
		int sec = sc.nextInt();
		
		// 2.根据公里数计算对应的里程费并使用变量记录
		int kmPrice = 0;
		if(km <= 3) {
			kmPrice = 13;
		} else if(km <= 15) {
			kmPrice = 13 + (km - 3) * 2;
		} else {
			kmPrice = 13 + (15 - 3) * 2 + (km - 15) * 3;
		}
		
		// 3.根据等待的秒数来计算对应的等待费并使用变量记录
		int secPrice = sec / 150;
		
		// 4.计算总费用并打印
		int sumPrice = kmPrice + secPrice;
		System.out.println("本次出租车的总费用是:" + sumPrice);
	}
}

在这里插入图片描述

案例三

提示用户输入考试的成绩,使用if-else if-else分支结构判断所在等级并打印。

[90 ~ 100] 等级A
[80 ~ 89] 等级B
[70 ~ 79] 等级C
[60 ~ 69] 等级D
[0 ~ 59] 等级E  
package demo;
/*
    编程使用if else if else分支结构判断考试成绩所在的等级
 */

import java.util.Scanner; 
 
public class IfScoreTest {
	
	public static void main(String[] args) {
		
		// 1.提示用户输入考试成绩并使用变量记录
		System.out.println("请输入您的考试成绩:");
		Scanner sc = new Scanner(System.in);
		int score = sc.nextInt();
		
		// 2.使用if else if else分支结构判断所在的等级并打印
		// 90 / 10 = 9;    91 / 10 = 9;  92 / 10 = 9;  99 / 10 = 9;   100 / 10 = 10;
		if(score >= 90 && score <= 100) {     // case 9:    case 10:  
			System.out.println("等级A");
		} else if(score >= 80) {              // case 8: 
			System.out.println("等级B");
		} else if(score >= 70) {              // case 7:
			System.out.println("等级C");
		} else if(score >= 60) {              // case 6:
			System.out.println("等级D");   
		} else {                              // default:
			System.out.println("等级E");
		}
	}
}

在这里插入图片描述

    总共4个模块     (1)租车计价系统可以实现租车信息的管理。             1.1租车信息的查询:通过数据库查询租车的车型,车号,以及是否可用             1.2租车信息的增加:向数据库中添加租车的车型,车号,以及是否可用             1.3租车信息的修改:对数据库中已经存在的租车的车型,车号,以及是否可用的信息进行修改             1.4租车信息的删除:删除数据库中已经存储的租车的信息     (2)租车计价系统可以实现司机信息的管理。             2.1司机信息的查询:通过数据库查询司机的年龄,性别,学历,名字等信息             2.2司机信息的增加:向数据库中添加司机的年龄,性别,学历,名字等信息             2.3司机信息的修改:对数据库中已经存在的司机的年龄,性别,学历,名字等信息进行修改             2.4司机信息的删除:删除数据库中已经存储的司机的信息     (3)租车计价系统可以实现租车计价功能。             3.1通过java多线程,模拟租车在路上的情景             3.2通过距离计费的方式,将订单的时间,乘客的信息,订单的价格等插入数据库中     (4)租车计价系统可以实现订单信息的维护             4.1订单信息的查询:通过数据库查询订单的时间,价格等信息             4.2订单信息的删除:删除数据库中已经存储的订单信息             4.3订单信息的修改:对数据库中已经存在的订单的时间,价格等信息进行修改
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~忆缘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值