首页 > 编程语言 >2014.4.19.12.27_switch_8.28_java switch语句使用注意的四大细节_0.01

2014.4.19.12.27_switch_8.28_java switch语句使用注意的四大细节_0.01

时间:2023-06-02 20:06:33浏览次数:50  
标签:case 27 java int System break switch out


java switch语句使用注意的四大细节

很多朋友在使用java switch语句时,可能没有注意到一些细节,本文将详细介绍使用java switch语句四大要点,需要的朋友可以参考下。

switch语句的格式如下:(它的功能是选出一段代码执行)

switch(整数选择因子) { 
case 整数值1 : 语句; break; 
case 整数值2 : 语句; break; 
case 整数值3 : 语句; break; 
case 整数值4 : 语句; break; 
case 整数值5 : 语句; break; 
... 
default:语句; 
}

 

但是要注意几点如下:
1.switch中case的参数类型只能是int类型,但是放byte,short,char类型的也可以是因为byte,short,shar可以自动提升(自动类型转换)为int,所以归根到底还是int类型,这里说明一下java有8中数据类型:byte、short、char、int、long、float、double,还有一种boolean,其中boolean不能跟任何类型数据相互转化,小的类型可以自动转化为大的数据类型,大的数据类型转化为小的必须要强制转换。
2.case后可以是表达式。
3.break是用来跳出整个switch语句的,如果没有,将执行下一分支。
4.好的程序员会利用好default。

一、Java switch的使用

二、switch用String作为条件

三、switch语句参数

四、for定义参数

一、java switch的基本使用:

Java代码 2014.4.19.12.27_switch_8.28_java switch语句使用注意的四大细节_0.01_System

1 /* int参数的switch */
2 int x = new
3 System.out.println("x=" + x);
4 switch
5 case
6 System.out.println("随机0");break;
7 case
8 System.out.println("随机1");break;
9 case
10 System.out.println("随机2");break;
11 }
12
13 /* 16进制int参数的switch */
14 int
15 System.out.println("x2=" + x2);
16 switch
17 case
18 System.out.println("随机0");break;
19 case
20 System.out.println("随机1");break;
21 case
22 System.out.println("随机49");break;
23 }
24
25 /* int参数的switch */
26 char
27 System.out.println("y=" + y);
28 switch
29 case
30 System.out.println("随机a");break;
31 case
32 System.out.println("随机b");break;
33 case
34 System.out.println("随机c");break;
35 }

二、java中的switch用String作为条件

在开发java程序的过程中,我们遇到了条件判断首选就是switch,但是遗憾的是,我们java中的switch功能不如C#中的强大,她不支持字符串作为条件。这时我们该怎么办呢?这种种解决方案比较容易理解。

先看代码:

36 public enum Day
37 {
38 SUNDAY, MONDAY, TUESDAY, WEDNESDAY,THURSDAY, FRIDAY, SATURDAY,NOVALUE;
39 public static Day toDay(String str)
40 {
41 try {
42     return valueOf(str);
43 }catch (Exception ex) {
44     return NOVALUE;
45 }
46 }
47 }
48 main:方法体测试
49 Scanner s=new Scanner(System.in);
50 String day=s.next();//输入的字符串
51 switch(Day.toDay(day.toUpperCase())){
52 case SUNDAY:
53 System.out.println("星期天");
54 break;
55 case MONDAY:
56 System.out.println("星期一");
57 break;
58 case TUESDAY:
59 System.out.println("星期二");
60 break;
61 }


看看这个代码,其实是通过定义枚举来实现的。将字符串作为枚举,然后通过toDay方法返回的是一个int的值。这样就可以让switch接受String的条件了。就这么简单!

三、switch语句参数

62 float z=2; 
switch(z){ 
//,不能是z, Cannot switch on a value of type float. Only convertible int values or enum constants are permitted 
//也就是说,只有当该数据类型可以自动转换为int型时,才可以作为switch的语句, 
//所以该类型表示的范围应该比int的小,short和byte都可以。 
case 1: System.out.println(1);break; 
case 2: System.out.println(2);break; 
case 3: System.out.println(3);break; 
}

