慕仰0468355
2018-04-11 15:43
文中原话:“2、 case 后面的值可以是常量数值,如 1、2;也可以是一个常量表达式,如 2+2 ;但不能是变量或带有变量的表达式,如 a * 2“
但是文中的举例: int num =1 ; switch(num) 其中的num 不正是一个变量吗? 是不是我概念搞混了 help~
不可以,必须是常量表达式,文中已经给num赋值为1,所以此时括号里的num应看为常量
num是变量 被赋值为1后一样是变量 只不过是只能取1的变量 把赋值后的num看做常量会混淆 实际上()内要求的是取值唯一 仅此而已
不得不说的小秘密中说的是switch后小括号内的表达式值必须是整型或字符型,是case后面的值是常量或常量表达示,所以swich后可是是变量,变量被赋值后还是变量
是固定的,类似于ABCD 选项,A就是A,B就是B,不可动态传值
switch后面括号里的值可以是变量, 因为可以修改,它是要和后面case的值进行比较的,case的值是固定的
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题
回答 1