Java经典试题(一)

大城市里の小女人 提交于 2020-01-26 11:10:27


单选题


1:对成员的访问控制保护最强的是( )。( 2 分)
A:public
B:缺省
C:private
D:protected

答案:C


2:对于临界区代码,必须使用( )关键字来限定。( 2 分)
A:private
B:protected
C:synchronized
D:critical

答案:C


3:Thread的方法resume()负责恢复哪些线程的执行?( 2 分)
A:通过调用stop()方法而停止的线程。
B:通过调用sleep()方法而停止运行的线程。
C:通过调用wait()方法而停止运行的线程。
D:通过调用suspend()方法而停止运行的线程。

答案:D


4:关于for循环和while循环的说法哪个正确( )。( 2 分)
A:while循环能实现的操作,for循环也能实现的
B:while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果
C:两种循环任何时候都可替换,而且循环体、至少被执行一次
D:两种循环结构中都必须有循环体,循环体不能为空

答案:A


5:对成员的访问控制保护最强的是( )。( 2 分)
A:public
B:缺省
C:private
D:protected

答案:C


6:Applet执行( )方法后,进入消亡态。( 2 分)
A:start()
B:init()
C:stop()
D:destroy()

答案:D


7:在 Java中,对简单数据类型(如int)分配的内存为( )。( 2 分)
A:在 IBM PC中为16位
B:在 VAX-11中为16位
C:与所在机器无关
D:都是16位

答案:C


8:接口中定义的成员变量是( )。( 2 分)
A:由于是常量,定义的同时赋值。
B:可先定义,后赋值。
C:可通过方法对其进行赋值。
D:以上都对

答案:A


9:Java使用( )类来管理线程池中的多个进程。( 2 分)
A:ThreadGroup
B:Thread
C:ProcessGroup
D:Process

答案:A


10:构造方法( )被调用。( 2 分)
A:类定义时
B:创建对象时
C:调用对象方法时
D:使用对象的变量时

答案:B


11:下面说法错误的是( )。( 2 分)
A:不是方法中产生的所有异常错误都必须被捕获或声明。
B:对于非运行时异常,则要求必须捕获或声明。
C:子类方法抛出的异常只能是父类方法抛出异常的同类或子类
D:以上都不对

答案:D


12:正在执行的一个Applet程序,如果改变Applet窗口大小,下面( )动作会被执行。( 2 分)
A:start()
B:paint()
C:stop()
D:destroy()

答案:B


13:下列关于finally说法正确的是( )。( 2 分)
A:finally语句应该放在所有例外控制器的最前面
B:如果程序在前面的例外控制器中匹配到了合适例外,就不再执行finally 语句了
C:无论程序是否找到合适的例外控制器,都会去执行finally语句
D:如果程序在前面的例外控制器中匹配到了多个合适的例外,就不再执行finally语句了

答案:C


14:给出下面的代码
public class Person{
int arr[] = new int[10];
public static void main(String a[]) {
System.out.println(arr[1]); //arr[1]在此可以访问,但却是非静态的
}
}
哪些叙述是对的?( 2 分)
A:编译时出错。
B:编译时正确而运行时出错。
C:输出0。
D:输出null。

答案:A


15:给出下面的代码
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 args[]){
Parent p = new Parent("south", "north");
Parent t = new Child("east", "west");
p.print();
t.print();
}
}
下面的哪些情况或输出的结果正确?( 2 分)
A:编译时出错
B:south
east
C:south to north
east to west
D:south
east to west

答案:D


16:关于for循环和while循环的说法哪个正确( )。( 2 分)
A:while循环能实现的操作,for循环也能实现的
B:while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果
C:两种循环任何时候都可替换,而且循环体、至少被执行一次
D:两种循环结构中都必须有循环体,循环体不能为空

答案:A


17:可以通过在线程组上调用( )方法将所有线程入进一个数组。( 2 分)
A:group
B:collect
C:enumerate
D:enter

答案:C


18:下列关于Javabean的说法错误的是( )。( 2 分)
A:Javabean必须是一个公共类(public)
B:Javabean必须有一个公共类(public)的无参数的构造方法
C:Javabean中的属性必须是公共的(public)
D:Javabean通常要作为某些事件的事件源或监听器

答案:C


19:下面有关main()方法声明时,可以改动的是( )。( 2 分)
A:public
B:static
C:void
D:args

答案:D


20:编译Java Applet 源程序文件产生的字节码文件的扩展名为( )。( 2 分)
A:java
B:class
C:html
D:exe

答案:B


21:除了使用浏览器外,SUN还提供了应用程序appletviewer.exe,专用于执行嵌有Applet程序的网页。以下( )语句是用appletviewer运行嵌有Applet程序网页的命令。( 2 分)
A:appletviewer 网页文件名.java
B:appletviewer 网页文件名.class
C:appletviewer 网页文件名.html
D:appletviewer 网页文件名

答案:C


22:java程序题目
class base
{
public void show(){
System.out.print("base");
}
}
class sub extends base{
public void show(){
System.out.print("sub");
}
public void print(){
System.out.print("hello");
}
public static void main(String args[]){
base t=new sub();
t.show();
t.print();
}
}
输出结果是( )( 2 分)
A:base hello
B:sub hello
C:base sub
D:编译报错

答案:D


23:数组中可以包含( )类型的元素。( 2 分)
A:int型
B:string型
C:数组
D:以上都可以

