Switch多分支语句
switch语句是多分支选择语句。常用来根据表达式的值选择要执行的语句。例如,在某程序中,要求将输入的或是获取的用0~6代表的星期,转换为用中文表示的星期。该需求通过伪代码描述的算法如下:
输入的或是获取的表示星期的数字
如果等于0, 则输出星期日
如果等于1, 则输出星期一
如果等于2, 则输出星期二
如果等于3, 则输出星期三
如果等于4, 则输出星期四
如果等于5, 则输出星期五
如果等于6, 则输出星期六
从上面的算法中,大家可能会想到通过嵌套的if语句实现,但是由于分支较多,实现后的代码较长,从而降低程序的可读性。不过Java还提供了另外一种语句来处理这类情况。下面将给出其具体实现代码。
switch(表示星期的数字){
case 0:输出星期日;
break;
case 1:输出星期一;
break;
case 2:输出星期二;
break;
case 3:输出星期三;
break;
case 4:输出星期四;
break;
case 5:输出星期五;
break;
case 6:输出星期六;
break;
}

实际上,上面的代码就是switch语句的基本格式。但是SWitch再做一些范围类的判断就显得有些“弱”,比如输出一个成绩:在>=90和<=100之间就为“优”。“>=80h和<90”之间就输入“良好”。 等等就有些繁琐,这时if的优势就体现出来了。

int core = 90; //
if(core >=90&&core<=100){
输出成绩为优秀; 
}else if(core>=80&&<=89){
输出成绩为良好;}

……

}else{……}。基本上switch能做到的事情if 都能够做,而且更好.不像switch后的变量有诸多限制只能为string byte char int类型.所以除了上述类似第一例那样的情况,建议大家还是使用if条件表达式。

JAVA中if多分支和switch的优劣性。的更多相关文章

  1. java中过多if-else分支语句的优化方案

    利用Map优化过的的if-else分支 package com.taiping.test; import java.util.HashMap;import java.util.Map; public ...

  2. java中的输入流(Scanner),数据类型,运算符,switch,数组的用法

    //java中创建包用package相当于C#的命名空间namespace,java中导入包用import相当于C#中引入命名空间usingimport java.util.*;//导入包,*代表导入 ...

  3. java基础(5):流程控制语句(switch)、数组

    1. 流程控制语句(续) 1.1 选择结构switch switch 条件语句也是一种很常用的选择语句,它和if条件语句不同,它只能针对某个表达式的值作出判断,从而决定程序执行哪一段代码.例如,在程序 ...

  4. Java基础知识强化19:Java中switch分支语句

    java中switch语句: 这里expression控制表达式的数据类型只能是byte.short.char.int四种整型类型和枚举类型,不能是boolean类型: Java7(1.7)改进了sw ...

  5. 浅谈Java中switch分支语句

    前言: 在程序中遇到多分支选择的时候,想必大家都喜欢用if...else if...else...语句,尤其是初学者,因为在了解switch语句之前,我也是只会用if...else语句.那么现在看完这 ...

  6. java中的Switch case语句

    java中的Switch case 语句 在Switch语句中有4个关键字:switch,case break,default. 在switch(变量),变量只能是整型或者字符型,程序先读出这个变量的 ...

  7. java中switch、while、do...while、for

    一.Java条件语句之 switch 当需要对选项进行等值判断时,使用 switch 语句更加简洁明了.例如:根据考试的名次,给予前 4 名不同的奖品.第一名,奖励笔记本一台:第二名,奖励 IPAD  ...

  8. Java中的Switch用法

    一.java当中的switch与C#相比有以下区别 注:在java中switch后的表达式的类型只能为以下几种:byte.short.char.int(在Java1.6中是这样),   在java1. ...

  9. Java中的switch语句后面的控制表达式的数据类型

    Java中的switch语句后面的控制表达式的数据类型 1.byte 2.char 3.short 4.int 5.枚举类型 6.Java 7允许java.lang.String类型

随机推荐

  1. 【BZOJ1257】余数之和(数论分块,暴力)

    [BZOJ1257]余数之和(数论分块,暴力) 题解 Description 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + - + k mod n的 ...

  2. Delphi的RzDbgrid改变某行的背景色

    本想改变符合条件的行的背景色,试了DbgridEh和原生的Dbgrid直接在DrawColumnCell事件中写重绘代码就好了,But在RzDbgrid就不起效果,查了好一会,百度了一大堆,都是千篇一 ...

  3. 【Spring源码分析】原型Bean实例化过程、byName与byType及FactoryBean获取Bean源码实现

    原型Bean加载过程 之前的文章,分析了非懒加载的单例Bean整个加载过程,除了非懒加载的单例Bean之外,Spring中还有一种Bean就是原型(Prototype)的Bean,看一下定义方式: & ...

  4. 28.Django cookie

    概述 1.获取cookie request.COOKIES['key'] request.COOKIES.get('key') request.get_signed_cookie(key, defau ...

  5. MapReduce并行编程模型和框架

    传统的串行处理方式 有四组文本数据: "the weather is good", "today is good", "good weather is ...

  6. Hadoop集群环境安装

    转载请标明出处:  http://blog.csdn.net/zwto1/article/details/45647643:  本文出自:[zhang_way的博客专栏] 工具: 虚拟机virtual ...

  7. CSS个别属性

    *{ scrollbar-3dlight-color:#fff; // 3d亮色阴影边框(threedlightshadow)的外观颜色 scrollbar-highlight-color:#fff; ...

  8. JDK的安装和Java环境变量配置

    所需工具:JDK    下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

  9. Genymotion模拟器的安装及常见问题解决方法

    Genymotion是很好用很快的一款Android模拟器. 我们使用的时候下载一个免费版的就足够用了. 官网下载地址:http://www.genymotion.net/ 不过这个软件下载之前必须注 ...

  10. javascript中的Promise使用

    参考自: http://m.jb51.net/article/102642.htm 1.基本用法: (1).首先我们new一个Promise,将Promise实例化 (2).然后在实例化的promis ...