[单项选择题] 表达式1+2+"hello"+8的值为( )。
A."12hello8"
B."3hello8"
C.12hello
D.不能运算
正确答案:B
参考解析:当一个表达式的各个 *** 作数的类型不一致时,系统会根据情况进行数据类型的转换 (若不能自动转换,编译时会报错)。但在运行时并不是一次性地将所有的数据都转换为相同类型的数据才开始计算,而是根据运算符的优先级,按需转换。本表达式中“2”的前后都是“+”运算符,其优先级一样,按顺序运算,因此先进行1+2的运算,其结果3再与"hello"作+运算,此时由于”hello"是一个String对象,系统自动将3转换为String对象后再与"hello"作连接运算,其结果"3hello"再继续与后面的 *** 作数进行运算。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)