JAVA中SWITCH为什么不能使用LONG型作参数?

作者&投稿:裴秦 (若有异议请与网页底部的电邮联系)
java 中,long 型数据,可单独作为一个表达式吗?在 switch() 语句中,为什么不可以用 long ?~

不知道你所说的表达式是什么意思。你可以声明一个Long型变量并初始化。如:
Long i;或Long i = 10L;
至于在switch语句中为什么不能使用Long型变量,java中有这样的规定,switch中的参数只能是离散变量或枚举类型。
离散变量包括:byte;int;short;char;枚举类型则需要自己定义,例如
public enum{first,second,third};

java的语法规定switch语句的判断条件只可以接受int,byte,char,short,不能接受其他类型.

交换机在JAVA中不能使用long的根本原因是长时间转换为int将失去精度,导致数据不准确,因此JAVA交换机具有不允许长的逻辑规则。

switch语句中的变量类型可以是:byte,short,int或char。从Java SE 7开始,交换机支持字符串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为什么不能使用long的根本原因是long转化成int会丢失精度,导致数据不准确,所以JAVA的switch有不允许使用long的逻辑规则。

switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。



扩展资料


Switch案例在java中有以下规则:

1、switch语句可以有多个case语句。每个案例后跟一个值和一个要比较的冒号。

2、case语句中值的数据类型必须与变量的数据类型相同,并且只能是常量或文字常量。

3、当变量的值等于case语句的值时,case语句后面的语句开始执行,直到break语句出现跳出switch语句。

4、遇到break语句时,switch语句终止。程序跳转到switch语句后的语句执行。 case语句不必包含break语句。如果没有发生break语句,程序将继续执行下一个case语句,直到发生break语句。

5、switch语句可以包含一个默认分支,它通常是switch语句的最后一个分支(可以是任何地方,但建议在最后一个)。当case语句没有值且变量的值相等时,执行Default。默认分支不需要break语句。

Java 在电子商务领域以及网站开发领域占据了一定的席位。开发人员可以运用许多不同的框架来创建web项目,SpringMVC,Struts2.0以及frameworks。

即使是简单的 servlet,jsp和以struts为基础的网站在政府项目中也经常被用到。例如医疗救护、保险、教育、国防以及其他的不同部门网站都是以Java为基础来开发的。

嵌入式领域,Java在嵌入式领域发展空间很大。在这个平台上,只需130KB就能够使用Java技术(在智能卡或者传感器上)。

大数据技术,Hadoop以及其他大数据处理技术很多都是用Java,例如Apache的基于Java的HBase和Accumulo以及 ElasticSearchas。

高频交易的空间,Java平台提高了这个平台的特性和编译,他同时也能够像 C++ 一样传递数据。正是由于这个原因,Java成为的程序员编写交易平台的语言,因为虽然性能不比C++,但开发人员可以避开安全性,可移植性和可维护性等问题。

科学应用,Java在科学应用中是很好选择,包括自然语言处理。最主要的原因是因为Java比C++或者其他语言相对其安全性、便携性、可维护性以及其他高级语言的并发性更好。



JAVA中switch为什么不能使用long的根本原因是long转化成int会丢失精度,导致数据不准确,所以JAVA的switch有不允许使用long的逻辑规则。

switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。

扩展资料

switch case 在java中还有如下规则:

1、switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。

2、case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。

3、当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。

4、当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。

5、switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支(可以在任何位置,但建议在最后一个)。default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句。



swtich()里面必须是int和enum--即枚举类型。

short、 char 或者 byte他会自动转换为int的。。

long不能自动转换为int..

因为long比int范围大..可能会丢失精度..

这个,以我浅薄的知识来解答一下,首先,JAVA定义SWITCH只能用枚举和整形来作为参数,里面是case,int的表达范围已经是很广了,如果能从头到尾CASE下来,那么,这个源程序已经得数十亿行了,所以,对于一个switch来说,INT的范围应该是够了吧。至于究竟为什么,我也没有开发过JAVA,不太明白。纯属猜测


java语言中的switch语句是什么意思?说的白话一点,别太专业了!_百度知 ...
switch是Java语句中的一个条件语句,就是一个事情满足了发生的条件就会执行一个结果,反之就会执行另一个结果。

Java 中的 switch 语句为什么只能是 byte、short、int 、char、枚举...
Java中的switch语句只能处理byte、short、int、char、枚举和String类型的数据,原因如下:1. switch语句的设计初衷是为了简化多个if-else语句的使用。它允许我们根据一个变量的值来选择执行不同的代码块。为了实现这个目标,switch语句需要知道每个分支的取值范围。如果switch语句可以处理任意类型的数据,那么在...

java switch语法特点
switch语句特点:1、switch语句选择的类型只有四种:byte,short,int,char。2、case与default没有顺序。先执行第一个case,没有匹配的case执行default。3、结束switch语句的两种情况:①遇到break,②执行到switch语句结束。4、如果匹配的case或者default没有对应的break,那么程序会...

