问答详情
源自:4-6 Java条件语句之 switch

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

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

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



提问者:慕仰0468355 2018-04-11 15:43

个回答

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

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

  • 慕圣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的值是固定的