Java 数据类型选择题
-
以下属于 Java 基本数据类型的是( )
A.Integer
B.String
C.float
D.ArrayList
答案:C
解析:Java 基本数据类型包括float
(单精度浮点型),其他选项均为引用类型。 -
声明一个整型变量并初始化为 100,正确的写法是( )
A.int num = 100;
B.Integer num = 100;
C.num int = 100;
D.int 100 = num;
答案:A
解析:基本数据类型声明格式为类型 变量名 = 值;
,Integer
是包装类。 -
以下关于
char
类型的描述,正确的是( )
A. 占用 1 个字节,范围是 - 128~127
B. 占用 2 个字节,使用单引号表示字符值
C. 用于存储字符串,使用双引号表示
D. 不能直接赋值为 Unicode 编码值
答案:B
解析:char
占 2 字节(16 位),范围 0~65535,使用'A'
形式赋值,可存储 Unicode 字符。 -
下列哪个是 Java 中正确的浮点型常量表示( )
A.3.14
B.3,14
C.3.14F
D.3.14L
答案:C
解析:3.14
默认是double
类型,3.14F
显式声明为float
类型;L
用于long
类型。 -
将基本数据类型转换为对应的包装类对象的过程称为( )
A. 拆箱
B. 装箱
C. 类型转换
D. 自动转换
答案:B
解析:装箱是基本类型→包装类(如int
→Integer
),拆箱反之。 -
以下关于
boolean
类型的说法,正确的是( )
A. 可以取值为0
或1
B. 占用 1 个字节
C. 只能取值true
或false
D. 与 C 语言中的bool
完全相同
答案:C
解析:Java 的boolean
只能是true
或false
,不与整数类型兼容,占用空间由 JVM 实现决定。 -
以下代码执行后,
result
的值是( )java
int a = 5; int b = 2; double result = a / b;
A.
2.0
B.2.5
C.3.0
D. 编译错误
答案:A
解析:a/b
为整数除法结果2
,赋值给double
时自动转换为2.0
。 -
byte
类型的取值范围是( )
A. -128~127
B. 0~255
C. -32768~32767
D. 0~65535
答案:A
解析:byte
占 1 字节(8 位),补码表示范围为 - 128~127。 -
以下哪种类型转换需要强制类型转换( )
A.short
→int
B.int
→long
C.double
→float
D.char
→int
答案:C
解析:从大范围类型(如double
)到小范围类型(如float
)需强制转换,可能丢失精度。 -
Java 中,字符串属于( )
A. 基本数据类型
B. 引用数据类型
C. 自定义数据类型
D. 以上都不对
答案:B
解析:String
是 Java 内置的引用类型,位于java.lang
包。 -
以下代码的输出结果是( )
java
String s1 = "hello"; String s2 = new String("hello"); System.out.println(s1 == s2);
A.
true
B.false
C. 编译错误
D. 运行时异常
答案:B
解析:==
比较引用地址,s1
指向字符串常量池,s2
指向堆内存新对象,地址不同。 -
Integer
类的parseInt()
方法作用是( )
A. 将字符串转换为整数
B. 将整数转换为字符串
C. 获取整数的最大值
D. 比较两个整数的大小
答案:A
解析:Integer.parseInt("123")
返回int
类型的 123。 -
以下关于
long
类型的声明,正确的是( )
A.long num = 1234567890;
B.long num = 1234567890L;
C.long num = 1234567890l;
D. 以上都正确
答案:B
解析:long
类型的字面量需以L
结尾(小写l
易与数字 1 混淆,不推荐)。 -
执行以下代码,会输出什么( )
java
char c = 'A'; System.out.println(c + 1);
A.
A1
B.B
C.66
D. 编译错误
答案:C
解析:'A'
的 Unicode 值为 65,65 + 1 = 66
,直接输出整数。 -
以下哪种数据类型不允许存储
null
值( )
A.String
B.Integer
C.int
D.Object
答案:C
解析:基本数据类型(如int
)不能存储null
,引用类型(如Integer
)可以。 -
以下代码的输出结果是( )
java
int x = 5; System.out.println(x++); System.out.println(++x);
A.
5
和7
B.6
和7
C.5
和6
D.6
和6
答案:A
解析:x++
先返回 5 再自增为 6,++x
先自增为 7 再返回。 -
Java 中,
double
类型占用的字节数是( )
A. 2
B. 4
C. 8
D. 16
答案:C
解析:double
占 8 字节(64 位),遵循 IEEE 754 标准。 -
以下关于自动装箱和拆箱的说法,错误的是( )
A. 自动装箱是编译器行为
B.Integer i = 10;
是自动装箱的例子
C. 自动拆箱可能导致NullPointerException
D. 基本类型和包装类的装箱 / 拆箱操作性能无差异
答案:D
解析:装箱 / 拆箱涉及对象创建和内存开销,性能低于直接使用基本类型。 -
以下代码的输出结果是( )
java
Integer a = 100; Integer b = 100; System.out.println(a == b);
A.
true
B.false
C. 编译错误
D. 运行时异常
答案:A
解析:Integer
缓存 - 128~127 的对象,a
和b
指向同一缓存对象,地址相同。 -
若要存储高精度的十进制数值(如财务计算),应使用( )
A.double
B.float
C.BigDecimal
D.long
答案:C
解析:BigDecimal
提供任意精度的十进制运算,避免浮点数精度丢失问题。