java基础考试题及答案

上传人:人*** 文档编号:486318125 上传时间:2023-11-20 格式:DOC 页数:18 大小:76.01KB
返回 下载 相关 举报
java基础考试题及答案_第1页
第1页 / 共18页
java基础考试题及答案_第2页
第2页 / 共18页
java基础考试题及答案_第3页
第3页 / 共18页
java基础考试题及答案_第4页
第4页 / 共18页
java基础考试题及答案_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《java基础考试题及答案》由会员分享,可在线阅读,更多相关《java基础考试题及答案(18页珍藏版)》请在金锄头文库上搜索。

1、新员工考试一、 选择题(共30题,每题2分)1. 下面哪些是合法的标识符?(多选题) A. $persons B. TwoUsers C. *point D. thisE. _endline 答案A,B,E 分析Java的标识符可以以一个Unicode字符,下滑线(_),美元符($)开始,后续字符可以是前面的符号和数字,没有长度限制,大小写敏感,不能是保留字(this保留字)。2. 哪些是将一个十六进制值赋值给一个long型变量?(单选题) A. long number = 345L;B. long number = 0345;C. long number = 0345L;D. long nu

2、mber = 0x345L 答案D 分析十六进制数以0x开头,long型数以L(大小写均可,一般使用大写,因为小写的l和数字1不易区分)。3. 下面的哪些程序片断可能导致错误? (多选题)A. String s = Gone with the wind;String t = good ;String k = s + t;B. String s = Gone with the wind;String t;t = s3 + one; C. String s = Gone with the wind;String standard = s.toUpperCase();D. String s = ho

3、me directory;String t = s - directory;答案B,D 分析A:String类型可以直接使用+进行连接运算。B:String是一种Object,而不是简单的字符数组,不能使用下标运算符取其值的某个元素,错误。C:toUpperCase()方法是String对象的一个方法,作用是将字符串的内容全部转换为大写并返回转换后的结果(String类型)。D:String类型不能进行减(-)运算,错误。4. point x处的哪些声明是句法上合法的? (多选题)class Person private int a;public int change(int m) retur

4、n m; public class Teacher extends Person public int b;public static void main(String arg)Person p = new Person();Teacher t = new Teacher();int i;/ point xA. i = m;B. i = b;C. i = p.a; D. i = p.change(30);E. i = t.b. 答案D,E 分析A:m没有被声明过,不能使用。B:虽然b是类Teacher的public成员变量,但是在静态方法中不能使用类中的非静态成员。C:a是类Person的pr

5、ivate成员,在类外不能直接引用。D:change(int m)方法是public方法,并且返回一个int型值,可以通过类的实例变量p引用并赋值给一个int型变量。E:b是类Teacher的public成员变量,且是int型,可以通过类的实例变量t引用并赋值给一个int型变量。5. 下面的代码片断(多选题):1) public void create() 2) Vector myVect;3) myVect = new Vector(); 4) 下面的哪些陈述正确? A. 第二行的声明不会为变量myVect分配内存空间。B. 第二行的声明分配一个到Vector对象的引用的内存空间。C. 第二

6、行语句创建一个Vector类对象。D. 第三行语句创建一个Vector类对象。E. 第三行语句为一个Vector类对象分配内存空间。 答案A,D,E 分析要为一个新对象分配空间必须执行new Xxx()调用,new调用执行以下的操作:1为新对象分配空间并将其成员初始化为0或者null。2执行类体中的初始化。(例如在类中有一个成员声明int a=10;在第一步后a=0 ,执行到第二步后a=10)3执行构造函数。4变量被分配为一个到内存堆中的新对象的引用。6. 下面的哪些答案可以用以表示八进制值8? (单选题) A. 010B. 0x10C. 08D. 0x8 答案A 分析八进制值以0开头,以0x

7、开头的为十六进制值,八进制中不能出现数字8,最大只有7。7.1) class Person 2) public void printValue(int i, int j) /*/ 3) public void printValue(int i)/*.*/ 4) 5) public class Teacher extends Person 6) public void printValue() /*.*/ 7) public void printValue(int i) /*.*/8) public static void main(String args)9) Person t = new T

8、eacher();10) t.printValue(10);11) 12) 第十行的声明将调用哪些方法? (单选题)A. on line 2B. on line 3C. on line 6D. on line 7 答案D 分析变量t是一个Person对象,但是它是用Teacher实例化的,这个问题涉及到java的编译时多态和运行时多态的问题,就编译时多态来说,t实际上是一个Person类,这涉及到类型的自动转换(将一个子类的实例赋值给一个父类的变量是不用进行强制类型转换,反之则需要进行强制类型转换,而且被赋值的变量实际上应该是一个子类的对象),如果对t调用了子类中新增的方法则造成编译时错误编译

9、将不能通过,而在运行时,运行时系统将根据t实际指向的类型调用对应的方法,对于本例来说,t.print(10)将调用t实际指向的Teacher类的对应方法。在java中,可以用一个子类的实例实例化父类的一个变量,而变量在编译时是一个父类实例,在运行时可能是一个子类实例。8. 给出下面的代码:(单选题)if (x0) System.out.println(first); else if (x-3) System.out.println(second); else System.out.println(third); x的取值在什么范围内时将打印字符串second。 A. x 0B. x -3C.

10、x = -3D. x -3 答案D 分析x0时打印first,x-3&x=0时打印second,x=-3时打印third。这个题目没有什么难的,只要理解if语句的语法就可以了。9. 下面的哪些赋值语句是不正确的(单选题)A. float f = 11.1;B. double d = 5.3E12;C. double d = 3.14159;D. double d = 3.14D.答案 A题目:。浮点数的赋值是带有小数点的数字缺省是double型的,如果在浮点数后面加f或者F则是float,后面加d或者D则是double,科学计数法形式的浮点数也是double型的,而double的精度比floa

11、t高,将一个高精度的double赋值给一个低精度的float时需要进行强制类型转换,反之则不需要。10. 给出下面的不完整的类代码: (单选题)class Person String name, department;int age;public Person(String n) name = n; public Person(String n, int a) name = n; age = a; public Person(String n, String d, int a) / doing the same as two arguments version of constructor /

12、 including assignment name=n,age=adepartment = d;下面的哪些表达式可以加到构造方法中的doing the same as.处?A. Person(n,a);B. this(Person(n,a);C. this(n,a);D. this(name,age).答案 C分析:在同一个类的不同构造方法中调用该类的其它构造方法需要使用this()的形式,而且必须是在构造方法的第一行调用,这个和普通的方法重载调用的方式不同,普通的方法可以直接使用方法名加参数来调用,而且调用位置没有限制,因此答案A是不行的,B的语法就是错误的,D的错误在于在父类型的构造函数

13、被调用前不能引用类的成员。构造方法是一个类对象实例化的起点(虽然严格来说首先执行的并不是构造方法的第一个语句,而是内存的分配),因此在构造方法中不能将成员作为参数引用。11. public void test() / (多选题)try oneMethod();System.out.println(condition 1); catch (ArrayIndexOutOfBoundsException e) System.out.println(condition 2); catch(Exception e) System.out.println(condition 3); finally System.out.println(finally); 在oneMethod()方法运行正常的情况下将显示什么?A. condition 1B. condition 2C. condition 3D. finally答案 ad分析:如果try块中的语句在执行时发生异常,则执行从该处中断而进入catch块,根据异常的类型进行匹配,最前面的优先进行匹配比较,只要该异常是catch中指定的异常的子类就匹配成功进而执行相应的catch中的内容,而finally块中的内容无论是否发生异常都将被执行。12. 给出下面的代码:(单选题)public class Te

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号