Java中String,long,byte类型可以作为switch中的表达式吗?

首先介绍一下java中的switch语句:
switch语句 :
格式
switch(表达式){
case 值1:
语句1;
break ;
case 值2:
语句2;
break ;
...
...
default:
语句n+1;
break ;
}

执行流程:

  1. switch表达式 得到一个结果,首先需要和case后面的值1进行比较, 如果匹配,执行语句1,遇见break,结束语句
  2. 如果case后面的值1不匹配,然后case 值2进行匹配,如果成功,执行语句2,break结束
  3. 依次这样进行选择判断,如果都不匹配,执行default语句,结束!

switch后面的表达式可以跟数据类型:int,short,char,byte
JDK1.5(包含)以后 表达式可以是枚举类型(enum)(第二阶段---> jdk新特性 ) (引用类型)
JDK1.7(包含)以后 表达式可以是String类型
long不可以作为switch中的表达式

原文地址:https://blog.51cto.com/14651315/2462563

时间: 2024-11-06 07:37:43

Java中String,long,byte类型可以作为switch中的表达式吗?的相关文章

转:Java中String与byte[]的转换

fuzhaoyang 转:Java中String与byte[]的转换 原文地址:http://blog.csdn.net/llwan/article/details/7567906 String s = "fs123fdsa";//String变量 byte b[] = s.getBytes();//String转换为byte[] String t = new String(b);//bytep[]转换为String 做JAVA经常会碰到中文乱码问题,还有各种编码的问题,特别是Stri

Java中String转换Double类型 Java小数点后留两位

Java中String转换Double类型 double num1 = 0.0; String qq = "19.987"; num1 = Double.valueOf(qq.toString()); 太祖元年 Java小数点后留两位 double num1 =11; double num1 =21; String num1 =""; DecimalFormat df = new DecimalFormat(".00");num3 = df.fo

js中String转Date类型并比较大小

1.比较常用的方法,但繁琐: 主要使用Date的构造方法:Date(int year , int month , int day) Java代码   <script> var str1 = "2009-8-9"; var arr1 = str1.split("-"); var date1 = new Date(arr1[0],parseInt(arr1[1])-1,arr1[2]); var str2 = "2009-8-4"; va

Java:String转换为date类型

public static Date stringToDate(String str) { DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Date date = null; try { // Fri Feb 24 00:00:00 CST 2012 date = format.parse(str); } catch (ParseException e) { e.printStackTrace(); } // 2012-0

js中String.prototype.format類似于.net中的string.formitz效果

String.prototype.format = function(args) { if (arguments.length>0) { var result = this; if (arguments.length == 1 && typeof (args) == "object") { for (var key in args) { var reg=new RegExp ("({"+key+"})","g&qu

【Java】 String和char[]类型间的相互转化

(1)String类型转char[] 类型,使用String类型的toCharArray()方法: (2)char[] 类型转String类型,使用String.valueOf()方法: public class Test { public static void main(String[] args) { // String转char[] String str = "Hello World!"; char[] cs = str.toCharArray(); for (char c :

C++ 中 string, char*, int 类型的相互转换

1.string到int的转换 1) 在 C 标准库里面,使用 atoi: #include <cstdlib> #include <string> std::string text = "152"; int number = std::atoi( text.c_str() ); if (errno == ERANGE) //可能是std::errno { //number可能由于过大或过小而不能完全存储 } else if (errno == ????) //

java中String、StringBuffer、StringBuilder的总结

看了很多关于java的string的相关知识,这里做一个较为全面的总结,内容转自不同地方的博客,鉴于出处较多,就不一一列举了. java中String.StringBuffer.StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题.现在总结一下,看看他们的不同与相同. String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 1.可变与不可变 String类中使用字符数组保存字符串

java中String、StringBuffer、StringBuilder的区别

java中String.StringBuffer.StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题.现在总结一下,看看他们的不同与相同. 1.可变与不可变 String类中使用字符数组保存字符串,如下就是,因为有“final”修饰符,所以可以知道string对象是不可变的. private final char value[]; StringBuilder与StringBuffer都继承自AbstractStringBuilder类,在Abstra