首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在java中执行switch语句时,对象不会更新

在Java中,switch语句是一种多路分支语句,它根据表达式的值来选择执行不同的代码块。在switch语句中,可以使用String类型作为表达式,但是需要注意的是,String类型的值不会自动更新。

以下是一个使用String类型作为表达式的switch语句示例:

代码语言:java
复制
String day = "Monday";

switch (day) {
    case "Monday":
        System.out.println("今天是星期一");
        break;
    case "Tuesday":
        System.out.println("今天是星期二");
        break;
    case "Wednesday":
        System.out.println("今天是星期三");
        break;
    case "Thursday":
        System.out.println("今天是星期四");
        break;
    case "Friday":
        System.out.println("今天是星期五");
        break;
    case "Saturday":
        System.out.println("今天是星期六");
        break;
    case "Sunday":
        System.out.println("今天是星期日");
        break;
    default:
        System.out.println("输入的日期不正确");
        break;
}

在上面的示例中,我们使用了String类型的变量day作为表达式,并且在每个case语句中使用了不同的字符串值。需要注意的是,在每个case语句中,我们都使用了break语句来结束switch语句的执行。

如果我们想要在switch语句中更新对象的值,可以使用以下方法:

代码语言:java
复制
String day = "Monday";

switch (day) {
    case "Monday":
        day = "星期一";
        System.out.println(day);
        break;
    case "Tuesday":
        day = "星期二";
        System.out.println(day);
        break;
    case "Wednesday":
        day = "星期三";
        System.out.println(day);
        break;
    case "Thursday":
        day = "星期四";
        System.out.println(day);
        break;
    case "Friday":
        day = "星期五";
        System.out.println(day);
        break;
    case "Saturday":
        day = "星期六";
        System.out.println(day);
        break;
    case "Sunday":
        day = "星期日";
        System.out.println(day);
        break;
    default:
        System.out.println("输入的日期不正确");
        break;
}

在上面的示例中,我们在每个case语句中更新了String类型的变量day的值,并且在每个case语句中使用了System.out.println()方法来输出更新后的值。

总之,在Java中使用switch语句时,需要注意的是,对象不会自动更新,需要手动更新对象的值。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Java | Java 执行动态表达式语句: 前后缀、SpEL、Groovy、Jexl3

Java 执行动态表达式语句 一些规则集或者工作流项目中,经常会遇到动态解析表达式并执行得出结果的功能。...规则引擎是一种嵌入应用程序的组件,它可以将业务规则从业务代码剥离出来,使用预先定义好的语义规范来实现这些剥离出来的业务规则;规则引擎通过接受输入的数据,进行业务规则的评估,并做出业务决策。...工作流建模,即将工作流程的工作如何前后组织在一起的逻辑和规则,计算机以恰当的模型表達并对其实施计算。...,它是一门表达式语言,除了用来设置和获取Java对象的属性之外,另外提供诸如集合的投影和过滤以及lambda表达式等。...= null) { and invite_code = :inviteCode } 处理这种 SQL ,我们可以先用正则,将 @if 与 正常语句分割开 List results

2.3K20

Java 虚拟机原理】Java的类加载初始化细节 ( 只使用类的常量加载类不会执行到 ‘初始化‘ 阶段 )

文章目录 一、类加载初始化时机 二、常量加载示例 三、数组加载示例 一、类加载初始化时机 ---- 类加载时机 : Java 程序执行时 , 并不是一开始将所有的字节码文件都加载到内存 , 而是用到时才进行加载..., 解析 ) -> 初始化 这个完整的流程 ; 如 : 如果是 public final static 修饰的常量值 , 在编译阶段 , 就会将该值放到常量池中 ; 类加载的过程 , 只要执行到..." 阶段 , 该常量值就设置完毕 ; 出于最大限度性能优化的考虑 , 如果不使用该类的其它值 , 就不会执行 " 初始化 " 阶段 ; 因此这里不会调用 静态代码块 的代码 ; Constant pool...: #10 = Integer 18 三、数组加载示例 ---- 对数组进行创建操作 , 如创建了一个对象数组 , 此时不会加载该对象对应的类 , 只会为其在内存分配空间 ;...创建数组 , 触发的是 Student[] 数组类型的 类加载初始化 , 但是不会触发 Student 类的初始化操作 ; 如果调用数组的元素 , 就需要初始化 Student 类 ; Student

