java switch,Java中有Switch循环方式吗?
java switch,Java中有Switch循环方式吗?详细介绍
本文目录一览: Java中有Switch循环方式吗?
有的,具体语法
int a = 1;
switch (a){
case 1:
break;
case 2:
break;
default:
break;
}
有的,switch 语句格式如下:
switch ( 表达式 ) {
case 值 1 :
语句体 1 ;
break ;
case 值 2 :
语句体 2 ;
break ;
…
default :
语句体 n + 1 ;
break ;
}
Switch循环执行流程:
switch接收结果,
接收的结果和case后面的值1进行对比,成立,执行语句1,break 结束语句;
值1和switch接收的结果不匹配,和值2进行比较,成立,执行语句2, break,结束语句;
如果上面case都不匹配,执行default语句,语句n,break ,结束...
java中 使用switch语句实现学生成绩等级
#include
intmain()
{
doublescore;
intnKey;
while(scanf_s("%lf",&score)==1)
{
if(score<0||score>100)
{
printf("请输入0-100范围内的分数\n");
continue;
}
nKey=(int)score/10;
switch(nKey)
{
case0:
case1:
case2:
case3:
case4:
case5:
printf("E\n");
break;
case6:
printf("D\n");
break;
case7:
printf("C\n");
break;
case8:
printf("B\n");
break;
case9:
case10:
printf("A\n");
break;
default:
break;
}
}
return0;
}
扩展资料:switch用法
一般形式:
switch(表达式){
case常量表达式1: 语句1;
case常量表达式2: 语句2;
?
case常量表达式n: 语句n;
default: 语句n+1;
}
意思是先计算表达式的值,再逐个和case后的常量表达式比较,若不等则继续往下比较,若一直不等,则执行default后的语句;若等于某一个常量表达式,则从这个表达式后的语句开始执行,并执行后面所有case后的语句。
与if语句的不同:If语句中若判断为真则只执行这个判断后的语句,执行完就跳出if语句,不会执行其他if语句;而switch语句不会在执行判断为真后的语句之后跳出循环,而是继续执行后面所有case语句。
在每一case语句之后增加break语句,使每一次执行之后均可跳出switch语句,从而避免输出不应有的结果。
参考资料来源:switch-百度百科
JAVA中SWITCH为什么不能使用LONG型作参数?
交换机在JAVA中不能使用long的根本原因是长时间转换为int将失去精度,导致数据不准确,因此JAVA交换机具有不允许长的逻辑规则。
switch语句中的变量类型可以是:byte,short,int或char。从JavaSE7开始,交换机支持字符串String类型,case标记必须是字符串常量或文字。
扩展资料
Switch案例在java中有以下规则:
switch语句可以有多个case语句。每个案例后跟一个值和一个要比较的冒号。
case语句中值的数据类型必须与变量的数据类型相同,并且只能是常量或文字常量。
当变量的值等于case语句的值时,case语句后面的语句开始执行,直到break语句出现跳出switch语句。
遇到break语句时,switch语句终止。程序跳转到switch语句后的语句执行。case语句不必包含break语句。如果没有发生break语句,程序将继续执行下一个case语句,直到发生break语句。
switch语句可以包含一个默认分支,它通常是switch语句的最后一个分支(可以是任何地方,但建议在最后一个)。当case语句没有值且变量的值相等时,执行Default。默认分支不需要break语句。
参考资料:百度百科-JAVA
java switch语句是什么意思?
switch的用法是判断case后面的表达式和switch后面的表达式是否相匹配,一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break。
switch(t),t的值貌似只有几类,只能是char或者int。根据t的值不同,选择不同的case语句,比如t==10的时候,会寻找case 10: 对应10的执行语句;break;如果没有case 10则会去执行default:默认的执行语句。
java switch语句如下:
Scanner input = new Scanner (System.in)。
int temp=0。
System.out.println("请输入等级:")。
String a = input.next()。
if(a.equals("优秀")){。
temp=0。
}else if(a.equals("中等")){。
temp=1 }。
switch (temp) {。
case 0。
System.out.println("100")。
break。
case 1。
System.out.println("80")。
break。
default。
java中用switch划分年龄段
switch和case辨别属于儿童,青年,中年,老年人。
使用一个switch方法,四个case支方法判断,如果年龄小于十输出case1,为儿童,如果大于十小于30,输出青年,如果大于30小于60,输出中年,如果大于60小于150则输出老年人。
switch 语句和 if 语句完全可以相互取代,但从编程的角度,它们又各有各的特点,所以至今为止也不能说谁可以完全取代谁,当嵌套的 if 比较少时三个以内,用 if 编写程序会比较简洁,但是当选择的分支比较多时,嵌套的 if 语句层数就会很多,导致程序冗长,可读性下降,因此提供 switch 语句来处理多分支选择。
java中switch语句
直接run一下 不就知道结果了,要想知道过程,可以在中间设置断点一步一步的走一遍。
y是5 ;
他是这样运行的,待我给你细细道来~
首先,x=2,进入switch,找case 2: 结果没有,执行default 得到y=4,然后继续执行 case 3:得到y = 5,break 跳出循环。
如果switch(values) ,里面没有values 的话,他会执行default 的语句,但是default 没有 break, 所以他会继续向下执行,直到 brea; 跳出循环。
switch 语句的格式:
switch ( 整型或字符型变量 )
{
case 变量可能值1 :
分支一;
break;
case 变量可能值2 :
分支二;
break;
case 变量可能值3 :
分支三;
break;
...
default :
最后分支;
}
在 switch 的语法里,我们要学到4个关键字:switch、case 、break、default。
在 switch ( 变量 ) 这一行里,变量只能是整型或字符型。程序先读出这个变量的值,然后在各个"case"里查找哪个值和这个变量相等,如果相等,就算条件成立,程序执行相应的分支,直到碰上break或者switch语句结束。
了解一下switch,case,break,default的意思,对理解前面的一切也会有帮助,它们分别是:开关,情况,中断,默认(值)。那么用一句话套起来的说法就是:根据开关值的不同,执行不同的情况,直到遇上中断;如果所有的情况都不符合开关值,那么就执行默认的分支。
最后说一下关于switch中非常重要的几个注意点。
第一、switch ( 整型或字符型变量 ) 中,变量的类型如文中所标,只能是整型和字符类型。它们包含 int,char。当然无符类型或不同的长度整型(unsigned int,short,unsigned char)等都可以。另外,枚举类型(enum)内部也是由整型或字符类型实现。所以也可以。实型(浮点型)数就不行,如:
float a = 0.123;
switch(a) //错误!a不是整型或字符类型变量。
{
....
}
第二、case 之后可以是直接的常量数值,如例中的1、2、3、4,也可以是一个使用常量计算式,如2+2等,但不能是变量或带有变量的表达式,如 a * 2等。当然也不能是实型数,如4.1,或2.0 / 2 等。
switch(formWay)
{
case 2-1 : //正确
...
case a-2 : //错误
...
case 2.0 : //错误
...
}
另外,在case 与常量值之后,需要一个冒号,请注意不要疏忽。
第三、break 的作用。
break 使得程序在执行完选中的分支后,可以跳出整个switch语句(即跳到switch接的一对{}之后),完成switch。如果没有这个break,程序将在继续前进到下一分支,直到遇到后面的break或者switch完成。
比如,假设现在程序进入case 1: 中的分支,但case 1 的分支这回没有加break:
case 1 :
System.out.println("您是通过搜索引擎来到本网站的。");
case 2 :
System.out.println("您是通过朋友介绍来到本网站的。");
那么,程序在输出 "您是通过搜索引擎来到本网站的。" 之后,会继续输出case 2中的 "您是通过朋友介绍来到本网站的。" 。
请大家将前面实例中的代码片段改为如下(红色部分,即将所有的break都通过加//使之无效。):
...
case 1 :
System.out.println("您是通过搜索引擎来到本网站的。" );
//break;
case 2 :
System.out.println("您是通过朋友介绍来到本网站的。");
//break;
case 3 :
System.out.println("您是通过报刊杂志来到本网站的。");
//break;
case 4 :
System.out.println("您是通过其它方法来到本网站的。");
//break;
default :
System.out.println("错误的选择!请输入1~4的数字做出选择。");
...
运行后,结果会是如何?请大家动手试试,然后在作业中回答我。
第四、default是可选中,前面我们已经说过它的用处,及如果没有default,程序在找不到匹配的case分支后,将在switch语句范围内不做什么事,直接完成switch。大家也可以在实例中将default的代码注释掉,然后试运行,并且在选择时输入5。
...
//default :
//cout << "错误的选择!请输入1~4的数字做出选择。" << endl;
...
第五、必要时,可在各个case中使用{}来明确产生独立的复合语句。
前面我们在讲if...语句和其它流程控制语句时,都使用{}来产生复合语句:
if (条件)
{
分支一;
}
除非在分支中的语句正好只有一句,这里可以不需要花括号{}。但在switch的各个case语句里,我们在语法格式上就没有标出要使用{},请看:
switch ( 整型或字符型变量 )
{
case 变量可能值1 :
分支一;
break;
case 变量可能值2 :
....
}
一般教科书上只是说 case 分支可以不使用{},但这里我想提醒大家,并不是任何情况下case分支都可以不加{},比如你想在某个case里定义一个变量:
switch (formWay)
{
case 1 :
int a=2; //错误。由于case不明确的范围,编译器无法在此处定义一个变量。
...
case 2 :
...
}
在这种情况下,加上{}可以解决问题。
switch (formWay)
{
case 1 :
{
int a=2; //正确,变量a被明确限定在当前{}范围内。
...
}
case 2 :
...
}
javajava问题,题目要求用switch语句
参考代码:
import java.util.Scanner;public class Exercise7 { public static void main(String[] strings) { Scanner input = new Scanner(System.in); int number_Of_DaysInMonth = 0; String MonthOfName = "Unknown"; System.out.print("Input a month number: "); int month = input.nextInt(); System.out.print("Input a year: "); int year = input.nextInt(); switch (month) { case 1: MonthOfName = "January"; number_Of_DaysInMonth = 31; break; case 2: MonthOfName = "February"; if ((year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0))) { number_Of_DaysInMonth = 29; } else { number_Of_DaysInMonth = 28; } break; case 3: MonthOfName = "March"; number_Of_DaysInMonth = 31; break; case 4: MonthOfName = "April"; number_Of_DaysInMonth = 30; break; case 5: MonthOfName = "May"; number_Of_DaysInMonth = 31; break; case 6: MonthOfName = "June"; number_Of_DaysInMonth = 30; break; case 7: MonthOfName = "July"; number_Of_DaysInMonth = 31; break; case 8: MonthOfName = "August"; number_Of_DaysInMonth = 31; break; case 9: MonthOfName = "September"; number_Of_DaysInMonth = 30; break; case 10: MonthOfName = "October"; number_Of_DaysInMonth = 31; break; case 11: MonthOfName = "November"; number_Of_DaysInMonth = 30; break; case 12: MonthOfName = "December"; number_Of_DaysInMonth = 31; } System.out.print(MonthOfName + " " + year + " has " + number_Of_DaysInMonth + " days\n"); }}
java中switch的用法
switch(a){
case '1':
System.out.println("Hello World!");
break;
case '2':
System.out.println("I Love Java!");
break;
case '3':
System.out.println("Java is Easy!");
break;
default :
System.out.println("你的输入不合法!") ;
break;
}
语法没有错误,逻辑错在你输入的是int类型,而case后面跟的事char类型,他会将char类型转换成对象的int类型。所以不管你输入1,2,3都是不匹配的。
case '1':
原因就是你把 1 用 " "给整起来了。
请注意::"1"并不等于1.
所以应该写成:
switch(a){
case 1:
System.out.println("Hello World!");
break;
case 2:
System.out.println("I Love Java!");
break;
case 3:
System.out.println("Java is Easy!");
break;
default :
System.out.println("你的输入不合法!") ;
break;
}
错倒是没有错,只是有一个小小的知识点你没有理解而已。
这里 int a = scanner.nextInt(); a变量是整型
你在case的使用使用了字符型的常量'1'、'2'和'3' 这三个值会被自动转换成整型值49,50和51
所以当你输入1、2、3的时候,程序会进行到default
你输入一下49、50或51再看一下。
以为你的case 后面跟的是 '1',
'1'属于char类型,但是 你的a是int类型
所以无论输入1,2,3那个都不会走case而直接走default
在JAVA里面char和int是可以相互转换的 所以这样写switch也不会报错
你的case 不要用'1',要用1,要是你用'1',说明你要接受的是char的。但是你的a是int的。他总是报输入错误,因为数据类型不一样。
switch(a){
case 1:
System.out.println("Hello World!");
break;
case 2:
System.out.println("I Love Java!");
break;
case 3:
System.out.println("Java is Easy!");
break;
default :
System.out.println("你的输入不合法!") ;
break;
}
这样就对了!
java中switch的用法
首先从原理上来阐述这个问题:
switch(表达式)
{
case 常量表达式1:语句1;
....
case 常量表达式2:语句2;
default:语句;
}
1.default就是如果没有符合的case就执行它,default并不是必须的.
2.case后的语句可以不用大括号.
3.switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型.
4.一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break,利用这一特性可以让好几个case执行统一语句.
原理归原理,下面是几个容易混淆的例子.
1.标准型(case后面都有break语句)
int i=3;
switch(i)
{
case 1:
System.out.println(1);
break;
case 2:
System.out.println(2);
break;
case 3:
System.out.println(3);
break;
default:
System.out.println("default");
break;
}
输出结果:
3
2.特殊型1(不是完全有break语句,可以完成一些特殊应用)
int year=2005;
int month=3;
int day;
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day=31;
break;
case 2:
day=28;
break;
case 4:
case 6:
case 9:
case 11:
day=30;
break;
}
这里 day=31;
3.特殊型2(default的位置)
int i=1;
switch(i)
{
case 1:
System.out.println(1);
default:
System.out.println("default");
case 2:
System.out.println(2);
break;
case 3:
System.out.println(3);
break;
}
输出结果:
1
default
2
java switch语句有哪些?
java switch语句有哪些如下:
Scanner input = new Scanner (System.in)。
int temp=0。
System.out.println("请输入等级:")。
String a = input.next()。
if(a.equals("优秀")){。
temp=0。
}else if(a.equals("中等")){。
temp=1 }。
switch (temp) {。
case 0。
System.out.println("100")。
break。
case 1。
System.out.println("80")。
break。
default。
编程工具:
Eclipse:一个开放源代码的、基于Java的可扩展开发平台。
NetBeans:开放源码的Java集成开发环境,适用于各种客户机和Web应用。
IntelliJ IDEA:在代码自动提示、代码分析等方面的具有很好的功能。
MyEclipse:由Genuitec公司开发的一款商业化软件,是应用比较广泛的Java应用程序集成开发环境。
EditPlus:如果正确配置Java的编译器“Javac”以及解释器“Java”后,可直接使用EditPlus编译执行Java程序。