首页 > 其他分享 >switch 语句能否作用在 byte 上;作用在 long 上;作用在 String 上?

switch 语句能否作用在 byte 上;作用在 long 上;作用在 String 上?

时间:2024-06-17 21:54:41浏览次数:17  
标签:String System long break switch println 作用 out

在 Java 中,switch 语句可以作用于多种类型,具体情况如下:

  1. 可以作用于 byte 类型: byte 类型可以隐式转换为 int,因此可以用作 switch 语句的条件表达式。

  

public class SwitchByteExample {
    public static void main(String[] args) {
        byte b = 2;
        switch (b) {
            case 1:
                System.out.println("Byte is 1");
                break;
            case 2:
                System.out.println("Byte is 2");
                break;
            case 3:
                System.out.println("Byte is 3");
                break;
            default:
                System.out.println("Byte is unknown");
                break;
        }
    }
}

  2.不能作用于 long 类型: long 类型不能隐式转换为 int,因此不能直接用作 switch 语句的条件表达式。

public class SwitchLongExample {
    public static void main(String[] args) {
        long l = 2L;
        // 编译错误:cannot switch on a value of type long
        switch (l) {
            case 1L:
                System.out.println("Long is 1");
                break;
            case 2L:
                System.out.println("Long is 2");
                break;
            case 3L:
                System.out.println("Long is 3");
                break;
            default:
                System.out.println("Long is unknown");
                break;
        }
    }
}

  3.可以作用于 String 类型(JDK 1.7 之后): 在 JDK 1.7 及更高版本中,switch 语句可以使用 String 类型的条件表达式。

public class SwitchStringExample {
    public static void main(String[] args) {
        String str = "two";
        switch (str) {
            case "one":
                System.out.println("String is one");
                break;
            case "two":
                System.out.println("String is two");
                break;
            case "three":
                System.out.println("String is three");
                break;
            default:
                System.out.println("String is unknown");
                break;
        }
    }
}

总结:

  • switch 语句可以作用于 byte 类型,因为 byte 类型可以隐式转换为 int
  • switch 语句不能作用于 long 类型,因为 long 类型不能隐式转换为 int
  • 从 JDK 1.7 开始,switch 语句可以作用于 String 类型。

标签:String,System,long,break,switch,println,作用,out
From: https://www.cnblogs.com/Stars-125/p/18253288

相关文章

  • 超详细Python教程——作用域
    学习过Java的同学都知道,Java的类里面可以给方法和属性定义公共的(public)或者是私有的(private),这样做主要是为了我们希望有些函数和属性能给别人使用或者只能内部使用。通过学习Python中的模块,其实和Java中的类相似,那么我们怎么实现在一个模块中,有的函数和变量给别......
  • YC302A [ 20240617 CQYC省选模拟赛 T1 ] 构造字符串(string)
    题意你需要构造一个长度为\(n\)的字符串。使得后缀数组为给定的序列\(a\),\(\text{manacher}\)的回文序列为\(b\)。Sol注意到后缀数组实际上是一系列\(\le\)的限制,而\(\text{manacher}\)是一堆相等以及两个不相等的限制。若直接建边很难搞。考虑将限制统一,后缀数组......
  • 数据可视化在智慧物流中发挥了什么作用?
    数据可视化在智慧物流中发挥了至关重要的作用,成为优化物流管理、提升效率和改善客户体验的关键工具。在现代物流行业中,面对海量数据的挑战,数据可视化技术通过将复杂数据转化为直观的图表、图形和仪表盘,帮助企业和管理者更有效地理解、分析和利用信息,从而做出更明智的决策。首先,......
  • 关于UEC++中FText、FString与FName
    FText用于本地化和用户界面显示文本。可以方便地将游戏文本翻译成不同的语言。FNameFName在UE中的功能与C#中的字符串池有相似之处,但它们的内部实现和用途有些不同。FName是一种轻量级的、不变的标识符类型,主要用于高效地处理字符串的比较和存储。特点:不可变:一旦创建,FNam......
  • [JS] 动态执行JS与修改词法作用域
    相关可行的操作eval:同步执行,当前作用域;setTimeout:异步执行,全局作用域;第1个参数可以传入函数对象,也可以传入字符串,即要执行的代码。script:同步执行,全局作用域;创建script标签,并设置innerHTML为要执行的代码。Function:同步执行,全局作用域。Function构造函......
  • String常用方法【随记】
    在Java中,String类提供了许多常用的方法来操作字符串。以下是一些最常用的方法:length()返回字符串的长度。Stringstr="Hello,World!";intlength=str.length();//13charAt(intindex)返回指定索引处的字符。charch=str.charAt(0);//'H'substring(intbeg......
  • 回调函数的代码示例及其意义与作用
    回调函数的代码示例及其意义与作用在C语言中,回调函数(CallbackFunction)同样具有重要的意义和作用。尽管C语言没有像JavaScript或Python那样内置的高级异步处理机制,但回调函数在C语言中仍然被广泛应用,尤其是在以下场景:事件驱动编程:当某个事件发生时(如定时器到期、用户输入、文......
  • 生成式人工智能在军事中的作用
    2023年以来,以大语言模型为代表的生成式人工智能技术取得突破性进展,新产品、新技术陆续亮相,引发新一轮人工智能发展热潮。随着生成式人工智能系统在商用领域的成功应用,美军意识到生成式人工智能在指挥控制、情报分析、作战规划、辅助决策等军事领域具有巨大的应用潜力,因此已经开......
  • 简述回调函数的意义和作用
    回调函数是一种在程序中广泛使用的机制,它的意义和作用主要包括以下几个方面:异步操作:在一些需要异步执行的任务中,如网络请求、文件读写等,回调函数可以在任务完成后被调用,以便进行后续的处理。这样可以避免阻塞程序的执行,提高程序的响应性和效率。事件处理:回调函数可以用于处理各......
  • 3. Longest Substring Without Repeating Characters
    Givenastrings,findthelengthofthelongestsubstringwithoutrepeatingcharacters.Example1:Input:s="abcabcbb"Output:3Explanation:Theansweris"abc",withthelengthof3.Example2:Input:s="bbbbb"Ou......