答案:D


24:以下选项中循环结构合法的是( )。( 2 分)
A:while (int i〈7) { i++; System.out.println(“i is “+i); }
B:int j=3; while(j) { System.out.println(“ j is “+j); }
C:int j=0; for(int k=0; j + k !=10; j++,k++) { System.out.println(“ j is “+ j + “k is”+ k); }
D:int j=0; do{ System.out.println( “j is “+j++); if (j = = 3) {continue loop;} }while (j〈10);

答案:C


25:对对象的理解错误的是( )。( 3 分)
A:对象由属性和行为两部分组成。
B:对象可以是一个人、地址、物品、事件、概念等。
C:万事万物皆可看做对象。
D:以上都不对

答案:D


多选题


26:有关线程的哪些叙述是对的??( 2 分)
A:一旦一个线程被创建,它就立即开始运行。
B:使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行。
C:当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。
D:一个线程可能因为不同的原因停止并进入就绪状态。

答案:BD


27:下面关于变量及其范围的陈述哪些是对的??( 2 分)
A:实例变量是类的成员变量。
B:实例变量用关键字static声明。
C:在方法中定义的局部变量在该方法被执行时创建
D:局部变量在使用前必须被初始化。

答案:ACD


28:如果一个Applet程序被最小化后又被放大,在这个过程中( )方法会被调用。( 2 分)
A:start()
B:paint()
C:stop()
D:destroy()

答案:ABC


29:如下( )方法可以从WindowEvent获取事件源。( 2 分)
A:getFrame()
B:getID()
C:getSource()
D:getWindow()

答案:CD


30:下面说法正确的是( )( 2 分)
A:每个Java类都至少有一个构造方法,如果没有则Java自动生成一个默认的构造方法。
B:如果类里定义了一个或多个构造方法,那么java不提供默认的构造方法
C:如果类里定义了一个或多个构造方法,那么java也提供默认的构造方法。
D:以上都不对。

答案:AB


31:下列( )是Connection类对象的功能。( 2 分)
A:加载驱动
B:保存结果
C:事务处理
D:创建语句

答案:CD


32:哪些不是Java关键字( 2 分)
A:真
B:sizeof
C:const
D:super

答案:AB


33:JSP页面包括以下( )元素。( 2 分)
A:JSP指令
B:JSP Action
C:JSP脚本
D:JSP控件

答案:ABC


34:下列说法正确的是( )。( 2 分)
A:java.lang.Clonable是类
B:java.lang.Runnable是接口
C:Double对象在java.lang包中
D:Double a=1.0是正确的java语句

答案:ABC


35:下列( )方法可以使线程停止。( 2 分)
A:close()
B:interrupt()
C:stop()
D:suspend

答案:CD


36:JDK提供的用于并发编程的同步器有哪些?( 2 分)
A:Semaphore
B:CyclicBarrier
C:CountDownLatch
D:Counter

答案:ABC


37:下列程序的错误有( ) 。
  final class First {
   private int a = 1;
   int b = 2;
  } 
  class Second extends First {
   public void method() {
    System.out.println(a + b);
   }
  }( 2 分)
A:println()参数应为字符串,因此此处不能调用该方法
B:因为变量a 是private ,所以在其他类中不能访问a
C:Second 不能继承First。
D:关键字final不能修饰类

答案:BC


38:String s = "hello";
String t = "hello";
char c[] = {'h','e','l','l','o'} ; 
下列( )表达式返回true。( 2 分)
A:s.equals(t);
B:t.equals(c);
C:s==t;
D:t.equals(new String("hello"));

答案:ABD


39:通过浏览器执行一个Applet程序,在初始化时,下面( )方法会被调用。( 2 分)
A:init()
B:start()
C:paint()
D:stop()

答案:ABC


40:如果一个Applet程序被最小化后又被放大,在这个过程中( )方法会被调用。( 3 分)
A:start()
B:paint()
C:stop()
D:destroy()

答案:ABC


判断题


41:Jbuilder可以开发Javabeans,Ejb,Jsp但无法开发CGI和移动通信程序。( 2 分)
A:正确
B:错误

答案:B


42:JavaBean API中设计安全的地方有5点。( 2 分)
A:正确
B:错误

答案:B


43:init方法在start方法之后执行。( 2 分)
A:正确
B:错误

答案:B


44:JavaBeans是轻量级的构件,EJB是重量级的构件。( 2 分)
A:正确
B:错误

答案:A


45:Java的源代码中定义了几个类,编译结果就生成几个以.class为后缀的字节码文件。( 2 分)
A:正确
B:错误

答案:A


46:enumerate方法只将活动的线程(即已经启动的线程)放进数组。( 2 分)
A:正确
B:错误

答案:A


47:与未加访问控制符的缺省情况相比,public和protected修饰符扩大了类及其属性和方法的被访问范围,private修饰符则缩小了这种范围。( 2 分)
A:正确
B:错误

答案:A


48:和类相比,接口中的所有方法都没有被实现,类必须实现接口中的每个方法。( 2 分)
A:正确
B:错误

答案:A


49:如果在调用能够产生异常的方法时没有进行捕获和处理,将不能通过编译。( 2 分)
A:正确
B:错误

答案:A


50:write()方法是向输出流写入数据的方法,有两种不同的write()方法,其共同点是只能逐字节地输出数据。( 2 分)
A:正确
B:错误

答案:A

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!