第 1 题(单选题)
题目名称:
以下会产生信息丢失的类型转换是( )
题目内容:
A .float a=10;
B .int a =(int)8846.0;
C .byte a=10; int b=-a
D .double d=100
A:整数部分可以存入浮点型中
B:会丢失信息,小数部分无法保存,就算是0也不能保存
C:字面值10赋值给a,没有超过表示的范围,可以存储。int b = -a;一个字节赋值给4个字节没有问题。
D:同A时一个道题。
所以,本题选择B
第 2 题(多选题)
题目名称:
下面属于java包装类的是( )
题目内容:
A .String
B .Long
C .Character
D .Short
包装类指的是,基本数据类型对应的类类型。因为基本数据类型无法进行对象化处理,所以就引入了包装类。
8种基本数据byte、short、int、long、 float、double、char、boolean。除了int对应的是Integer,char对应的是Character。其余都是首字母大写即可。
故本题选择:B,C,D。 A不是包装类。
第 3 题(单选题)
题目名称:
基本数据类型均可任意互相转换( )
题目内容:
A .对
B .错
说法太过绝对,boolean类型就不能和其他类型进行转换,故选B。
第 4 题(单选题)
题目名称:
在Java中表示换行符的转义字符是:( )
题目内容:
A .\n
B .\f
C .'n'
D .\ddd
B:\f表示换页
C:表示字符n
D:ddd表示1-3个八进制的数字
故选择A
第 5 题(单选题)
题目名称:
如果要打印一个字符串,需要使其输出结果为:\"hello\",则以下哪种方式可以正确输出:( )
题目内容:
A .System.out.println("\\\"hello\\\"");
B .System.out.println("\\"hello\\"");
C .System.out.println("/\"hello/\"");
注意题目中也需要打印一个斜杠
B不能编译通过
C中 / 符号可以直接被输出,\"会转义为双引号,所以会输出:/"hello/"
所以答案为A。
【拓展】:
UNIX 操作系统设计了这种路径分隔法,它使用反斜杠:/。
Windows 操作系统设计了这种路径分隔法,它使用 \。 理论上来说都是斜杠。
目前因为大部分的机器都是UNIX 操作系统,所以建议以后可以优先使用这个反斜杠,作为路径的分割。
第 6 题(单选题)
题目名称:
经过强制类型转换以后,变量a,b的值分别为多少( )
short a =128;
byte b =(byte) a;
题目内容:
A .128 127
B .128 - 128
C .128 128
D .编译错误
short 的取值范围是:【-32768 - 32767】
byte 的取值范围是:【-128 - 127 】
所以此时a的值可以正常存储进行打印为128,b的值最大存储127。
128的二进制位1000 0000 存到byte类型的b中后就变成了-128
第 7 题(多选题)
题目名称:
下列说法正确的是( )
题目内容:
A .布尔类型boolean由于其本身所代码的特殊含义,boolean类型与其他基本类型不能进行类型的转换(既不能进行自动类型的提升,也不能强制类型转换), 否则,将编译出错。
B .byte a = 130; float b = 3.5; 这两行代码会发生编译错误
C .int a = 3; byte b = a; 这句话可以正常通过编译,且运行不会发生错误。
A:布尔类型不能和其他类型进行类型转换
B:a 的赋值 超过了byte的表示范围,编译器直接报错,b的赋值时,3.5默认是double类型,此时把8个字节的数据赋值给4个自己,需要进行强制类型转换
C: byte b = a,4个字节给1个字节赋值,需要强制类型转换,故错误。
故:正确的选择是A,B
第 8 题(多选题)
题目名称:
下面属于java基本数据类型的有( )
题目内容:
A .String
B .byte
C .char
D .Array
Java当中的基本类型共8种,byte,short,int,long,float,double,char,boolean
A:String是Java的引用类型
D:Array也是引用类型
故:选择B,C