




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、新员工考试一、 选择题(共 30题,每题 2 分)1. 下面哪些是合法的标识符 ?(多选题)A. $personsB. TwoUsersC. *pointD. thisE. _endline答案 A,B,E分析 Java 的标识符可以以一个 Unicode 字符,下滑线( _),美元符( $)开始,后续字 符可以是前面的符号和数字,没有长度限制,大小写敏感,不能是保留字( this 保留字)。2. 哪些是将一个十六进制值赋值给一个 long 型变量 ?(单选题)A. long number = 345L;B. long number = 0345;C. long number = 0345L;
2、D. long number = 0x345L答案 D分析 十六进制数以Ox开头,Io ng型数以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
3、. String s = home directory;String t = s - directory;答案 B,D分析A:String 类型可以直接使用 +进行连接运算。B:String 是一种 Object ,而不是简单的字符数组, 不能使用下标运算符取其值的某个元 素,错误。C:toUpperCase() 方法是 String 对象的一个方法,作用是将字符串的内容全部转换为大 写并返回转换后的结果( String 类型)。D:String 类型不能进行减( - )运算,错误。4. point x 处的哪些声明是句法上合法的 ? (多选题)cIass Person private int
4、 a;pubIic int change(int m) return m; pubIic cIass 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) 下面的哪些陈述正
6、确 ?A. 第二行的声明不会为变量myVect分配内存空间。B. 第二行的声明分配一个到 Vector 对象的引用的内存空间。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变量被分配为一个到内存堆中
7、的新对象的引用。6. 下面的哪些答案可以用以表示八进制值 8? (单选题)A. 010B. 0x10C. 08D. 0x8答案 A分析 八进制值以 0开头,以 0x 开头的为十六进制值,八进制中不能出现数字8,最大只有 7。1) class Person 2) public void prin tValue( int i, i nt j) /*/ 3) public void printValue(int i)/*.*/ 4) 5) public class Teacher extends Person 6) public void printValue() /*.*/ 7) public v
8、oid printValue(int i) /*.*/8) public static void main(String args)9) Person 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 类,这 涉及到类
9、型的自动转换(将一个子类的实例赋值给一个父类的变量是不用进行强制类型转换, 反之则需要进行强制类型转换,而且被赋值的变量实际上应该是一个子类的对象),如果对 t 调用了 子类中新增的方法则造成编译时错误编译将不能通过, 而在运行时, 运行时系统将根据 t 实际 指向的类型调用对应的方法,对于本例来说, t.print(10) 将调用 t 实际指向的 Teacher 类的 对应方法。在 java 中,可以用一个子类的实例实例化父类的一个变量,而变量在编译时是一 个父类实例,在运行时可能是一个子类实例。7. 给出下面的代码:(单选题)x 的取值在什么范围内时将打印字符串 second 。A. x
10、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 8B. The value is 9C. The value is 10D. The value is 11答案:c此题考察的是dowhile循环和-操作符的知识,dowhile最少被执行一次,在执 行完 do 中的内容后判断 while 中的条件是否
11、为 true ,如果为 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;7) k = k + 1;8) i-;9) 10) 哪些行在编译时可能产生错误。A. line 4B. line 6C. li
12、ne 7D. line 8答案 c这个问题在前面有关变量的类型及其作用域的问题中讨论过,局部变量在使用前必须 显式初始化,而代码中的变量 k 在使用前没有。13. 给出下面的代码片断:(单选题)1) String str = null;2) if (str != null) & (str.length() 10) 3)4) 5) else if (str != null) & (str.length() 5) 6)7) 哪些行将导致错误 ?A. line 1B. line 2C. line 5D. line 8答案 c此题需要将代码仔细看清楚,查询没有逻辑错误,ifelse的使用没有问题,也没
13、 有拼写错误,错误在于第5行的“与”操作符的使用,逻辑操作符(logical operator )的“与” 应该是 &,而&是位逻辑操作符( bitwise logical operator )的“与”,使用的对象不一样, 逻辑操作符的“与”的左右操作数都应该是布尔型( logical boolan )的值,而位逻辑操作符 的左右操作数都是整型( integral )值。14. 给出下面的代码:(单选题)public class Personstatic int arr = new int10;public static void main(String a) 那个叙述是对的。A. 编译时将发
14、生错误。B. 编译时正确但是运行时出错。C. 输出为 0。D. 输出为 null答案 cint 型数组是类对象,它在类被加载时完成初始化,在前面题目中已经有叙述,由于 是原始数据类型 int ,其初始值为 0。15. public class Parent / (多选题)public int addValue( int a, int b) int s;s = a+b;return s;class Child extends Parent 哪些方法可以加入类 Child 中?A. int addValue( int a, int b )/ do something.B. public void
15、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 ),方法重写( override )以及类派生时方法重写的规 则。方法重载的规则是:一、参数列表必须不同,个数的不同完全可以,如果个数相同则参数 类型的不同不能引起歧意,例如 int 和 long,float 和 double 就不能作为唯一的类型不同; 二、返回值
16、可以不同,但是不能是重载时唯一的不同点(这点和C+中不同,C+中返回类型必须一致)。方法重写发生在类继承时,子类可以重写一个父类中已有的方法,必须在返回类 型和参数列表一样时才能说是重写,否则就是重载, java 中方法重写的一个重要而且容易被 忽略的规则是重写的方法的访问权限不能比被重写的方法的访问权限低! 重写的另一个规则是 重写的方法不能比被重写的方法抛弃 (throws) 更多种类的异常, 其抛弃的异常只能少, 或者是 其子类,不能以抛弃异常的个数来判断种类,而应该是异常类层次结果上的种类。此题中答案 a 的错误就是重写的访问权限比被重写的方法的低,而 b,c 都属于重载, d 的错误
17、在于比被重 写的方法抛弃了更多种类的异常。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=100 。答案 dJava 中共有变量使用 public 定义,常量变量使用 final ,另外注意的是修饰符的顺 序,一个最完整的修饰是 public static final int va
18、rial_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 java.io.*;class Person/ do something. public class Test/ do something.D. import
19、 java.io.*; import java.awt.*;public class Test/ do something. 答案 acdjava 中的 package 语句必须是源文件中除去说明以外的第一条语句,导入包语句可以有几个,但是必须位于 package 语句之后,其它类定义之前,一个源文件中可以有几个类,但 最多只能有一个是 public 的,如果有,则源文件的文件名必须和该类的类名相同。18. 下面的哪些声明是合法的 ? (多选题)A. long l = 4990;B. int i = 4L;C. float f = 1.1;D. double d = 34.4;E. doubl
20、e t = 0.9F. 答案 ade 此题的考点是数字的表示法和基本数据类型的类型自动转换,没有小数点的数字被认为是 int 型数,带有小数点的数被认为是 double 型的数,其它的使用在数字后面加一个字母表 示数据类型,加I或者L是long型,加d或者D是double,加f或者F是float,可以将低 精度的数字赋值给高精度的变量,反之则需要进行强制类型转换,例如将 int,short,byte 赋 值给 long 型时不需要显式的类型转换,反之,将 long 型数赋值给 byte,short,int 型时需要 强制转换( int a=(int)123L;)。19. 如下描述:(多选题)p
21、ublic class Parent int cha nge() class Child extends Parent 哪些方法可被加入类 Child?A. public int change()B. int chang(int i)C. private int change()D. abstract int chang()答案 ab这个题目的问题在第35题中有详尽的叙述。需要注意的是答案D的内容,子类可 以重写父类的方法并将之声明为抽象方法,但是这引发的问题是类必须声明为抽象类,否 则编译不能通过,而且抽象方法不能有方法体,也就是方法声明后面不能带上那两个大括 号(),这些D都不能满足。20
22、. 给出下面的代码:(单选题)1) class Parent 2) private String name;3) public Parent()4) 5) public class Child extends Parent 6) private String department;7) public Child() 8) public String getValue() return name; 9) public static void main(String arg) 10) Parent p = new Parent();11) 12) 哪些行将导致错误 ?A. line 3B. lin
23、e 6C. line 7D. line 8E. line 10答案 d第 8 行的 getValue() 试图访问父类的私有变量, 错误,参看前面有关变量类型及其作 用域的叙述21. 变量result是一个boolean型的值,下面的哪些表达式是合法的?(多选题)A. result = true;B. if ( result ) / do something. C. if ( result!= 0 ) / so something. D. result = 1 答案 abJava的boolean 不同于 c或者 C+中的布尔值,在 java 中boolean 值就是 boolean 值,不能将
24、其它类型的值当作 boolean 处理。22. 类 Teacher 和 Student 都是类 Person 的子类(单选题)Person p;Teacher t;Student s;P,t 和 s 都是非空值。if(t instanceof Person) s = (Student)t; 这个 if 语句导致的结果是什么A. 将构造一个 Student 对象。B. 表达式合法。C. 编译时非法。D. 编译时合法而在运行时可能非法。答案 cinstanceof 操作符的作用是判断一个变量是否是右操作数指出的类的一个对象, 由于 java 语言的多态性使得可以用一个子类的实例赋值给一个父类的变量
25、,而在一些情况下需要 判断变量到底是一个什么类型的对象,这时就可以使用 instanceof 了。当左操作数是右操作 数指出的类的实例或者是子类的实例时都返回真, 如果是将一个子类的实例赋值给一个父类的 变量,用 instanceof 判断该变量是否是子类的一个实例时也将返回真。 此题中的 if 语句的判 断没有问题,而且将返回真,但是后面的类型转换是非法的,因为 t 是一个 Teacher 对象,它 不能被强制转换为一个 Student 对象,即使这两个类有共同的父类。如果是将 t 转换为一个 Person 对象则可以,而且不需要强制转换。这个错误在编译时就可以发现,因此编译不能通 过。23
26、. 给出下面的类:(单选题)public class Samplelong length;public Sample(long l) length = l; public static void main(String arg)Sample s1, s2, s3;s1 = new Sample(21L);s2 = new Sample(21L);s3 = s2;long m = 21L;哪个表达式返回 true 。A. s1 = s2;B. s2 = s3;C. m = s1;D. s1.equals(m).答案 b前面已经叙述过 =操作符和 String 的 equals() 方法的特点,另
27、外 =操作符两边的操 作数必须是同一类型的(可以是父子类之间)才能编译通过。24. 给出下面有关 List 的表达式:(多选题)List l = new List(6,true); 哪些叙述是对的。A. 在没有其它的约束的条件下该列表将有 6 行可见。B. 一行的最大字符数是 6C. 列表将允许用户多选。D. 列表只能有一项被选中。答案 acList 组件的该构造方法的第一个参数的意思是它的初始显式行数, 如果该值为 0 则显 示 4 行,第二个参数是指定该组件是否可以多选,如果值为 true 则是可以多选,如果不指定则缺省是不能多选。25. 给出下面的代码:(单选题)class Person
28、 String name,department;public void printValue()public class Teacher extends Person int salary;public void printValue()/ doing the same as in the parent method printValue()/ including print the value of name and department.下面的哪些表达式可以加入 printValue() 方法的 doing the same as.部分 ?A. printValue();B. this.p
29、rintValue();C. person.printValue();D. super.printValue().答案 d子类可以重写父类的方法,在子类的对应方法或其它方法中要调用被重写的方法需要 在该方法前面加上” super. ”进行调用,如果调用的是没有被重写的方法, 则不需要加上 super. 进行调用,而直接写方法就可以。这里要指出的是 java 支持方法的递归调用,因此答案 a 和 b 在语法上是没有错误的,但是不符合题目代码中说明处的要求:即做和父类的方法中相同的 事情??打印名字和部门,严格来说也可以选a和bo26. 给出下面的代码片断:(多选题)1) switch(m)2)
30、3)3) case 2:5)4) m为哪些值将导致default输出?A. 0B. 1C. 2D. 3答案 cd此题考察 switch 语句的用法, switch 的判断的条件必须是一个 int 型值,也可以是 byte 、short 、char 型的值, case 中需要注意的是一个 case 后面一般要接一个 break 语句才 能结束判断, 否则将继续执行其它 case 而不进行任何判断, 如果没有任何值符合 case 列出的 判断,则执行 default 的语句, default 是可选的,可以没有,如果没有 default 而又没有任 何值匹配case中列出的值则switch不执行任
31、何语句。27. 给出下面的不完整的方法:(多选题)1)2) success = connect();3) if (success=-1) 4) throw new TimedOutException();5) 6) TimedOutException 不是一个 RuntimeException 。下面的哪些声明可以被加入第一行 完成此方法的声明。 ?A. public void method()B. public void method() throws ExceptionC. public void method() throws TimedOutExceptionD. public voi
32、d method() throw TimedOutExceptionE. public throw TimedOutException void method()答案 b、 c如果程序在运行的过程中抛出异常,而这个异常又不是 RuntimeException 或者 Error , 那么程序必须捕获这个异常进行处理或者声明抛弃( throws )该异常,捕获异常可以使用 trycatch() 语句,而抛弃异常在方法声明是声明,在方 法的声明后面加上 throws XxxxException ,抛弃多个异常时在各异常间使用逗号( , )分隔,题目中的程序在运行时抛出 的不是一个 RuntimeEx
33、ception ,所有必须捕获或者抛弃,而程序又没有捕获,所有应该在方 法 声 明 中 声 明 抛 弃 。 由 于 Exception 是 所 有 异 常 的 父 类 , 所 有 当 然 也 可 以 代 表 RuntimeException 了。28. 下面的哪些答案可以正确表示一个十六进制数字 10?(单选题)A. 0xAB. 0x16C. 0AD. 016答案 a十六进制数以 0x 开头,以 0 开头的是八进制数。 十六进制表示中的 a,b,c,d,e,f 依次为 10,11,12,13,14, 15。29. 给出下面的代码:(单选题)1) public class Test 2int m
34、, n;3 public Test() 4public Test(int a) m=a; 5 public static void main(String arg) 6Test t1,t2;7int j,k;8j=0; k=0;9t1=new Test();10t2=new Test(j,k);11 12 在编译时哪行将导致一个错误 ?A. line 3B. line 5C. line 6D. line 10答案 d第 10 行的声明调用一个带两个参数的 Test 的构造方法,而该类没有这样的构造方法。 二、 简答题1. 读如下程序,说出结果, 并说明得出结果原因 ( 10 分)public
35、class BreakContinue public static void main(String args) for (int i = 0; i 10; i+) if(i = 3 | i = 5) continue;for (int j = 0; j 5) break; if (i = 6) break;答案: 1,2,3,4,52. 读程序,说出 j 值, 并说明得出结果原因 (10 分)。public class Test private static int j = 0;public static void main(String args) methodA(0);private s
36、tatic boolean methodB(int k)j += k;return true;public static void methodA(int i) boolean b;b = i 10 | methodB(4);b = i 10 | methodB(8); /此处短路 method 不进行计算答案:4三、 编程题1. 请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第 个字母( 20 分)。答案: 1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if 语句判断第二个字母。importpublic class Ex26 public
37、static void main(String args)/ 保存用户输入的第二个字母char weekSecond;/ 将 Scanner 类示例化为 input 对象,用于接收用户输入 Scanner input = new Scanner(System. in );/ 开始提示并接收用户控制台输入System. out .print( 请输入星期值英文的第一个字母,我来帮您判断是星期几: );String letter = input.next();/ 判断用户控制台输入字符串长度是否是一个字母if (letter.length() = 1)/ 利用取第一个索引位的字符来实现让 Scan
38、ner 接收 char 类型输入 char weekFirst = letter.charAt(0);switch (weekFirst)case m :/ 当输入小写字母时,利用 台输入大小写敏感的功能case M :System. out .println(break ;case t :switch 结构特性执行下一个带 星期一 (Monday) );break 语句的 case 分支,以实现忽略用户控制/ 当输入小写字母时,利用 台输入大小写敏感的功能switch 结构特性执行下一个带break 语句的 case 分支,以实现忽略用户控制case TSystem. out .print(
39、 由于星期二 (Tuesday) 与星期四 (Thursday)均以字母 T 开头,故需输入第二个字母才能正确判断: );letter = input.next();/ 判断用户控制台输入字符串长度是否是一个字母if (letter.length() = 1)/ 利用取第一个索引位的字符来实现让 Scanner 接收 char 类型输入 weekSecond = letter.charAt(0);/ 利用或( | )运算符来实现忽略用户控制台输入大小写敏感的功能 if (weekSecond = U | weekSecond =u )System. out .println( 星期二 (Tues
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年溴氨蓝合作协议书
- 历史文化遗址保护知识点总结卷
- 2025年高品质溴氨酸合作协议书
- 2025年吸污车项目合作计划书
- 知识产权转让与保密协议要求规范
- 酒店客房用品进销存管理软件服务协议
- 2025年道路货物运输服务项目建议书
- 2025年钢材:一级钢合作协议书
- 影视制作与发行合作协议概要
- 网络安全防护方案实战演练试卷
- 水务公司笔试题目及答案
- 延安通和电业有限责任公司招聘真题2024
- 2025年北京市西城区高三二模生物试卷(含答案)
- 病媒生物防治试题及答案
- 正定古城介绍课件
- GB/T 45501-2025工业机器人三维视觉引导系统通用技术要求
- 2025年武汉数学四调试题及答案
- GB 19081-2025饲料加工系统粉尘防爆安全规范
- 2024年云南省初中学业水平考试地理试卷含答案
- 2024年全国高中数学联赛北京赛区预赛一试试题(解析版)
- 建筑地基基础检测规范DBJ-T 15-60-2019
评论
0/150
提交评论