
指出正确的表达式( )。 A、byte=128; B、long l=0xfffL; C、Boolean=null; D、 double=0.9239d;
答案:B
Java 中变量声明需遵循严格的语法规则,各选项分析如下:
错误:
缺少变量名:正确格式应为 byte 变量名=值;(如 byte b=127;)。
超出取值范围:byte 类型取值范围为 -128~127,128 超出上限,编译时会报错“可能损失精度”。
正确:
long 类型变量声明需以 L(或 l)结尾(推荐大写避免与数字 1 混淆)。
0xfffL 是十六进制表示(十进制为 4095),符合 long 类型取值范围(-2⁶³~2⁶³-1),且变量名 l 合法(虽不推荐,但语法正确)。
错误:
类型名错误:Java 是大小写敏感的,布尔类型应为 boolean(基本类型),而非 Boolean(包装类)。
基本类型不可为 null:boolean 作为基本类型,只能赋值 true 或 false;null 仅能赋值给引用类型(如 Boolean 包装类)。
错误:
缺少变量名:正确格式应为 double 变量名=值;(如 double d=0.9239d;)。d 是 double 类型的可选后缀(可省略,因小数默认是 double),但变量声明必须包含变量名。
| 错误类型 | 示例 | 修正后 |
|---|---|---|
| 缺少变量名 | byte=128; | byte b=127; |
| 超出类型取值范围 | byte b=128; | short b=128; |
| 大小写错误 | Boolean flag=null; | boolean flag=true; |
| 基本类型赋值 null | boolean flag=null; | Boolean flag=null; |
核心逻辑:Java 变量声明需遵循 “类型+变量名=值” 格式,同时注意基本类型的取值范围(如 byte 的 -128~127)和大小写敏感规则(如 boolean 小写)。选项 B 完整包含类型、变量名、合法值及 long 类型后缀 L,是唯一正确的表达式。