使用switch语句为新员工分配部门

一.实例说明:

本实例根据用户输入的信息确定员工应该分配到哪个部门。实例中需要根据用户输入进行多条件判断,所以采用了switch语句。

二.关键技术:

本实例的关键技术在于switch多分支语句的使用,该语句只支持对常量的判断,而常量又只能是Java的基本数据类型,虽然在以后的JDK版本中可以对String类的字符串对象进行判断,但是就目前的项目的需求来说也有很多需要对字符串进行多条件判断的。本实例采取的做法是对字符串的哈希码进行判断,也就是把String类的hashCode()方法返回值作为Switch语法的表达式,case关键字之后跟随的是各种字符串常量的哈希码整数值。

三.设计过程:

创建Example类,在该类的主方法中创建标准输入流的扫描器,通过扫描器获取人事部门输入的姓名与应聘编程语言,然后根据每种语言对应的哈希码来判断分配部门。

四.实例:

import java.util.Scanner;
public class Example{
	public static void main(String[] args){
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入员工姓名:");
		String name = scan.nextLine();		//接受员工姓名
		System.out.println("请输入新员工应聘的编程语言:");
		String language = scan.nextLine();	//接收员工应聘的编程语言
		//根据编程语言确定员工分配的部门
		switch(language.hashCode()){
			case 3254818:			//Java的哈希码
			case 2301506:			//Java的哈希码
			case 2269730:			//Java的哈希码
				System.out.println("员工"+name+"被分配到Java程序开发部门。");
				break;	
			case 3104:			//C#的哈希码
			case 2112:			//C#的哈希码
				System.out.println("员工"+name+"被分配到C#项目维护组。");
				break;
			case -709190099:		//ASP.NET的哈希码
			case 955463181:			//ASP.NET的哈希码
			case 9745901:			//ASP.NET的哈希码
				System.out.println("员工"+name+"被分配到ASP.NET程序测试部门。");
				break;
			default:
				System.out.println("本公司不需要"+language+"语言的程序开发人员。");
		}
	}
}


运行结果如下图所示:


注意:

在现实开发中,要灵活使用switch语法,在switch语法中,每个case关键字可以作为一个条件分支,但是对于多个条件采取相同业务处理的情况,可以把多个case分支关联在一起,省略它们之间的break语句,而在最后一个相同的case分支中实现业务处理并执行break语句,就像本实例中应用的一样。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

处女座的码农

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

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

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

打赏作者

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

抵扣说明:

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

余额充值