java里面switch的用法是怎样的
switch(表达式或一个值){ case 表达式或者一个值 1:语句1;break;case 表达式或者一个值 2:语句2;break;```case 表达式或一个值 n:语句n;break;default :语句序列n+1;break;}上面所有的break也可以不要,根据自己编程的需要;先计算表达switch后面表达试的值,然后进入语句块,顺序的执...

Java中的switch语句怎么使用
break 使得程序在执行完选中的分支后,可以跳出整个switch语句(即跳到switch接的一对{}之后),完成switch。如果没有这个break,程序将在继续前进到下一分支,直到遇到后面的break或者switch完成。比如,假设现在程序进入case 1: 中的分支,但case 1 的分支这回没有加break:case 1 :System.out.println...

java中 switch除了可以接收整型变量的值以外还能接收什么数据类型_百度...
switch接受的参数类型有10种,分别是基本类型的byte,short,int,char,以及引用类型的String(只有JavaSE 7 和以后的版本 可以接受String类型参数),enum和byte,short,int,char的封装类Byte,Short,Integer,Character

Java中日期2023-01-22用switch语句怎么表达?
在Java中,如果你要使用switch语句来处理日期(例如2023-01-22),你需要首先将日期转换为某种可以被switch语句接受的类型。switch语句在Java中主要用于处理整数(包括枚举和字符串)。对于日期,你可能需要将其分解为年、月、日等部分,并将这些部分作为整数或字符串来处理。以下是一个示例,将日期分解为...

java语言中可以用 switch 分支语句代替 if 条件语句吗?
通常情况下,switch语句比一系列嵌套的if语句更有效,那么是否可以用switch分支语句代替if条件语句呢?昆明北大青鸟java培训专家解答 在实际编程过程中,并不是所有的if条件语句都可以用switch分支语句代替。由于switch语句的表达式只能测试byte、short、int或char类型的相等情况,而if语句可以计算任何类型的布尔...

java中 使用switch语句实现学生成绩等级
System.out.print("该生的成绩等级是: 中");break;case 4:System.out.print("该生的成绩等级是: 及格");break;case 5:System.out.print("该生的成绩等级是: 不及格");break;} switch(level2){case 1:System.out.println(" A ");break;case 2:System.out.println(" B ");...

java编程 switch语句
switch后面括号中只能探测到int类型数,同理,float、double也是不行的,要想行就强转。如果你要用switch来写程序.我写了一段你参考下 package Test;import java.util.Scanner;public class Test{ public static void main(String[] args){ int level=0;\/\/分数等级 System.out.print("请输入考试...

祁阳县19679794675: 为什么java中的switch语句有的能执行有的不可以呢? import java.util.*; class yinhangwenti3 { public s -
段倩三七: 如果可以的话能不能贴全你的代码.关于java中switch使用的一些说明 switch(表达式) { case 常量表达式1:语句1 [break];....case 常量表达式2:语句2 [break]; default:语句; } default就是如果没有符合的case就执行它,default并不是必须的....

祁阳县19679794675: JAVA中SWITCH为什么不能使用LONG型作参数? -
段倩三七: 交换机在JAVA中不能使用long的根本原因是长时间转换为int将失去精度,导致数据不准确,因此JAVA交换机具有不允许长的逻辑规则.switch语句中的变量类型可以是:byte,short,int或char.从Java SE 7开始,交换机支持字符串String类型,...

祁阳县19679794675: java的switch语句一直显示错误,新手求教 -
段倩三七: case'A': System.out.println("优秀"); break;首先 case后面要有一个空格,然后才是对应的case项 其次你的分号不对,是中文分号,请改成英文分号,编译器不认中文标点的

祁阳县19679794675: java中的switch语句为什么无法打开String类型的值? -
段倩三七: switch 只能接收整形和char型,不能接收字符串

祁阳县19679794675: java 为什么switch不能用long -
段倩三七: java的语法规定switch语句的判断条件只可以接受int,byte,char,short,不能接受其他类型.

祁阳县19679794675: JAVA上为什么SWICH里[]为什么只能用INT模式? -
段倩三七: 因为之前的J2SE里(6.0以前)规定switch只要实现int就可以了,但是目前的7里已经可以支持更多的类型了. 如果switch只实现int的话,编译器处理起来比较简单,JVM运行起来也比较有效率.

祁阳县19679794675: Java的开发工具eclipse中的Switch Workspace不能正常运行怎么办 -
段倩三七: 1. 切换到你自己的workspace 2. 如果你已经导入到了你的workspace,先把它删除 3. File --> Import --> Existing Project into Workspace --> 选择项目根目录 --> 确定 4. 如果你的eclipse没有设置自动编译的话,在Project下点Build Project 5. 一些内部包含的包的路径问题就没有了 6.你在Problems里看看,如果还有问题,打开项目下的.path文件,把相应的配置修改为你自己本地的配置.蓝屏

祁阳县19679794675: java 中输入月份 用switch case输出季节为什么不能运行! -
段倩三七: case后只能跟一个值,不能跟着多个,参考下下边的程序试试 import java.util.Scanner; public class Fangfa1 { public static void main(String[] args) { String i; Scanner scanner=new Scanner(System.in); System.out.println("请输入当前月份:")...

祁阳县19679794675: Java编程,switch语句,必须使用switch,不可以使用if??? -
段倩三七: public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int score = 0;do {System.out.print("请输入分数(输入0退出):");score = scanner.nextInt();int level = score/85;//分数除以优秀分数线switch(level)...

祁阳县19679794675: 在java里switch语句里不能用continue么? -
段倩三七: 是不能用CONTINUE,因为它的标准格式如下: switch(整数选择因子) { case 整数值1 : 语句; break; case 整数值2 : 语句; break; case 整数值3 : 语句; break; default:语句; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网