java中过多if-else分支语句的优化方案
利用Map优化过的的if-else分支
package com.taiping.test;
import java.util.HashMap;
import java.util.Map;
public class Test {
public static void main(String[] args) throws Exception {
int seatCount=2; //需要进行判断的变量
String projectCode;//判断之后赋值的变量
String type = "A";
/**优化之前,逻辑判断太多,效率低下*/
if(type.equals("A")){
if(seatCount == 2){
projectCode = "0001";
}else if(seatCount == 4){
projectCode = "0002";
}else if(seatCount == 5){
projectCode = "0003";
}else if(seatCount == 6){
projectCode = "0004";
}else if(seatCount == 7){
projectCode = "0005";
}
}else{
if(seatCount == 2){
projectCode = "0006";
}else if(seatCount == 4){
projectCode = "0007";
}else if(seatCount == 5){
projectCode = "0008";
}else if(seatCount == 6){
projectCode = "0008";
}else if(seatCount == 7){
projectCode = "0010";
}
}
/**优化之后,采用map方式,简洁高效*/
Map<Integer, String> map = new HashMap<Integer, String>();
if(type.equals("A")){
map.put(2, "0001");
map.put(4, "0002");
map.put(5, "0003");
map.put(6, "0004");
map.put(7, "0005");
}else{
map.put(2, "0006");
map.put(4, "0007");
map.put(5, "0008");
map.put(6, "0009");
map.put(7, "0010");
}
projectCode = map.get(seatCount);//采用map的get方式取值
System.out.println(projectCode);
//优化前与优化后结果一致,map方式效率更好
}
}
java中过多if-else分支语句的优化方案的更多相关文章
- 原来java中也有类似goto语句的标签啊--java label标签
http://blog.sina.com.cn/s/blog_6d5354cd0100xjg7.html ——————————————————————————————————————————————— ...
- ★Java语法(六)——————————分支语句
1. if 语句 格式用法: if(布尔表达式) { 语句: } 2. if……else 语句 格式用法: if(表达式) { 语句1: } else { 语句2: } 3.if……else i ...
- java中的字符串简介,字符串的优化以及如何高效率的使用字符串
简介 String最为java中最重要的数据类型.字符串是软件开发中最重要的对象之一,通常,字符串对象在内存中总是占据着最大的空间块.所以,高效处理字符串,将提高系统的整个性能. 在java语言中,S ...
- java、JavaScript获取微信用户信息登录优化方案
1.获取微信用户信息要调用微信的好几个接口,再加上自己系统的接口就会变的很慢,影响用户体验,之前走过的弯路我就不赘述了,直接说新的方案. 2.第一步都是向微信发起获取用户code请求: 请求接口:ht ...
- java中异常处理finally和return语句的执行顺序
finally代码块的语句在return之前一定会得到执行 如果try块中有return语句,finally代码块没有return语句,那么try块中的return语句在返回之前会先将要返回的值保存, ...
- Java中if else条件判断语句的执行顺序
学习目标: 掌握 if else 条件判断的使用 学习内容: 1.if语法 if(boolean表达式) { 语句体; } if后面的{}表示一个整体-代码块,称之为语句体,当boolean表达式为t ...
- java中常规使用的mysql语句
1.登录型校验 limit 1,例如: SELECT `password`FROM workerWHERE phone = 18611406603LIMIT 1 结果无值,不需验证;有值,校验 2.存 ...
- 关于Java导出100万行数据到Excel的优化方案
1>场景 项目中需要从数据库中导出100万行数据,以excel形式下载并且只要一张sheet(打开这么大文件有多慢另说,呵呵). ps:xlsx最大容纳1048576行 ,csv最大容纳1048 ...
- web性能优化之---JavaScript中的无阻塞加载性能优化方案
一.js阻塞特性 JS 有个很无语的阻塞特性,就是当浏览器在执行JS 代码时,不能同时做其他任何事情,无论其代码是内嵌的还是外部的. 即<script>每次出现都会让页面等待脚本的解析和执 ...
随机推荐
- [原创]全新IFPGA-Cable----支持Xilinx/Altera/Lattice JTAG和UART
Xilinx 平台:ISE 14.7/Vivado 2014.4+: Lattice 平台:Diamond软件自动识别,免驱动: Altera 平台:安装相关插件,支持: 串 ...
- [python][matlab]使用python调用matlab程序
问题引入 在做实验的时候,需要用到python和matlab工具来进行不同的处理,比如在run神经网络的时候,需要使用pytorch框架得到网络的各个参数,在得到参数后需要使用matlab进行聚类规划 ...
- ImCash:韩国最大交易所遭遇至暗时刻:2018年亏损1.8亿美元
Bithumb上个月遭到黑客攻击,随后要求用户小心存款,该公司报告称损失1.8亿美元(合2050亿韩元). 据<韩国时报>(Korea Times)报道:受到熊市影响,数字货币交易所实际交 ...
- 实现ssr服务端渲染
前言 前段时间寻思做个个人网站,然后就立马行动了. 个人网站如何实现选择什么技术方案,自己可以自由决定. 刚好之前有大致想过服务端渲染,加载速度快,还有 SEO 挺适合个人网站的. 所以就自己造 ...
- C# 神奇的Web services 请求超时问题 排查分析
服务器上有两个接口,一个是Web Services(asmx文件)接口,一个是MVC API (普通的GET请求接口) 神奇的事情是这样的,只要我使用WebRequest请求两次,再使用Web Ser ...
- Python列表,字典和字符串操作
列表: 列表:list, 也叫数组,表现[].特点:有角标,元素可以重复,有序的元素 例子:stus = ['王志华','乔美玲','乔美玲','王文文','feixiang']#中括号,这就是一个l ...
- asp.net 跨域请求
微软官方文档 https://docs.microsoft.com/zh-cn/aspnet/core/security/cors?view=aspnetcore-2.2
- 浏览器url地址殊字符转义编码
网址URL中特殊字符转义编码字符 - URL编码值 空格 - %20" - %22# - %23% - ...
- svn idea 修改文件,文件不变色
删除后,重新添加. 我这里是什么也没有选择,选上Subversion后,保存,再修改文件,文件颜色就变了 Settings-->Version Control
- Chrome 启动全屏,并可以F11退出
新建start.bat文件,作用,打开浏览器,并模拟按下F11,全屏,内容如下: start C:\Program" "Files" "(x86)\Google ...