1、JAVA程序设计2复赛A卷第二届全国ITAT教育工程就业技能大赛复赛试题Java程序设计(A卷) 姓名:_ 准考证号:_ 题号一二三四总分得分注意:在指定的路径下创建以姓名和准考证号命名的文件夹,并将试题答案存放在以题号命名的子文件夹中。凡未按照要求将试题存放在相应文件夹中的考生成绩一律作废。一选择题(每道题3分,共30分)123456789101、 使用以下哪个保留字可以使只有在定义该类的包中的其他类才能访问该类?A)abstract B)privateC)protected D)不使用保留字2、下列选项中哪一个是表达式1+2+aa+3的值()?A)12aa3 B) 3aa3 C) 12aa
2、 D) aa33、考虑下面的类: 1. class Test 2. void test(int i) 3. System.out.println(“I am an int.”); 4. 5. void test(String s) 6. System.out.println(“I am a string.”); 7. 8. 9. public static void main(String args) 10. Test t=new Test(); 11. char ch=“y”; 12. t.test(ch); 13. 14. 下列哪一个结论是正确的A)第5行不能通过编译,因为void方法不能
3、被重载。B)第12行不能通过编译,因为没有将一个将char类型作为参数的test() 方法。C)代码不能通过编译但是会在第12行抛出异常。D)代码能通过编译并会产生如下输出:I am an int. E)代码能通过编译并会产生如下输出:I am a String. 4、下列哪些代码编译时没有错误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=
4、2) System.out.println(“OK”); D) int i=1; int j=2; if (i=1 &| j=2) System.out.println(“OK”); 5、 如果float f=4.2F; Float g=new Float(4.2F); Double d=new Double(4.2); 则下列哪些表达式值为真? A)f=gB)g=gC)d=fD)d.equals(f) E) d.equals(g) F) g.equals(4.2)6、public class Test public static void add3(Integer i) int val=i.
5、intValue(); val+=3; i=new Integer(val); public static void main(String args) Integer i=new Integer(0); add3(i); System.out.println(i.intValue(); 以上代码的结果会是以下哪个选项? A) 编译出错。B) 输出 0 C) 输出 3 D) 编译成功但运行时会在第3行出现异常7、下面程序标记处应该插入哪个选项的代码?class EnclosingOne public class InsideOne public class InnerTest public s
6、tatic void main(String args) EnclosingOne eo=new EnclosingOne(); /insert code here A) InsideOne ei=eo.new InsideOne(); B) eo.InsideOne ei=eo.new InsideOne(); C) InsideOne ei=EnclosingOne.new InsideOne(); D) InsideOne ei=eo.new InsideOne(); E) EnclosingOne.InsideOne ei=eo.new InsideOne(); 8、public cl
7、ass SychTest private int x; private int y; public void setX(int i) x=i; public void setY(int i) y=i; public Synchronized void setXY(int i) setX(i); setY(i); public Synchronized boolean check() return x!=y; 在下列哪种情况下,check()方法在被另一个不同的类调用时会返回true?A) check() 永远也不会返回true。 B) 当通过多线程调用setXY () 时check() 能够返
8、回true。C) 当通过多线程单独调用setX() 和setY()时check() 能够返回true。D) 只有当SychTest 被改为允许x和y单独设值时check() 才能够返回true。9、import java.awt.*; public class X extends Frame public static void main(String args) X x=new X(); x.pack(); x.setVisible(true); public X() setLayout(new GridLayout(2,2); Panel p1=new Panel(); add(p1);
9、Button b1=new Button(One); p1.add(b1); Panel p2=new Panel(); add(p2); Button b2=new Button(Two); p2.add(b2); Button b3=new Button(Three); p2.add(b3); Button b4=new Button(Four); add(b4); 当frame改变大小时, A) 所有都会改变高度B) 所有都会改变宽度C) Button One 改变高度D) Button Two改变高度E) Button Three 改变宽度 F) Button Four改变高度和宽度1
10、0、String或StringBuffer类的对象在调用以下哪个方法时其自身会发生更改?A) String类的charAt()方法。B) String类的toUpperCase()方法。C) String类的replace()方法。D) StringBuffer类的reverse ()方法。E) StringBuffer类的length ()方法。二. 简答题(每题5分,共10分)1、 说明final, finally, finalize的区别?final修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出信的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的
11、,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。 finally再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。 finalize方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它
12、是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。 finally是异常处理语句结构的一部分,表示总是执行。 finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。2、 线程类的方法中sleep() 和 wait() 有什么区别?sleep()是线程类的方法,wait()
13、方法是Object方法。wait是等待资源 线程处于已激活状态 直到有资源分配给该线程时 该线程继续运行 sleep的线程是非激活状态三. 写出下列程序的输出结果(第1题5分,第2题10分,共15分)1、以下程序段的输出结果为 Value is two.Value is three. 。 int j=2; switch ( j ) case 2: System.out.print(“Value is two.”); case 2+1 : System.out.println(“Value is three.”); break; default: System.out.println(“value is “+j); break; 2、阅读以下程序段:class Parent void printMe() System.out.println(“parent”); class Child extends Parent void printMe() System.out.println(“child”); void printAll() super.printMe(); this.printMe(); printMe(); public class Test_this public static void main(String
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1