3.6K20

Java基础:Java流程控制

Java 技术栈内容梳理(持续更新) ---- 文章目录 一、Java 代码块 1、块作用域 2、代码块分类 3、构造方法与代码块执行顺序 二、Java 分支结构 1、条件语句 2、多重选择:switch...构造代码块:定义成员位置,方法之外的代码块,构造代码块会在创建对象被调用,每次创建都会被调用,优先于类构造函数执行。...特点:①静态代码块是定义成员位置,方法之外,使用static修饰的代码块;②它优先于主方法执行、优先于构造代码块执行类加载执行;③该类不管创建多少对象,静态代码块只执行一次;④可用于给静态变量赋值...与绝大多数程序设计语言一样,Java常常希望某个条件为真执行多条语句。...2、多重选择:switch语句 处理多个选项,使用 if/else 结构显得有些笨拙。Java 有一个与 C/C++ 完全一样的 switch 语句

90750

零基础学Java(6)控制流程「建议收藏」

条件语句 Java,条件语句的形式为 if (condition) statement 这里的条件必须用小括号括起来。...d年内退休", years); } } while循环是先判断后执行,如果条件不满足则永远是false,那么可能永远不会执行,如果我们想无论条件是否为true,我们都要先执行一条语句,那么Java...与C++一样,尽管Java允许for循环的各个部分放置任何表达式,但有一条不成文的规则:for语句的3个部分应该对同一个计数器变量进行初始化、检测和更新。...多重选择:switch语句 处理多个选项,使用if/else语句就显得有些笨拙。Java有一个与C/C++完全一样的switch语句。...语句将从与选项值相匹配的case标签开始执行,直到遇到break语句,或者执行switch语句的结束处为止。

35020

Java基础系列(四):控制流程

