- 1. java 的字符类型采用的是 Unicode编码方案,每个 Unicode码占用( )个比特位。
- 2. 属于java基本类型的有( )
- 3. 经过强制类型转换以后,变量a,b的值分别为多少( )
- 3. 下列语句哪一个正确 ( )
- 4. 下列有关JDK, JRE, JVM三者的叙述,正确的是:( )
- 5. 基本数据类型均可任意互相转换( )
- 6. 以下会产生信息丢失的类型转换是( )
- 7. 下列说法正确的是( )
- THINK
练习与复盘!
以下是第一小节基本数据类型的练习复盘。
今天也要为了目标努力学习呀!
java的字符类型是占2个字节,即:8比特位。
所以:每个 Unicode码占用( 2*8=16)个比特位.
(补:包装类:基本类型对应的类类型)
short a =128;
byte b =(byte) a;
3. 下列语句哪一个正确 ( )解析:
要对强制类型转换负责 存储不下时会发生截断
short占2字节 byte占1字节(-128 ~ 127)
则a强转时会发生截断:可以用圆简单分析(或者分析原反补码)
此处用原反补码分析:
a=128: 原反补码:0000 0000 1000 0000
强转存储时会发生截断:
b补码:1000 0000
此时值即为 -128
A.Java程序经编译后会产生machine code
B.Java程序经编译后会产生byte code
C.Java程序编译使用命令javac 运行使用 java 命令
D.以上都不正确
分析:
java程序编译通过javac 实现,得到字节码文件.class
Java程序编译使用命令javac, 运行使用 java 命令
补充:在用户注册的时候会根据用户软件所安装的计算机软硬件信息生成唯一的识别码,一般称作机器码,也叫序列号、认证码、注册申请码等。机器码一般用作软件能够唯一识别的机器。
4. 下列有关JDK, JRE, JVM三者的叙述,正确的是:( )答案:B C
A.JDK是Java开发工具包 ,包括了Java运行环境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。
B.JRE是运行基于Java语言编写的程序所不可缺少的运行环境。也是通过它,Java的开发者才得以将自己开发的程序发布到用户手中,让用户使用。
C.JVM是整个Java实现跨平台的最核心的部分,所有的Java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。也就是说class并不直接与机器的 *** 作系统相对应,而是经过虚拟机间接与 *** 作系统交互,由虚拟机将程序解释给本地系统执行
D.JDK中包含了JRE,JRE又包含JVM
5. 基本数据类型均可任意互相转换( )答案: ABCD
分析:
布尔类型不能与其他类型相互转换
6. 以下会产生信息丢失的类型转换是( )答案:
错误!
A.float a=10;
B.int a =(int)8846.0;
C.byte a=10; int b=-a
D.double d=100
分析:
A. 10默认是是int型, 4字节;而float型也是4字节,但是其有宽度,有小数部分;不会丢失精度
B. 8846.0默认是double型,double是8字节,强制转换为int型会损失精度
C. 10 没有超过byte范围,所以可以赋值给a;a进行运算(-a)会进行整型提升,可以赋值给b(int型)
D. 100默认是是int型,则可以赋值给精度更高的double
7. 下列说法正确的是( )答案:
B
A.布尔类型boolean由于其本身所代码的特殊含义,boolean类型与其他基本类型不能进行类型的转换(既不能进行自动类型的提升,也不能强制类型转换),否则,将编译出错。
B.byte a = 130; float b = 3.5; 这两行代码会发生编译错误
C.int a = 3; byte b = a;
这句话可以正常通过编译,且运行不会发生错误。
分析:
B. byte是1字节,范围(-128~127),则130超过范围会编译错误; 3.5默认double型,float精度较低,则编译错误
C. int 范围大于byte,故编译错误
答案:
A
THINK
- 注意char类型大小是2字节
- 包装类:基本类型对应的类类型
- 损失精度问题
- 类型转换问题
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)