JAVA考核-数据类型和运算符第一部分 英语测试(每题1分,共10分)1 .(单选) oriented ( A )A 面向B 向上 C向下 D 方向2 .(单选) Object ( B)A 目标B 对象C 象征D 锚3 .(单选) integer ( D)A 小数B 浮点数C 实数D 整数4 .(单选) syntax ( C)A 标识符B 句号C 语法D 选择5 .(单选) infinity ( A)A 无穷B 确定C 渺小 D孤独6. (单选) insert ( B)A 导出B 嵌入C 往上D 动作7 .(单选) instance ( C)A 插入B 迅速C 实例D 速溶8 .(单选) comment ( A)A 注释B 语句C 内容D 文档9.(单选)String ( D)A一束 B一捆 C一打 D一串10.(单选)conversion ( A)A转换 B分配 C指定 D优化第二部分 知识点测试(90分)一、选择题(每题1.5分,共67.5分)1 . 用8位无符号二进制数能表示的最大十进制数为(C)A. 127B. 128C. 255D. 2562 .以下能作为char类型的字面值的有(BDE)A. "e"B. 'f'C. '\u12'D. '\u0012'E. '\n'3 .byte变量的取值范围是(B)A. 0~65535B. -128~127C. -256-255D. 0~327674. 以下选项中正确的有(ACD)A. int i = 32;B. float f = 45.32;C. double d=3.2;D. double d=9.21D;5 .假定x和y为double型,则表达式x=2,y=x+3/2的值是(D)A. 3.5B. 3C. 2.0D. 3.06 .下列对于>>和>>>操作符描述正确的是(A)A. 当左面的操作数是正数时,>>和>>>结果相同。
B. (-1 >> 1)的结果是0。
C. (-1 >>> 1) 的结果是-1。
D. 只有在右面的操作数大于等于1时, >>> 才会返回负数。
7 .有如下一段代码:1)public class ReturnIt{2) returnType methodA(byte x, double y){3) return x/y*2;4) }5) }在第2行中,方法methodA的有效返回类型returnType应该是?(D)A. intB. byteC. shortD. double8.下列代码的执行结果是(D)1)public class Beirun{2) public static void main(String args[]){3) float t=9.0f;4) int q=5;5) System.out.println((t++)*(--q));6) }7)}A. 40B. 40.0C. 36D. 36.09.下列代码的执行结果是(D)1)public class Beirun{2) public static void main(String args[]){3) System.out.println(5/2);4) }5)}A. 2.5B. 2.0C. 2.50D. 210.下列代码的执行结果是(B)1)public class Beirun{2) public static void main(String args[]){3) System.out.println(100%3);4) System.out.println(100%3.0);5) }6)}A. 1和1B. 1和1.0C. 1.0和1D. 1.0和1.011.下列运算符中,(CD)是布尔逻辑运算符A. ++B. <<C. ||D. &12. 下列哪个文档注释可以被java doc 提取生成API(C)A. //B. /*.....*/C. /**.....*/D. 以上都可以13 下列哪一项不能作为标识符的开始(D)A. 字符B. 下划线C. 美元$D. 数字14.如下哪些字串是Java中的标识符(AE)A. fieldnameB.superC.3numberD.#numberE.$number15.如下哪些是Java中有效的关键字(ACDE)A. constB.NULLC.falseD.thisE.native16.如下哪些是Java中正确的整数表示(ABC)A.22B.0x22C.022D.22H17.下面的代码段中,执行之后i 和j 的值是什么(C)int i = 1;int j;j = i++;A.1, 1B.1, 2C.2, 1D.2, 218.下面哪些是正确的(AD)A. >> 是算术右移操作符.B.>> 是逻辑右移操作符.C.>>> 是算术右移操作符D.>>> 是逻辑右移操作符19.下面哪些赋值语句是合法的(BCD)A.float a = 2.0B.double b = 2.0C.int c = 2D.long d = 2解析:由于小数的字面值为double,A选项的赋值有丢失精度的危险,所以不合法。
20. 面哪个是main()函数的合法参数(C)A.char args[]B.char args[][]C.String args[]D.String args21. 已知如下的命令执行java MyTest a b c。
请问哪个语句是正确的?(C)A. args[0] = "MyTest a b c"B.args[0] = "MyTest"C.args[0] = "a"D.args[1]= 'b'解析:args数组代表的是Java程序传入的参数,不包括类名,下标由0开始。
22. 下面哪些是合法的标识符? (ABE)A. $personsB. TwoUsersC. *pointD. thisE._endline解析:Java中使用的标识符可以是大写和小写字母、数字、下划线(_)、美元符号($)的任意组合,首字母不能是数字,且不能与关键字冲突,所以C和D均是错误的。
23.哪些是将一个十六进制值赋值给一个long型变量? (D)A. long number = 345L;B. long number = 0345;C. long number = 0345L;D. long number = 0x345L解析:十六进制用0x加数字表示,long型变量的后缀为L,故选择D。
24.下面的哪些答案可以用以表示八进制值8? (A)A. 010B. 0x10C. 08D. 0x8解析:8进制中没有数字8,且以0开头,故选择A。
25. 哪些不是Java关键字? (AB)A. TRUEB. sizeofC. constD. superE. void26. 下面哪些不是java的原始数据类型? (BC)A. shortB. BooleanC. unitD. float解析:Java的原始数据类型一共就八个,分别是:byte,short,int,long,boolean,char,float,double。
注意这些是大小写敏感的,而Boolean是booelan的封装类(wrapper class)。
27. 使用"<<"和 ">>"操作符的哪些陈述是对的? (AC)A. 0000 0100 0000 0000 0000 0000 0000 0000<<5 gives1000 0000 0000 0000 0000 0000 0000 0000B. 0000 0100 0000 0000 0000 0000 0000 0000<<5 gives1111 1100 0000 0000 0000 0000 0000 0000C. 1100 0000 0000 0000 0000 0000 0000 0000>>5 gives1111 1110 0000 0000 0000 0000 0000 0000D. 1100 0000 0000 0000 0000 0000 0000 0000>>5 gives0000 0110 0000 0000 0000 0000 0000 0000解析:Java的移位操作符一共有三种,分别是”>>”,”>>>”,”<<”,执行的操作分别是有符号右移,无符号右移,左移,有符号右移的意思是说移入的最高位和原最高符号位相同,无符号右移是移入位始终补零,左移时最低位始终补零,最高位被舍弃。
移位操作符另一个非常值得注意的特点是其右操作数是取模运算的,意思是说对于一个int型数据而言,对它移位32位的结果是保持不变而非变成零,即:a>>32的结果是a而不是0,同理,对long型数是对右操作数取64的模,a>>64==a;还有一点需要注意的是移位操作符”>>>”只对int型和long型有效,对byte或者short 的操作将导致自动类型转换,而且是带符号的。
28. 下面哪个是int型的取值范围? (D)A. -27 ~ 27-1B. 0 ~232~1C. 215 ~ 215-1D. -231 ~ 231-129. main()方法的返回类型是什么? (C)A. intB. voidC. BooleanD. static解析:java中,程序运行的入口就是main()方法,它必须是这样的形式:public static void main(String args[])。
但是严格来讲这个题目的答案还可以加上a和c,因为并没有限定是程序入口的main()方法,而main()方法是可以重载的。
一般意义上的main()当然就是指我们刚开始所说的main()方法了。
30.关于垃圾收集的哪些叙述是对的? (B)A. 程序开发者必须自己创建一个线程进行内存释放的工作。
B. 垃圾收集将检查并释放不再使用的内存。
C. 垃圾收集允许程序开发者明确指定并立即释放该内存。
D. 垃圾收集能够在期望的时间释放被java对象使用的内存。
解析:JAVA将内存分配和释放的工组交给了自己,程序员不必做这些工作,它提供一个系统级的线程跟踪每个内存的分配,在JVM的空闲处理中,垃圾收集线程将检查和释放不再使用的内存(即可以被释放的内存)。