{ int k; int n; //错误,不能在这里定义n } } 条件语句 Java,条件语句的格式为...Java,我们通常需要在条件为真的时候执行多条语句,在这种情况下,就需要使用到我们前面说到的块语句。...与C++一样,尽管Java允许for循环的各个部分放置任何表达式,但是有一个不成文的约定俗成的规则:for语句的三个部分应该对同一个计数器变量进行初始化,检测和更新。...break; } switch语句将从与选项值相匹配的case标签处开始执行直到遇到break语句,或者执行switch语句的结束处为止。... for 循环中,continue 语句使程序立即跳转到更新语句 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句

66440

Java基础】Java语言中的流程控制

Java的流程控制语句Java语言中的流程控制语句与C、C++基本上是一样的,如果你学习过C、C++这一块知识你会很熟悉,涉及到的关键字有:if-else、while、do-while、for、return...控制流程离不开条件判断,根据条件判断的true和false来决定执行路径。Java控制流程包括:if-else、while、do-while、switch。...Switch 语句使用if-else处理多个逻辑选项判断显得非常的复杂,代码也比较臃肿,这个时候可以用switch语句switch语句可以从很多选项中选择一个去执行。...例如: for(int i = 0; i < 100; i++){ if(i%2==0){ continue; } //代码1 } 遇到continue不会执行代码1,而是执行i++,然后执行下一次循环...最后更新计数器;switch多分支语句,可以替代复杂的if-else。

1.5K50

JavaScript之选择控制语句(if,switch,while,do-while,for循环)及很重要的表达式真与假

与上面的 value 值都不匹配,执行此处语句 语句体4; break; } 注意事项: JSswitch语句与其他变成语言的一个主要区别是:switch语句中的判断表达式可以是任意类型...,但是一般建议写在最后面 break子句表示退出switch语句体,break语句也可以省略,一旦省略会出现break穿透现象,一般不会省略break子句 实例: 打10086,电话呼叫案例,业务查询请按...:可以看的出,switch语句有几下特点 switch语句常用于判断固定值的时候用 凡是能用switch能做的,用if都能做,单反过来则不行 实际开发,如果需要进行代码的优化,当遇到多个条件是等值条件的判断选择...,需要注意几点: 循环的初始条件是定义在外面的 只有while条件表达式为真,才执行里面的语句体 while循环中应该有循环变量的更新,否则它会造成死循环 06 do...while循环 创建一个执行指定语句的循环.../ 空对象 非0数字 Infinity 注意:任何不是null 和undefined包括值为 false 的 Boolean 对象,直接用于条件语句都会被当做 true 来对待,有new,会执行语句体的代码

2.1K20

Java基础教程(6)-Java的流程控制语句

Java的流程控制语句Java的程序控制语句分为以下几类:选择,重复和跳转。根据表达式结果或变量状态选择语句来使你的程序选择不同的执行路径。...这些语句允许你只有程序运行时才能知道其状态的情况下,控制程序的执行过程。if语句:if语句Java的条件分支语句。它能将程序的执行路径分为两条。...case语句序列的break语句将引起程序流从整个switch语句退出。...循环语句循环语句就是让计算机根据条件做循环计算,条件满足继续循环,条件不满足退出循环。Java的循环语句有for,while和 do-while。...do-while为while语句循环一开始就计算条件表达式,若开始条件为假,则循环体一次也不会执行。有时需要在开始条件表达式即使是假的情况下,while循环至少也要执行一次。而不是循环开始

8010

JS的控制流程

语句块里声明的变量作用域是其所在的函数或者 script 标签内,你可以语句块外面访问到它。换句话说,语句不会生成一个新的作用域。...尽管单独的语句块是合法的语句,但在JavaScript不会想使用单独的语句块,因为它们不像你想象的C或Java语句块那样处理事物。...一个 break 语句必须内嵌它引用的标记。注意,inner_block 内嵌 outer_block 。...与 break 语句的区别在于, continue 并不会终止循环的迭代,而是: while 循环中,控制流跳转回条件判断; for 循环中,控制流跳转到更新语句。...通常情况下,一直使用语句块是个好习惯,特别是涉及嵌套if语句的代码 不要将原始布尔值的true和false与Boolean对象的真或假混淆。

7.3K10

Java 12 新特性概述

Java 12 已如期于 3 月 19 日正式发布,此次更新Java 11 这一长期支持版本发布之后的一次常规更新,截至目前,Java 半年为发布周期,并且不会跳票承诺的发布模式,已经成功运行一年多了...但它是一个单独的项目,支持构建期间不会执行,以方便开发人员和其他对构建微基准套件不感兴趣的人在构建花费比较少的构建时间。...Switch 表达式扩展(预览功能) Java 11 以及之前 Java 版本Switch 语句是按照类似 C、C++ 这样的语言来设计的,默认情况下支持 fall-through 语法。... Java 12 重新拓展了 Switch 让它具备了新的能力,通过扩展现有的 Switch 语句,可将其作为增强版的 Switch 语句或称为 "Switch 表达式"来写出更加简化的代码。... Java 11 以及之前版本传统形式的 Switch 语句写法如下: 清单 1.

1.3K60

JDK21昨天发布了!面试官:来,谈下jdk21的新特性!

结构化并发,所有并发代码都被结构化为称为任务的定义良好的工作单元。任务以结构化方式创建、执行和完成,任务的执行总是保证在其父任务完成之前完成。...传统的多线程编程,线程的启动、执行和结束是由开发者手动管理的,因此容易出现线程泄露、死锁和异常处理不当等问题。...2.5 弃用Windows 32位x86端口 提案的目标是未来的版本移除特定端口。我们计划更新构建系统,以便在尝试为Windows 32位x86配置构建发出错误消息。...2.10 Pattern Matching for switchswitch模式匹配) switch 的模式匹配可以与Record Patterns结合使用 允许在任何对象上制定 switch 语句和表达式...目标包括通过允许模式出现在case标签来扩展switch表达式和语句的表达能力和适用范围,允许switch的历史 null敌意在需要得到放松,并通过要求模式switch语句覆盖所有潜在的输入值来增加

