03.JAVA考核题-数据类型和运算符(一)第一部分(答案) 联系客服

发布时间 : 星期四 文章03.JAVA考核题-数据类型和运算符(一)第一部分(答案)更新完毕开始阅读8a9f4ce6647d27284b7351e1

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. 127 B. 128 C. 255 D. 256 2 .以下能作为char类型的字面值的有(BDE)

A. \ B. 'f' C. '\%u12' D. '\' E. '\\n' 3 .byte变量的取值范围是(B)

A. 0~65535 B. -128~127 C. -256-255 D. 0~32767 4. 以下选项中正确的有(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.5 B. 3C. 2.0D. 3.0 6 .下列对于>>和>>>操作符描述正确的是(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. int B. byte C. short D. double 8. 下列代码的执行结果是(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. 40 B. 40.0 C. 36 D. 36.0 9.下列代码的执行结果是(D)

1)public class Beirun{ 2) public static void main(String args[]){ 3) System.out.println(5/2); 4) } 5)}

A. 2.5 B. 2.0 C. 2.50 D. 2 10. 下列代码的执行结果是(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和1 B. 1和1.0 C. 1.0和1 D. 1.0和1.0 11. 下列运算符中,(CD)是布尔逻辑运算符

A. ++ B.<

12.下列哪个文档注释可以被java doc 提取生成API(C)

A. // B. /*.....*/ C. /**.....*/ D. 以上都可以 13下列哪一项不能作为标识符的开始(D)

A. 字符 B. 下划线 C. 美元$ D. 数字 14.如下哪些字串是Java中的标识符(AE)

A. fieldname B.super C.3number D.#number E.$number 15.如下哪些是Java中有效的关键字(ACDE) A. const B.NULL C.false D.this E.native 16.如下哪些是Java中正确的整数表示(ABC)

您的未来就是我们的未来

A.22 B.0x22 C.022 D.22H 17.下面的代码段中,执行之后i 和j 的值是什么(C)

int i = 1; int j; j = i++; A.1, 1 B.1, 2 C.2, 1 D.2, 2 18.下面哪些是正确的(AD)

A. >> 是算术右移操作符. B.>> 是逻辑右移操作符. C.>>> 是算术右移操作符 D.>>> 是逻辑右移操作符 19.下面哪些赋值语句是合法的(BCD)

A.float a = 2.0 B.double b = 2.0 C.int c = 2 D.long d = 2

解析:由于小数的字面值为double,A选项的赋值有丢失精度的危险,所以不合法。 20. 面哪个是main()函数的合法参数(C)

A.char args[] B.char args[][] C.String args[] D.String args 21. 已知如下的命令执行 java MyTest a b c。请问哪个语句是正确的?(C)

A. args[0] = \ B.args[0] = \ C.args[0] = \ D.args[1]= 'b'

解析:args数组代表的是Java程序传入的参数,不包括类名,下标由0开始。 22. 下面哪些是合法的标识符? (ABE)

A. $persons B. TwoUsers C. *point D. this E. _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. 010 B. 0x10 C. 08 D. 0x8

解析:8进制中没有数字8,且以0开头,故选择A。 25. 哪些不是Java关键字? (AB)

A. TRUE B. sizeof C. const D. super E. void 26. 下面哪些不是java的原始数据类型? (BC)

A. short B. Boolean C. unit D. 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 gives

1000 0000 0000 0000 0000 0000 0000 0000

B. 0000 0100 0000 0000 0000 0000 0000 0000<<5 gives

1111 1100 0000 0000 0000 0000 0000 0000

C. 1100 0000 0000 0000 0000 0000 0000 0000>>5 gives

1111 1110 0000 0000 0000 0000 0000 0000

D. 1100 0000 0000 0000 0000 0000 0000 0000>>5 gives

0000 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-1 B. 0 ~232~1 C. 215 ~ 215-1 D. -231 ~ 231-1 29. main()方法的返回类型是什么? (C)

A. int B. void C. Boolean D. static 解析:java中,程序运行的入口就是main()方法,它必须是这样的形式:public static void main(String args[])。但是严格来讲这个题目的答案还可以加上a和c,因为并没有限定是程序入口的main()方法,而main()方法是可以重载的。一般意义上的main()当然就是指我们刚开始所说的main()方法了。

30.关于垃圾收集的哪些叙述是对的? (B)

A. 程序开发者必须自己创建一个线程进行内存释放的工作。 B. 垃圾收集将检查并释放不再使用的内存。

C. 垃圾收集允许程序开发者明确指定并立即释放该内存。 D. 垃圾收集能够在期望的时间释放被java对象使用的内存。

解析:JAVA将内存分配和释放的工组交给了自己,程序员不必做这些工作,它提供一个系统级的线程跟踪每个内存的分配,在JVM的空闲处理中,垃圾收集线程将检查和释放不再使用的内存(即可以被释放的内存)。垃圾收集的过程在java程序的生存期中是自动的,不需要分配和释放内存,也避免了内存泄漏。可以调用System.gc()方法建议(suggest)JVM执行垃圾收集以使得可被释放的内存能立即被使用,当此方法返回的时候,JVM已经做了最大的努力从被丢弃的对象上回收内存空间。程序员不能指定收集哪些内存,一般而言也不用关心这个问题,除非是程序的内存消耗很大,特别是有很多临时对象时可以“建议“进行垃圾收集以提高可用内存。需要指出的是调用System.gc()方法不能保证JVM立即进行垃圾收集,而只能是建议,因为垃圾收集线程的优先级很低(通常是最低的) 31.下面哪些答案可以正确表示十六进制数字10? (A)

A. 0xA B. 0x16 C. 0A D. 016

解析:十六进制数以0x开头,以0开头的是八进制数。十六进制表示中的a,b,c,d,e,f依次为10,11,12,13,14,15。 32.下面的哪些赋值语句是错的? (A)

A. float f = 11.1; B. double d = 5.3E12; C. double d = 3.14159; D. double d = 3.14D;

解析:浮点数的赋值是带有小数点的数字缺省是double型的,如果在浮点数后面加f或者F则是float,后面加d或者D则是double,科学计数法形式的浮点数也是double型的,而double的精度比float高,将一个高精度的double赋值给一个低精度的float时需要进行强制类型转换,反之则不需要。

33.在Java API文档中下面的哪些部分被包括在内?(ACD)

A. 类及用途的描述 B. 父类的方法的列表 C. 成员变量的列表 D. 类层次

解析:类文档的内容主要是:类层次、类及用途描述、成员变量列表、构造方法列表、成员方法列表、从类层次上继承的方法列表、成员变量的详细说明、构造方法详细说明、成员方法详细说明。

您的未来就是我们的未来