最新java基础考试题及答案.doc
《最新java基础考试题及答案.doc》由会员分享,可在线阅读,更多相关《最新java基础考试题及答案.doc(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品资料java基础考试题及答案.新员工考试一、 选择题(共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 =
2、 0345L;D. long number = 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()
3、;D. String s = home 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 ch
4、ange(int m) return 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成员变量,但是在静态方法中不能使用类中的非静态
5、成员。C:a是类Person的private成员,在类外不能直接引用。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. 第二行的声明分配一个到Vecto
6、r对象的引用的内存空间。C. 第二行语句创建一个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 答
7、案A 分析八进制值以0开头,以0x开头的为十六进制值,八进制中不能出现数字8,最大只有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) P
8、erson t = new Teacher();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中,可以用一个子类的实例实例化父类的一个变量,而变量在编译时是一个父类实例,在运行时可能是一个子类实例。7. 给出下面的代码:(单选题)if (x0) System.out.println(first); else if (x-3) System.out.println(second); else System.out.println(third); x的取值在什么范围内时将打印字符串second。 A
10、. x 0B. x -3C. x = -3D. x -3 答案D 分析x0时打印first,x-3&x=0时打印second,x 10 )public static void main(String arg) int i=10;Test t= new Test();t.printValue(i);输出将是什么?A. The value is 8 B. The value is 9C. The value is 10D. The value is 11答案:c此题考察的是do while循环和 - 操作符的知识,dowhile最少被执行一次,在执行完do中的内容后判断while中的条件是否为tr
11、ue,如果为true的话就再执行do中的内容,然后再进行判断,以此类推直到while的判断为false时退出循环执行循环后面的内容,而操作符的规则是在变量右边的- 将先进行运算,然后才是使变量的值减一,而在变量左边的是先将变量的值减一再运算。12. 给出下面的代码:(单选题)1) public void modify() 2) int i, j, k;3) i = 100;4) while ( i 0 ) 5) j = i * 2;6) System.out.println ( The value of j is + j );7) k = k + 1;8) i-;9) 10) 哪些行在编译时可
12、能产生错误。A. line 4B. line 6C. line 7D. line 8答案c这个问题在前面有关变量的类型及其作用域的问题中讨论过,局部变量在使用前必须显式初始化,而代码中的变量k在使用前没有。13. 给出下面的代码片断:(单选题)1) String str = null;2) if (str != null) & (str.length() 10) 3) System.out.println(more than 10);4) 5) else if (str != null) & (str.length() 5) 6) System.out.println(less than 5)
13、;7) 8) else System.out.println(end); 哪些行将导致错误? A. line 1B. line 2C. line 5D. line 8答案c此题需要将代码仔细看清楚,查询没有逻辑错误,if else的使用没有问题,也没有拼写错误,错误在于第5行的“与”操作符的使用,逻辑操作符(logical operator)的“与”应该是&,而&是位逻辑操作符(bitwise logical operator)的“与”,使用的对象不一样,逻辑操作符的“与”的左右操作数都应该是布尔型(logical boolan)的值,而位逻辑操作符的左右操作数都是整型(integral)值。
14、14. 给出下面的代码:(单选题)public class Personstatic int arr = new int10;public static void main(String a) System.out.println(arr1;)那个叙述是对的。A. 编译时将发生错误。B. 编译时正确但是运行时出错。C. 输出为0。D. 输出为null答案cint型数组是类对象,它在类被加载时完成初始化,在前面题目中已经有叙述,由于是原始数据类型int,其初始值为0。15. public class Parent /(多选题)public int addValue( int a, int b)
15、int s;s = a+b;return s;class Child extends Parent 哪些方法可以加入类Child中?A. int addValue( int a, int b )/ do something.B. public void addValue ()/ do something.C. public int addValue( int a )/ do something.D. public int addValue( int a, int b )throws MyException /do something.答案bc此题涉及方法重载(overload),方法重写(ov
16、erride)以及类派生时方法重写的规则。方法重载的规则是:一、参数列表必须不同,个数的不同完全可以,如果个数相同则参数类型的不同不能引起歧意,例如int 和long,float和double就不能作为唯一的类型不同;二、返回值可以不同,但是不能是重载时唯一的不同点(这点和c+中不同,c+中返回类型必须一致)。方法重写发生在类继承时,子类可以重写一个父类中已有的方法,必须在返回类型和参数列表一样时才能说是重写,否则就是重载,java中方法重写的一个重要而且容易被忽略的规则是重写的方法的访问权限不能比被重写的方法的访问权限低!重写的另一个规则是重写的方法不能比被重写的方法抛弃(throws)更多
17、种类的异常,其抛弃的异常只能少,或者是其子类,不能以抛弃异常的个数来判断种类,而应该是异常类层次结果上的种类。此题中答案a的错误就是重写的访问权限比被重写的方法的低,而b,c都属于重载,d的错误在于比被重写的方法抛弃了更多种类的异常。16. 共有成员变量MAX_LENGTH是一个int型值,变量的值保持常数值100。使用一个短声明定义这个变量。(单选题)A. public int MAX_LENGTH=100;B. final int MAX_LENGTH=100;C. final public int MAX_LENGTH=100;D. public final int MAX_LENGTH
18、=100。答案dJava中共有变量使用public定义,常量变量使用final,另外注意的是修饰符的顺序,一个最完整的修饰是public static final int varial_a=100;这个顺序不能错,这和c+中也是不同的。而答案c恰恰错在修饰符的顺序上。17. 下面的那个java源文件代码片断是对的? (多选题)A. package testpackage;public class Test/do something.B. import java.io.*;package testpackage;public class Test/ do something. C. import
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 java 基础 考试题 答案
限制150内