2.2K40

Java 11—Java 17特性详解

但它是一个单独的项目,支持构建期间不会执行,以方便开发人员和其他对构建微基准套件不感兴趣的人在构建花费比较少的构建时间。...Switch 表达式扩展(预览功能) Java 12 引入了 Switch 表达式作为预览特性,而在 Java 13 Switch 表达式做了增强改进,引入了 yield 语句来返回值...switch 表达式带来的不仅仅是编码上的简洁、流畅,也精简了 switch 语句的使用方式,同时也兼容之前的 switch 语句的使用;之前使用 switch 语句每个分支结束之前,往往都需要加上...switch 语句一般使用冒号 :来作为语句分支代码的开始,而 switch 表达式则提供了新的分支切换方式,即 -> 符号右则表达式方法体执行完分支方法之后,自动结束 switch 分支,同时 ->...现在不需要像之前一样,每个分支结束之前加上 break 关键字来结束当前分支,如果不加,则会默认往后执行,直到遇到 break 关键字或者整个 switch 语句结束, Java 14 表达式,表达式默认执行完之后自动跳出

1.3K30

你一定需要知道的高阶JAVA枚举特性!

JAVA枚举,比你想象功能还要强大! 我经常发现自己Java中使用枚举来表示某个对象的一组值。 在编译确定类型可以具有什么值的能力是一种强大的能力,它为代码提供了结构和意义。...Java,枚举是Object的一个子类。让我们看看所有枚举的基类,Enum(为简洁起见进行了修改)。...更糟糕的是,如果一个懒惰的开发人员另一个类复制或重新编写这些代码,我们可能无法更新它。 第二个问题是默认情况default,每段程序里面都是必需的,尽管我们知道正确的代码里它永远不会发生。...如果没有这一点,如果我们添加新Operation还不记得更新switch语句,就有可能得到UnsupportedOperationException()。...与lambda配合使用,可以创建干净、安全的特定于枚举的函数实现,并在编译强制执行它们(而不是使用switch)。 下面是这个示例的GitHub地址。

40820

Java50个关键字总结

范围:-128~127  byte a = 100; 6.case  case用于switch,用于判断和执行语句。...用法:  case 变量值:语句; 若变量值和switch(变量值) 的变量值相等,就执行后面的语句执行完后继续执行下一个case语句。  7.catch  catch用于捕获异常。...try/catch语句,catch捕获发生的异常,并应对错误做一些处理。 当catch捕获到异常后,try执行语句终止,并跳到catch后的语句中。 ...publlic static void b(){     ... } 静态块:类加载的时候执行语句,块不能访问非静态变量。 ...default:语句; } 若变量和case后的值相等则执行语句。当语句执行到break跳到switch块后,如果没有break会产生穿透现象。

61200

Java50个关键字总结

范围:-128~127  byte a = 100; 6.case  case用于switch,用于判断和执行语句。...用法:  case 变量值:语句; 若变量值和switch(变量值) 的变量值相等,就执行后面的语句执行完后继续执行下一个case语句。  7.catch  catch用于捕获异常。...try/catch语句,catch捕获发生的异常,并应对错误做一些处理。 当catch捕获到异常后,try执行语句终止,并跳到catch后的语句中。 ...publlic static void b(){     ... } 静态块:类加载的时候执行语句,块不能访问非静态变量。 ...default:语句; } 若变量和case后的值相等则执行语句。当语句执行到break跳到switch块后,如果没有break会产生穿透现象。

56900

Java50个关键字总结「建议收藏」

