|
真爱的事业和真正的爱情一生只有一次,都值得我们温柔地相待,因为那种感觉是永远都无法复制的, 这世界真正属于你的东西其实并不多,你不好好珍惜,它便会离你而去,包括机遇,包括爱情,包括生命。 不要找任何理由, 当幸福在你身边的时候就抓住它,你就一定会很幸福! |
时 间 记 忆 |
« | September 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | | | | |
|
blog名称:玻璃杯中的花生壳 日志总数:162 评论数量:249 留言数量:1 访问次数:829022 建立时间:2004年11月4日 |
 | | |
|
|
cjp试题集及解析(6)- -
11.Which of the following statements are legal? A. long l = 4990; B. int i = 4L; C. float f = 1.1; D. double d = 34.4; E. double t = 0.9F. 题目:下面的哪些声明是合法的。 答案: (ade) 此题的考点是数字的表示法和基本数据类型的类型自动转换,没有小数点的数字被认为是int型数,带有小数点的数被认为是double型的数,其它的使用在数字后面加一个字母表示数据类型,加l或者L是long型,加d或者D是double,加f或者F是float,可以将低精度的数字赋值给高精度的变量,反之则需要进行强制类型转换,例如将int,short,byte赋值给long型时不需要显式的类型转换,反之,将long型数赋值给byte,short,int型时需要强制转换(int a=(int)123L;)。 42、 public class Parent { int change() {…} } class Child extends Parent { } Which methods can be added into class Child? A. public int change(){} B. int chang(int i){} C. private int change(){} D. abstract int chang(){} 题目:哪些方法可被加入类Child。 答案:(ab) 这个题目的问题在第35题中有详尽的叙述。需要注意的是答案D的内容,子类可以重写父类的方法并将之声明为抽象方法,但是这引发的问题是类必须声明为抽象类,否则编译不能通过,而且抽象方法不能有方法体,也就是方法声明后面不能带上那两个大括号({}),这些D都不能满足。43、class Parent { String one, two; public Parent(String a, String b){ one = a; two = b; } public void print(){ System.out.println(one); } } public class Child extends Parent { public Child(String a, String b){ super(a,b); } public void print(){ System.out.println(one + " to " + two); } public static void main(String arg[]){ Parent p = new Parent("south", "north"); Parent t = new Child("east", "west"); p.print(); t.print(); } } Which of the following is correct? A. Cause error during compilation. B. south east C. south to north east to west D. south to north east E. south east to west 题目:下面的哪些正确。 A. 在编译时出错。答案:E 这个题目涉及继承时的多态性问题,在前面的问题中已经有讲述,要注意的是语句t.print();在运行时t实际指向的是一个Child对象,即java在运行时决定变量的实际类型,而在编译时t是一个Parent对象,因此,如果子类Child中有父类中没有的方法,例如printAll(),那么不能使用t.printAll()。参见12题的叙述。44、A
Button is positioned in a Frame. Only height of the Button is affected
by the Frame while the width is not. Which layout manager should be
used? A. FlowLayout B. CardLayout C. North and South of BorderLayout D. East and West of BorderLayout E. GridLayout 题目:一个按钮放在一个框架中,在框架改变时只影响按钮的高度而宽度不受影响,应该使用哪个布局管理器? 答:(d) 这个还是布局管理器的问题,流布局管理器(FlowLayout)将根据框架的大小随时调整它里面的组件的大小,包括高度和宽度,这个管理器不会约束组件的大小,而是允许他们获得自己的最佳大小,一行满了以后将在下一行放置组件;卡片管理器(CardLayout)一次显式一个加入的组件(根据加入时的关键字);网格管理器(GridLayout)将容器划分为固定的网格,容器大小的改变将影响所有组件的大小,每个组件的大小都会同等地变化;边界管理器(BorderLayout)
将容器划分为五个区域,分为东南西北和中间,东西区域的宽度为该区域里面组件的最佳宽度,高度为容器的高度减去南北区域的高度,这是一个可能变化的值,而
南北区域的宽度为容器的整个宽度,高度为组件的最佳高度,中间区域的高度为容器的高度减去南北区域的高度,宽度为容器的宽度减去东西区域的宽度。45、Given the following code: 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) } Which line will cause error? A. line 3 B. line 6 C. line 7 D. line 8 E. line 10 题目:给出下面的代码: …哪些行将导致错误。 答案:(d) 解析:第8行的getValue()试图访问父类的私有变量,错误,参看前面有关变量类型及其作用域的叙述The variable "result" is boolean. Which expressions are legal? A. result = true; B. if ( result ) { // do something... } C. if ( result!= 0 ) { // so something... } D. result = 1答案 (ab) 题目:变量"result"是一个boolean型的值,下面的哪些表达式是合法的。 Java的boolean不同于c或者c++中的布尔值,在java中boolean值就是boolean值,不能将其它类型的值当作boolean处理。47、Class Teacher and Student are subclass of class Person. Person p; Teacher t; Student s; p, t and s are all non-null. if(t instanceof Person) { s = (Student)t; } What is the result of this sentence? A. It will construct a Student object. B. The expression is legal. C. It is illegal at compilation. D. It is legal at compilation but possible illegal at runtime. 题目:类Teacher和Student都是类Person的子类… p,t和s都是非空值… 这个语句导致的结果是什么 A. 将构造一个Student对象。 B. 表达式合法。 C. 编译时非法。 D. 编译时合法而在运行时可能非法。 答案:C instanceof操作符的作用是判断一个变量是否是右操作数指出的类的一个对象,由于java语言的多态性使得可以用一个子类的实例赋值给一个父类的变量,而在一些情况下需要判断变量到底是一个什么类型的对象,这时就可以使用instanceof了。当左操作数是右操作数指出的类的实例或者是子类的实例时都返回真,如果是将一个子类的实例赋值给一个父类的变量,用instanceof判断该变量是否是子类的一个实例时也将返回真。此题中的if语句的判断没有问题,而且将返回真,但是后面的类型转换是非法的,因为t是一个Teacher对象,它不能被强制转换为一个Student对象,即使这两个类有共同的父类。如果是将t转换为一个Person对象则可以,而且不需要强制转换。这个错误在编译时就可以发现,因此编译不能通过。48、Given the following class: public class Sample{ long 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; } } Which expression returns true? A. s1 == s2; B. s2 == s3; C. m == s1; D. s1.equals(m). 题目:给出下面的类: … 哪个表达式返回true。 答案:B 前面已经叙述过==操作符和String的equals()方法的特点,另外==操作符两边的操作数必须是同一类型的(可以是父子类之间)才能编译通过。49、Given the following expression about List. List l = new List(6,true); Which statements are ture? A. The visible rows of the list is 6 unless otherwise constrained. B. The maximum number of characters in a line will be 6. C. The list allows users to make multiple selections D. The list can be selected only one item. 题目:给出下面有关List的表达式:… 哪些叙述是对的。 A. 在没有其它的约束的条件下该列表将有6行可见。 B. 一行的最大字符数是6 C. 列表将允许用户多选。 D. 列表只能有一项被选中。答案: (ac) List组件的该构造方法的第一个参数的意思是它的初始显式行数,如果该值为0则显示4行,第二个参数是指定该组件是否可以多选,如果值为true则是可以多选,如果不指定则缺省是不能多选。例题4: Which of the following lines of code will compile without error? A. int i=0; if (i) { System.out.println(“Hi”); } B. boolean b=true; boolean b2=true; if(b==b2) { System.out.println(“So true”); } C. int i=1; int j=2; if(i==1|| j==2) System.out.println(“OK”); D. int i=1; int j=2; if (i==1 &| j==2) System.out.println(“OK”); 解答:B, C 点评:选项A错,因为if语句后需要一个boolean类型的表达式。逻辑操作有^、&、| 和 &&、||,但是“&|”是非法的,所以选项D不正确。 中47国95公务网
例题5: Which two demonstrate a has a relationship? (Choose two) A. public interface Person { } public class Employee extends Person{ } B. public interface Shape { } public interface Rectandle extends Shape { } C. public interface Colorable { } public class Shape implements Colorable { } D. public class Species{ } public class Animal{private Species species;} E. interface Component{ } class Container implements Component{ private Component[] children; } 解答:D, E
点评: 在Java中代码重用有两种可能的方式,即组合(“has a”关系)和继承(“is a”关系)。“has
a”关系是通过定义类的属性的方式实现的;而“is a”关系是通过类继承实现的。本例中选项A、B、C体现了“is
a”关系;选项D、E体现了“has a”关系。 中47国95公务网
例题6: Which two statements are true for the class java.util.TreeSet? (Choose two) A. The elements in the collection are ordered. B. The collection is guaranteed to be immutable. C. The elements in the collection are guaranteed to be unique. D. The elements in the collection are accessed using a unique key. E. The elements in the collection are guaranteed to be synchronized 解答:A, C 点评:TreeSet类实现了Set接口。Set的特点是其中的元素惟一,选项C正确。由于采用了树形存储方式,将元素有序地组织起来,所以选项A也正确。 中47国95公务网
例题7: True or False: Readers have methods that can read and return floats and doubles. A. Ture B. False 解答:B 点评: Reader/Writer只处理Unicode字符的输入输出。float和double可以通过stream进行I/O. 中47国95公务网
例题8: What does the following paint() method draw? 1. public void paint(Graphics g) { 2. g.drawString(“Any question”, 10, 0); 3. } A. The string “Any question?”, with its top-left corner at 10,0 B. A little squiggle coming down from the top of the component. 解答:B
点评:drawString(String str, int x, int
y)方法是使用当前的颜色和字符,将str的内容显示出来,并且最左的字符的基线从(x,y)开始。在本题中,y=0,所以基线位于最顶端。我们只能看到
下行字母的一部分,即字母‘y’、‘q’的下半部分。 |
|
| | |
|