switch 语句由一个控制表达式和多个case标签组成。

switch 控制表达式支持的类型有byte、short、char、int、enum(Java 5)、String(Java 7)。

switch-case语句完全可以与if-else语句互转,但通常来说,switch-case语句执行效率要高。

default在当前switch找不到匹配的case时执行。default并不是必须的。

一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break。

switch语法格式

  1. switch (表达式) {
  2. case 条件1:
  3. 语句1;
  4. break;
  5. case 条件2:
  6. 语句2;
  7. break;
  8. ...
  9. default:
  10. 语句;
  11. }

分支语句先对表达式进行求值,然后依次匹配条件1,条件2... ...当表达式的值于条件相匹配时,执行对应的语句,如果没有对应对条件,则执行default语句。

byte:

  1. byte b1=12;
  2. switch(b1){
  3. case 1:
  4. System.out.println("wrong");
  5. break;
  6.  
  7. case 2:
  8. System.out.println("wrong2");
  9. break;
  10.  
  11. case 12:
  12. System.out.println("right");
  13. break;
  14.  
  15. default:
  16. System.out.println("all wrong");
  17. }

int:

  1. int num1=12;
  2. switch(num1){
  3. case 1:
  4. System.out.println("wrong");
  5. break;
  6.  
  7. case 2:
  8. System.out.println("wrong2");
  9. break;
  10.  
  11. case 12:
  12. System.out.println("right");
  13. break;
  14.  
  15. default:
  16. System.out.println("all wrong");
  17. }

char:

  1. char c1='a';
  2. switch (c1) {
  3. case 'a':
  4. System.out.println("a is right");
  5. break;
  6.  
  7. case 'b':
  8. System.out.println("b is right");
  9. break;
  10.  
  11. case 'c':
  12. System.out.println("c is right");
  13. break;
  14. default:
  15. break;
  16. }

string:

  1. String str1="123";
  2. switch (str1) {
  3. case "111":
  4. System.out.println("111 is right");
  5. break;
  6.  
  7. case "112":
  8. System.out.println("112 is right");
  9. break;
  10.  
  11. case "123":
  12. System.out.println("123 is right");
  13. break;
  14. default:
  15. System.out.println(" no right");
  16. break;
  17. }

Enum:

  1. static enum E{
  2. A,B,C,D
  3. }
  4. public static void main(String[] args) {
  5. E e=E.C;
  6.  
  7. switch (e) {
  8. case A:
  9. System.out.println("A is right");
  10. break;
  11.  
  12. case B:
  13. System.out.println("B is right");
  14. break;
  15.  
  16. case C:
  17. System.out.println("C is right");
  18. break;
  19.  
  20. case D:
  21. System.out.println("D is right");
  22. break;
  23. default:
  24. System.out.println("no right");
  25. break;
  26. }

java基础之switch的更多相关文章

  1. 【Java基础】switch语句实现根据数字输出对应星期

    代码: import java.util.Scanner; /* * switch语句格式: * switch(表达式) { * case 值1: * 语句体1; * break; * case 值2 ...

  2. java基础(六) switch语句的深入解析

    引言   switch 语句是非常的基础的知识,掌握起来也不难掌握,语法比较简单.但大部分人基本是知其然,不知其所以然.譬如 早期JDK只允许switch的表达式的值 int及int类型以下的基本类型 ...

  3. java基础06 switch

    public class SwitchDemo01 { /** * 韩嫣参加计算机编程大赛 如果获得第一名,将参加麻省理工大学组织的1个月夏令营 如果获得第二名,将奖励惠普笔记本电脑一部 如果获得第三 ...

  4. Java基础(1):Switch语句注意的5个地方

    不得不说的几点小秘密: 1. switch 后面小括号中表达式的值必须是整型或字符型 2. case 后面的值可以是常量数值,如 1.2:也可以是一个常量表达式,如 2+2 :但不能是变量或带有变量的 ...

  5. java基础之 switch

    switch 语句的格式: switch ( 整型或字符型变量 ) { case 变量可能值1 :   分支一; break; case 变量可能值2 :   分支二; break; case 变量可 ...

  6. java基础知识文章汇总

    将之前的所有关于Java基础知识的随笔,整理成质量较高的十几篇随笔,几乎是好几篇比较零散的随笔合成现在的一篇,自认为还不错. java基础(一) 深入解析基本类型 java基础(二) 自增自减与贪心规 ...

  7. JAVA基础——Switch条件语句

    JAVA基础——switch 条件语句 switch语句结构: switch(表达式){ case值1: 语句体1: break: case值2: 语句体2: break: case值3: 语句体3: ...

  8. 038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结

    038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结 本文知识点:案例演示switch结构并对sw ...

  9. 037 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 04 switch结构

    037 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 04 switch结构 本文知识点:Java中的switch结构 选择结构分类 选择结构只有如下2种 ...

随机推荐

  1. Hdu 3652 B-number (同余数位DP)

    题目链接: Hdu 3652 B-number 题目描述: 给出一个数n,问 [1, n]区间内有几个数能被13整除并且还有13这个子串? 解题思路: 能整除的数位DP,确定好状态随便搞搞就能过了.d ...

  2. django 相关问题

    和数据库的连接 session的实现 django app开发步骤 python环境准备 数据库安装 model定义 url mapping定义 view定义 template定义 如何查看数据库里的 ...

  3. K-th Number 线段树的区间第K大

    http://poj.org/problem?id=2104 由于这题的时间限制不紧,所以用线段树水一水. 每个节点保存的是一个数组. 就是对应区间排好序的数组. 建树的时间复杂度需要nlogn 然后 ...

  4. MySQL日期处理

    一.MySQL 获得当前日期时间 函数1.1 获得当前日期+时间(date + time)函数:now()mysql> select now(); +---------------------+ ...

  5. AJPFX总结jvm运行时内存分布

    jvm的运行过程中将java程序运行时数据区分为以下几个部分:      (1)程序计数器:存储虚拟机字节码执行的地址 (2)java虚拟机栈:java方法运行时的局部变量表,操作数栈,方法出口等 ( ...

  6. Bootstrap基本理论

    Bootstrap,来自 Twitter,是目前最受欢迎的前段框架.Bootstrap是基于HTML.CSS.JAVASCRIPT的,它简洁灵活,使得Web开发更加快捷 Bootstrap特点:优雅, ...

  7. placeholder字体样式及兼容

    样式修改css::-webkit-input-placeholder { /* WebKit browsers */ color: #fff!important;}:-moz-placeholder ...

  8. netcdf源码在windows上的编译

    作者:朱金灿 来源:http://blog.csdn.net/clever101 今天搞搞netcdf源码在windows上的编译,折腾了半天,算是搞成了,特地记录一下过程.我的目标是要生成netcd ...

  9. 【程小白】Java基本特性

    一.StringBuffer.StringBuilder的区别 StringBuffer是线程安全的,StringBuilder是线程不安全的.所以以后在单线程中,如果涉及大量字符串操作,还是用Str ...

  10. SEO 第九章

    SEO第九章 本次课目标: 1.  外部优化之平台优化 2.  如何撰写SEO诊断方案 一.外部平台优化——百度系列平台 百度系列的平台都是属于百度自己的产品,排名都是比较高的,所以我们在做外部推广的 ...