志在指尖
用双手敲打未来

java switch语句格式(用法详解)

javaswitch语句格式

1、输入一个名次,第1~4名,别离称为冠军、亚军、第三名、殿军,5名及5名以上,称为其他名次。
importjava.util.Scanner;
publicclassswitch1
{
publicstaticvoidmain(String[]args)
{
Scanners=newScanner(System.in);
System.out.println(“请输入你获得的名次(写阿拉伯数字):”);
intmingci=s.nextInt();
switch(mingci)
{
case1:System.out.println(“祝贺你获得了冠军!”);break;
case2:System.out.println(“祝贺你获得了亚军!”);break;
case3:System.out.println(“祝贺你获得了第三名!”);break;
case4:System.out.println(“祝贺你获得了殿军!”);break;
default:System.out.println(“祝贺你获得了其他名次!”);break;
}
}
}
2、输入一个名次,榜首~四名,别离称为冠军、亚军、第三名、殿军,五名及五名以上,称为其他名次。测验能否输入两个字,比如“十二”。
importjava.util.Scanner;
publicclassswitch2
{
publicstaticvoidmain(String[]args)
{
Scanners=newScanner(System.in);
System.out.println(“请输入你获得的名次(写一、二、三、四、五等):”);
Stringmingci=s.next();
switch(mingci)
{
case”一”:System.out.println(“祝贺你获得了冠军!”);break;
case”二”:System.out.println(“祝贺你获得了亚军!”);break;
case”三”:System.out.println(“祝贺你获得了第三名!”);break;
case”四”:System.out.println(“祝贺你获得了殿军!”);break;
case”十二”:System.out.println(“祝贺你获得了第十二名!”);break;
default:System.out.println(“祝贺你获得了其他名次!”);break;
}
}
}
经测验,可以输入两个字。

java

javaswitch语句格式用法详解

switchcase句子在许多编程语言中的功用都是等于条件判别,java中为多路分支挑选流程专门提供了switch句子,switch句子根据多个表达式的值,挑选运转多个操作中的一个。当需求对选项进行等值判别时,运用switch句子更加简洁明了。switch的case句子能够处理int,short,byte,char类型的值,可是不能处理long,String等类型。
语法
switch(表达式){
case表达式常量1:句子1;break;
case表达式常量2:句子2;break;
……
case表达式常量n:句子n;break;
[default:句子n+1;]
}
其中,一个case表达式常量成为标号,代表一个case分支的入口。switch句子在运转时首要核算switch圆括号中“表达式”的值,这个值有必要是整型或字符型的,同时后边各个case表达式常量的值的类型应与switch圆括号中“表达式”的值类型一致。一个case句子代表一个制定操作,然后转向结构出口。default子句是可选的,当表达式的值与case表达式常量的值都不匹配时,就运转default子句,转向结构出口。
履行顺序
switch表达式的值决定挑选哪个case分支,假如找不到相应的分支,就直接从”default”开始输出。
当程序履行一条case句子后,由于例?中的case分支中没有break和return句子,所以程序会履行紧接于其后的句子。
publicclassSwitch{
publicstaticvoidmain(String[]args)
{
intx=0;
switch(x)
{
default:
System.out.println(“default”);
case1:
System.out.println(1);
case2:
System.out.println(2);
}
}
}
输出成果如下:
default
1
2
switch与if的区别
1.switch和if句子都是Java的挑选句子,这两种句子都是允许在程序运转时控制程序的履行进程。
2.switch和if-else比较,由于运用了BinaryTree算法,绝大部分情况下switch会快一点,除非是if-else的第一个条件就为true。
3.编译器编译switch与编译if…else…不同。不管有多少case,都直接跳转,不需逐个比较查询。
4.比较于if-else结构,switch的功率绝对是要高许多的,可是switch运用查找表的方式决定了case的条件有必要是?个连续的常量。?if-else则能够灵敏的多。
5.switch功率高,从汇编代码能够看出来。switch只核算?次值,然后都是test。
6.switch的功率与分支数无关。当只要分支比较少的时分,if功率比switch高(由于switch有跳转表)。分支比较多,那当然是运用switch。
总结
switch(A),括号中A的取值只能是整型或者能够转换为整型的数值类型,比方byte、short、int、char、还有枚举;需求着重的是:long和String类型是不能作?在switch句子上的。
caseB:C;case是常量表达式,也便是说B的取值只能是常量(需求界说一个final型的常量,后边会详细介绍原因)或者int、byte、short、char(比方1、2、3、200000000000(注意了这是整型)),假如你需求在此处写一个表达式或者变量,那么就要加上单引号;case后的句子能够不用大括号,便是C不需求用大括号包裹着;
default便是假如没有契合的case就履行它,default并不是有必要的。
实例
1.标准型(case后边都有break句子,case后的值都是整数)
inti=3;
switch(i)
{
case1:
System.out.println(1);
break;
case2:
System.out.println(2);
break;
default:
System.out.println(“default”);
break;
}
2.常量型(case后边都有break句子,case后的值都是常量)
privatefinalintNUM1=1;
privatefinalintNUM2=1;
inti=3;
switch(i)
{
caseNUM1:
System.out.println(1);
break;
caseNUM2:
System.out.println(2);
break;
default:
System.out.println(“default”);
break;
}
3.表达式型(case后边都有break句子,case后的值都是表达式)
inti=3;
intb=2;
switch(i)
{
case‘类名.getId()‘:
System.out.println(1);
break;
case‘b‘
System.out.println(2);
break;
default:
System.out.println(“default”);
break;
}

未经允许不得转载:IT技术网站 » java switch语句格式(用法详解)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载