范围:-128~127 byte a = 100; 6.case case用于switch,用于判断和执行语句。...用法: case 变量值:语句; 若变量值和switch(变量值) 的变量值相等,就执行后面的语句执行完后继续执行下一个case语句。 7.catch catch用于捕获异常。...try/catch语句,catch捕获发生的异常,并应对错误做一些处理。 当catch捕获到异常后,try执行语句终止,并跳到catch后的语句中。...default:语句; } 若变量和case后的值相等则执行语句。 当语句执行到break跳到switch块后,如果没有break会产生穿透现象。...default分支必须为最后一个分支,没有值和case变量相等执行语句。 42.synchronized synchronized关键字用于保证线程安全。

84730

程序减少使用if语句的方法集锦

问题: 添加新的类型,我们必须要记得更新switch语句,此外随着不同bird的概念添加进来,bird类的凝聚力越来越糟。...适用范围:根据类型做单次切换是可行的,如果switch太多,添加新类型如果忘记更新现有隐藏类型的所有switch,就会导致bug出现。...解决方案: 使用多态,添加新类型大家都不会忘记添加相关行为。 注意:上例为了简洁只写了一个方法,但在有多个switch更有用。 ? ?...适用范围:最好将这类if语句放在一个地方,由于不会重复,我们就能将为空对象的magic value删除。 解决方案:针对被调用代码,给出应对策略。...Ruby的Hash#fetch就是很好的案例,Java也用到了类似的方法。这种模式也可以用在删除例外情况。 ? 祝探索愉快 希望这些模式对你现在处理的问题有帮助。

1.3K20

滚雪球学Java(13):掌握JavaSE-Switch条件语句,提高编程效率

持续更新,up!up!up!!...Java编程switch语句是一种常见的条件语句,用于执行不同的代码块,具体取决于表达式的结果。本篇文章将介绍switch语句的语法、用法、示例和应用场景。...然后使用switch语句根据day的值进行判断。  switch语句中,当day的值为1,会执行第一个case的语句,即输出"星期一",然后通过break语句跳出switch语句。  ...在这个例子,两个分支的代码是一样的,所以会输出"优秀"。最后一个分支default是没有匹配到任何case的情况下执行的。但在这个例子,有匹配到的分支,所以不会执行default分支的代码。...示例和应用场景实际编程switch语句具有广泛的应用场景,如下面所示:处理菜单、选项和命令行参数;根据状态、错误码、事件类型等执行不同的操作;根据日期、时间、季节、天气等执行不同的操作;根据对象类型

7622

Java50个关键字总结

范围:-128~127  byte a = 100; 6.case  case用于switch,用于判断和执行语句。...用法:  case 变量值:语句; 若变量值和switch(变量值) 的变量值相等,就执行后面的语句执行完后继续执行下一个case语句。  7.catch  catch用于捕获异常。...try/catch语句,catch捕获发生的异常,并应对错误做一些处理。 当catch捕获到异常后,try执行语句终止,并跳到catch后的语句中。 ...publlic static void b(){     ... } 静态块:类加载的时候执行语句,块不能访问非静态变量。 ...default:语句; } 若变量和case后的值相等则执行语句。当语句执行到break跳到switch块后,如果没有break会产生穿透现象。

57100

Java】判断语句if.....&选择语句switch......

专栏介绍 【Java】 目前主要更新Java,一起学习一起进步。 本期介绍 本期主要介绍判断语句if.....&选择语句switch...... 文章目录 1....选择语句 3.1 选择语句--switch 3.2 case的穿透性 1. 流程控制 1.1 概述 一个程序执行的过程,各条语句执行顺序对程序的结果是有直接影响的。...选择语句 3.1 选择语句--switch switch 语句格式: 执行流程 首先计算出表达式的值 其次,和 case 依次比较,一旦有对应的值,就会执行相应的语句执行的过程...上述程序执行 case5 后,由于没有 break 语句,程序会一直向后走,不会在判断 case ,也不会 理会 break ,直接 运行完整体 switch 。...由于 case 存在穿透性,因此初学者在编写 switch 语句,必须要写上 break 。

1.1K60
领券