switch结构可以更好的解决等值判断问题
switch 选择结构的语法:
switch (表达式){
case 常量 1:
//代码块1;
break;
case 常量 2:
//代码块2;
break;
。。。。。。
default:
//代码块n;
break;
}

解释:
1.switch: 表示“开关”,这个开关就是switch后面小括号里的值,
小括号里要放一个整形变量(表达式)或字符类型(表达式)。
2.case: 表示“情况。情形”,case必须是一个整型或字符型的常量,
通常是一个固定的字符,数字,如"8"."a"。case块可以有多个,
顺序可以改变,但是每个case后面常量的值必须各不相同。
3.default: 表示"默认",即其他情况都不满足。default后要紧跟冒号。
default块和下case块的先后顺序可以变动,不会影响程序执行的结果。
通常,default块放在末尾,也可以省略。
4.break 表示是“停止”,即跳出当前结构。

switch选择结构的执行过程:
先计算并获得switch后面小括号里的表达式或变量的值,然后
将计算结果顺序与每个case后的常量比较,当第二者相等时,执行这个case块中的代码;
当遇到break是,就跳出switch选择结构,执行switch选择结构之后的代码。
如果没有任何一个case后的常量与switch后的小括号中的值相等,则执行
switch末尾部分的default块中的代码。

注意:
1.每个case后的代码块可以有多个语句,即可以有一组语句,而且不需要用“{}”括起来。
case和default后都有一个冒号,不能漏写;否则编译不通过。对于每个case的结尾,
都要想一想是否需要从这里跳出整个switch结构。如果需要,不要忘记写"break";。
2.在case后面的代码块中当变量day的值为1 2 3 时,都将输出“奇数!”;
当变量day的值为2 4 6时,都将输出“偶数!”
eg:
int num=3;
switch(num){
case 1:
case 3:
case 5:
System.out.println("奇数!");
break;
case 2:
case 4:
case 6:
System.out.println("偶数!")
break;
}

多重if和switch选择结构很相似,它们都是用来处理多分支条件的结构,
但是switch选择结构只能用于等值条件判断的情况。
在JDK 1.6之前的版本中,switch选择结构的条件必须是整型变量或字符型变量,
但在JDK 1.7中,switch选择结构的条件中也可以使用String类型。
在程序开发过程中,需要考虑使程序具有较高的容错性。

switch与java的更多相关文章

  1. Java 7 中的Switch 谈 Java版本更新和反编译知识

    Java 7 中的Switch 谈 Java版本更新和反编译知识          学习编程,享受生活,大家好,我是追寻梦的飞飞.今天主要讲述的是Java7中的更新Switch实现内部原理和JAD反编 ...

  2. .NET中使用switch和java不一样的地方。

    1.不能这样贯穿 我们知道,java 和 C在使用switch时候可以这样. switch (i) { //java中此处不使用break // 执行了case 1:对应的语句后直接 贯穿到 case ...

  3. switch与java,c#的异同

    <script type="text/javascript" language="javascript"> //JavaScript控制语句基本和以 ...

  4. trangleProble switch方法 java

    public class trangleProblem { static int res=1; int codePart=1; int n=100; Stack<Param> stack= ...

  5. go switch 和java C#有不同

    1 switch 后的语句可以有简单的赋值语句 2 case :后的语句结束后不需要break;默认自动结束 除非以 fallthrough 语句结束,否则分支会自动终止 没有条件的 switch 有 ...

  6. Java & Groovy & Scala & Kotlin - 20.Switch 与模式匹配

    Overview 本章主要介绍高级条件语句中的 switch 语句以及其增强版的模式匹配. Java 篇 Switch 特点 Java 中 switch 语句功能类似 if,但是 switch 主要用 ...

  7. Java switch 详解

    switch 语句由一个控制表达式和多个case标签组成. switch 控制表达式支持的类型有byte.short.char.int.enum(Java 5).String(Java 7). swi ...

  8. 说说Java中你不知道switch关键字

    Switch语法 switch作为Java内置关键字,却在项目中真正使用的比较少.关于switch,还是有那么一些奥秘的. 要什么switch,我有if-else 确实,项目中使用switch比较少的 ...

  9. java 枚举类型分析

    最近做android开发,需要用到枚举值,这样可以连续赋值,我按之前c++那样书写,如下所示: public enum ColorSelect { RED_BAGE = 0, GREEN_BAGE, ...

随机推荐

  1. 【es6】变量解构赋值

    1.数组解构赋值 let [a,b,c]=[1,2,3];//数组解构赋值,注意:左右两边格式需一致 let [a,b]=[1,2,3];//不完全解构,取位置靠前的值 let [a=1,b]=[un ...

  2. pip 更换国内源

    centos 下 没有找到 pip.conf 操作如下: 进入主目录:cd ~ 创建 .pip 目录: mkdir .pip 进入.pip 创建 pip.conf 文件:cd .pip/ touch ...

  3. Table '.\gts\eventdata#P#p0' is marked as crashed and last (automatic?) repair failed

    修复数据表操 MYSQL数据表出现问题,提示:Error: Table './db_name/table_name' is marked as crashed and last (automatic? ...

  4. java值传递与引用传递

    看代码: import java.lang.reflect.Field; public class Test { public static void main(String[] args) { In ...

  5. WPF的ItemsControl设置数据源以及Binding使用

    Student类: using System; using System.Collections.Generic; using System.Linq; using System.Text; usin ...

  6. C#(winform)设置窗口置顶

    只要设置窗体的TopMost属性即可: registerForm.TopMost = true;

  7. Linux基础学习1--档案的属性和目录

    用命令 ls -al可以列出当前所有档案,和档案的各种情况 第一块是档案属性:一共10个,第一个代表档案类型 {d:目录,-:档案,l:连接档,b:接口设备,c:串行端口设备},接下来是三个一组,第一 ...

  8. android 加载图片框架--Glide使用详解

    一.简介 Glide,一个被google所推荐的图片加载库,作者是bumptech.这个库被广泛运用在google的开源项目中,包括2014年的google I/O大会上发布的官方app.(PS:众所 ...

  9. Guava学习笔记之Maps(1):Maps.uniqueIndex(Iterable, Function)

    Guava官方文档 https://github.com/google/guava/wiki/CollectionUtilitiesExplained 官方文档这样描述: [`Maps.uniqueI ...

  10. Core.Java.Volume.I.Fundamentals.10th.Edition 14.5.8 Volatile域 中文版 章节勘误

    今天重扫了corejava 14 并发的一章,在谈到volatile域代替synchronized 应用于并发更新时,看到如下内容,并发更新可用内部锁的方式但会带来阻塞问题,可用volatile域替代 ...