Java switch case数据类型原理解析

这篇文章主要介绍了Java switch case数据类型原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Java 中 switch case 语句用来判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

语法格式如下:

switch(expression){
  case value :
    //语句
    break; //可选
  case value :
    //语句
    break; //可选
  //你可以有任意数量的case语句
  default : //可选
    //语句
}

这里的 expression 都支持哪些类型呢?

  • 基本数据类型:byte,short,char,int
  • 包装数据类型:Byte,Short,Character,Integer
  • 枚举类型:Enum
  • 字符串类型:String(Jdk 7+ 开始支持)

基本数据类型和字符串很简单不用说,下面举一个使用包装类型和枚举的,其实也不难,注意只能用在 switch 块里面。

// 使用包装类型
Integer value = 5;
switch (value) {
  case 3:
    System.out.println("3");
    break;
  case 5:
    System.out.println("5");
    break;
  default:
    System.out.println("default");
}

// 使用枚举类型
Status status = Status.PROCESSING;
switch (status) {
  case OPEN:
    System.out.println("open");
    break;
  case PROCESSING:
    System.out.println("processing");
    break;
  case CLOSE:
    System.out.println("close");
    break;
  default:
    System.out.println("default");
}

以下为官网的介绍文档。

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html

使用 switch case 语句也有以下几点需要注意。

  • case 里面必须跟 break,不然程序会一个个 case 执行下去,直到最后一个 break 的 case 或者 default 出现。
  • case 条件里面只能是常量或者字面常量。
  • default 语句可有可无,最多只能有一个。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...