四、for定义参数

63 /* 
*int x =2; int y=3; 
这里声明变量的方式" int a=0, b=0;" 
如果写成" int a=0, int b=0;"是错误的, 因为如果声明为这种方式,则他们是两个语句, 
要用分号隔开,但是for语句中分号只能有两个。所以使用"int a=0,b=0"这种方式好使 
*/64 for(int a=0, b=0; a<2; b=++a, System.out.println("b="+b)){ 
System.out.println("a="+a); 65 }
66

标签:case,27,java,int,System,break,switch,out
From: https://blog.51cto.com/u_11797608/6404722

相关文章

  • 2015.4.21.09.05_多态_2015.4.21_深入理解java多态性_0.01
    深入理解Java多态性多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。多态有两种表现形式:重载和覆盖首先说重载(overload),是发生在同一类中。与什么父类......
  • JAVA Socket编程
    aliases:[]tags:""summary:[基于TCP/IP和UDP协议的JavaSocket网络通信编程]author:[yaenli]notekey:[20230512-143738]Socket网络模型Socket编程是在TCP/IP、UDP协议上的网络编程,在此之前,先了解下常见的网络模型:OSI七层模型与TCP模型:OSI七层模型详解(OSI......
  • 定时器(JavaScript)的使用
    前言通过定时器自动的做一些事情,例如发送网络请求一、定时器定时器:定时器可以设定时间自动的做某件事情。定时器是一种方法,不是对象,定时器属于window对象。二、定时器具体内容周期性定时器:间隔一定的时间,自动的做某件事情setInterval(函数名,间隔时间)一次性定时器:延迟多长时间做......
  • java 封装
    1.面向对象思想为什么使用面向对象使人和计算机的交流更加流畅;提高开发效率生活中/计算机描述对象对比生活中的对象定义:看的见摸得着的都是对象计算机中的对象的定义:1.类2.属性3.方法类图使用类图描述类:用于分析和设计类;直观,容易理解; ......
  • 三个博弈-巴什博奕、威佐夫博弈、尼姆博弈。acm博弈算法笔记HDU 2149,1850,1527
    博弈论(一)、acm博弈基础算法BashGame,NimGame和WythoffGame(即巴什博奕、尼姆博弈、威佐夫博弈)Bash  Game: 同余理论Nim   Game: 异或理论WythoffGame: 黄金分割(二)、三个博弈。1、巴什博奕。只有一堆n个物品,两个人轮流从这堆物品中取物, 规定每次至少取一个,......
  • 搭建Java环境
    一、JDK的下载Java的JDK是Sun公司的产品。由于Sun公司已经被Oracle公司收购,因此JDK可以在Oracle的官方网站下载。下面介绍下载JDK的方法,具体步骤如下:(1)打开浏览器,输入如下网址:https://www.oracle.com/technetwork/java/javase/downloads/jdk13-downloads-5672538.html,或者点击此处......
  • java while 循环 打印1到5的值
    packagecom.fqs.test;importjava.util.Scanner;publicclasshello{publicstaticvoidmain(String[]args){//循环打印1到5inti=0;while(i<5){i++;System.out.print(i);}}} 先打印后......
  • Java的内存回收
     Java的内存回收http://blog.sina.com.cn/s/blog_4c925dca0100ilk0.html ......
  • Java8新特性-关于List的操作
    1Java获取List对象的某属性组成新的ListList<String>list=signPicsDtoEntityList.stream().map(e->e.getType()).collect(Collectors.toList());2Java批量修改List里面某个属性的方法方法一:通过流的方式List<DishFlavor>flavors=dishDto.getFlavors();flavors=f......
  • java 求偶数和
    packagecom.fqs.test;importjava.util.Scanner;publicclasshello{publicstaticvoidmain(String[]args){//求1到5的和intsum=0;for(inti=0;i<6;i++){if(i%2==0){sum+=i;}......