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. "e"
B. 'f'
C. '\u12'
D. '\u0012'
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. 3
C. 2.0
D. 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. <<
C. ||
D. &
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] = "MyTest a b c"
B.args[0] = "MyTest"
C.args[0] = "a"
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。
unicode文件格式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程序的生存期中是自动的,不需要分配和释放内存,也避免了内存泄漏。可以调用()方法建议(suggest)JVM执行垃圾收集以使得可被释放的内存能立即被使用,当此方法返回的时候,JVM已经做了最大的努力从被丢弃的对象上回收内存空间。程序员不能指定收集哪些内存,一般而言也不用关心这个问题,除非是程序的内存消耗很大,特别是有很多临时对象时可以“建
议“进行垃圾收集以提高可用内存。需要指出的是调用()方法不能保证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. 类层次
解析:类文档的内容主要是:类层次、类及用途描述、成员变量列表、构造方法列表、成员方法列表、从类层次上继承的方法列表、成员变量的详细说明、构造方法详细说明、成员方法详细说明。
34.下面的哪些声明是合法的? (ADE)
A. long l = 4990;
B. int i = 4L;
C. float f = 1.1;
D. double d =
34.4; E. double t = 0.9F.
解析:此题的考点是数字的表示法和基本数据类型的类型自动转换,没有小数点的数字被认为是int型数,带有小数点的数被认为是double型的数,其它的使用在数字后面加一个字母表示数据类型,加l或者L是long型,加d或者D是double,加f或者F是float,可以将低精度的数字赋值给高精度的变量,反之则需要进行强制类型转换,例如将
int,short,byte赋值给long型时不需要显式的类型转换,反之,将long型数赋值给byte,short,int型时需要强制转换(int a=(int)123L;)。
35.变量"result"是一个boolean型的值,下面的哪些表达式是合法的?(AB)
A. result = true;
B. if ( result ) { // }
C. if ( result!= 0 ) { // }
D. result = 1
解析:Java的boolean不同于c或者c++中的布尔值,在java中boolean值就是boolean值,不能将其它类型的值当作boolean处理。
36. 在java语句中,运算符&&实现(B)
A. 逻辑或
B. 逻辑与
C. 逻辑非
D. 逻辑相等
37.在java语句中,位运算操作数只能为整型或(B)数据
A. 实型
B. 字符型
C.布尔型
D.字符串型
38.00101010(|)00010111语句的执行结果为(C)
A. 00000000
B. 11111111
C. 00111111
D. 11000000
39. ~0010101语句的执行结果为(A)
A. 1101010
B. 0010101
C. 11111111
D. 00000000
40.三元条件运算符ex1?ex2:ex3,相当于下面(A)语句。
A.if(ex1) ex2; else ex3;
B.if(ex2) ex1;else ex3;
C.if(ex1) ex3; else ex2;
D.if(ex3) ex2;else ex1;
41.Java是从()语言改进重新设计。(B)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论