switch后面的括号不能是变量吗?

来源:4-6 Java条件语句之 switch

慕仰0468355

2018-04-11 15:43

文中原话:“2、 case 后面的值可以是常量数值,如 1、2;也可以是一个常量表达式,如 2+2 ;但不能是变量或带有变量的表达式,如 a * 2“

但是文中的举例: int num =1 ;  switch(num)  其中的num 不正是一个变量吗?  是不是我概念搞混了 help~



写回答 关注

5回答

  • hh1996
    2018-04-11 15:58:08
    已采纳

    不可以,必须是常量表达式,文中已经给num赋值为1,所以此时括号里的num应看为常量

    慕仰0468...

    感谢回答 “文中已经给num赋值为1,所以此时括号里的num应看为常量”这句话精辟 学到了 谢谢!

    2018-04-11 16:28:06

    共 1 条回复 >

  • 慕圣3021833
    2018-06-01 19:37:26

    num是变量 被赋值为1后一样是变量 只不过是只能取1的变量 把赋值后的num看做常量会混淆 实际上()内要求的是取值唯一 仅此而已

  • 慕侠228389
    2018-04-12 16:49:46

    不得不说的小秘密中说的是switch后小括号内的表达式值必须是整型或字符型,是case后面的值是常量或常量表达示,所以swich后可是是变量,变量被赋值后还是变量

  • 久衬丶人心
    2018-04-11 16:17:31

    是固定的,类似于ABCD 选项,A就是A,B就是B,不可动态传值

  • qq_番茄炒鸡蛋_4
    2018-04-11 15:56:25

    switch后面括号里的值可以是变量, 因为可以修改,它是要和后面case的值进行比较的,case的值是固定的

    慕仰0468...

    不可以,必须是常量表达式,文中已经给num赋值为1,所以此时括号里的num应看为常量 引用一下我认为是最佳的回答

    2018-04-11 16:29:12

    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165551 学习 · 17586 问题

查看课程

相似问题