一、选择题
1.下面哪个JDK包提供的类和接口在使用时不需要用import语句引入? [A] java.util [B] java.io [C] java.applet [D] java.lang [E] javax.swing [F] java.awt [G] java.net [H] java.sql
2.下面哪个选项是java的解释器? [A] java.exe [B] javac.exe [C] javah.exe
[D] appletviewer.exe
3.下面描述中错误的是? [A] public类就是主类
[B] 对于application而言,主类是包含main方法的类。
[C] 在一个.java文件中,可以有多个类的定义,但只能有一个public类。 [D] 对于applet而言,主类是系统Applet类的扩展类。 4.下面哪个选项不是java语言合法的标识符? [A] $mail2 [B] 3$mail [C] Abcde [D] _mail_
5.下面哪条语句在编译时不会出现错误或警告? [A] float f=123.23; [B] int a=123.23f; [C] boolean b=null; [D] String s=null; 6.有如下语句: int x=1; int a=(x>3)?5:2;
赋值后a的值是? [A] 5 [B] 2 [C] true [D] false
7.下面代码的运行结果是什么? int i=2; switch (i){ case 0:
System.out.println(\ break; case 1:
1
System.out.println(\ case 2:
System.out.println(\ default:
System.out.println(\ } [A] two
[B] two, default
[C] zero,one, two, default [D] default
8.编译运行下面代码的结果是什么? class Q{
public static void main(String args[]){ int anar[]={1,2,3};
System.out.println(anar[2]); } } [A] 1 [B] 2 [C] 3 [D] 0
9.编译运行下面代码的结果是什么? interface A{ int a=50;
public void amethod(); }
class B implements A{
public static void main(String args[]){ System.out.println(a); } }
[A] 运行时输出50 [B] 运行时输出0
[C] 编译时提示有错误
10.编译运行下面代码的结果是什么? public class MyClass{ static int i;
public static void main(String args[]){ System.out.println(i); } }
[A] 提示变量i没有被初始化 [B] null [C] 0 [D] 1
11.下面哪个选项的代码在编译时有错误或警告? [A] /*This is a comment */ package MyPackage; import java.awt.*; class MyClass{}
[B] package MyPackage; import java.awt.*; class MyClass{} [C] import java.awt.*;
2
package Mypackage; class Myclass {}
12.以下输出语句的输出结果是? int a[][]={{2},{3,3},{4,4,4}};
System.out.println(a.length+“ ” +a[1].length); [A] 2 2 [B] 3 2 [C] 3 1 [D] 1 2
13.给出如下代码: class Test{
private int m;
public static void fun() { // some code... } }
如何使成员变量m 被函数fun()直接访问? [A] 将private int m 改为protected int m [B] 将private int m 改为 public int m
[C] 将private int m 改为 private static int m [D] 将private int m 改为 int m 14.以下输出语句的输出结果是?
String str=\ String str1=\ System.out.println(str.regionMatches(4,str1,6,1)); [A] true [B] false [C] 1 [D] 0
15.编译 Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为()
A..java B..class C..html D..exe 16.设 x=1, y=2, z=3,则表达式 y+=z--/++x 的值是:() A.3 B.3.5 C.4 D.5 17.设a=8,则表达式a>>>2的值是:()
A.1 B.2 C.3 D.4 18.下面程序段的输出结果是() String MyStr = “Hello,”; MyStr = MyStr+“Guys!”; System.out.println(MyStr);
A.Hello,Guys! B.Hello,
C.Guys! D.该程序段有语法错误 19.下面语句哪个是正确的?()
A.char='abc' B.long y=0xfff C.float f=0.23 D.double=0.7E-3 20.下面语句段的输出结果是什么?() int i=9; switch (i) { default:
System.out.println(“default”);
case 0:
3
System.out.println(“zero”); break; case 1:
System.out.println(“one”); case 2:
System.out.println(“two”); }
A.default
B.default,zero
C.error default clause not defined D.no output displayed
21.当编译和运行下列程序段时,会发生什么?() class Base {}
class Sub extends Base {} class Sub2 extends Base {} public class CEx{
public static void main(String args[]){ Base b = new Base(); Sub s = (Sub) b; } }
A.通过编译和并正常运行。 B.编译时出现例外。
C.编译通过,运行时出现例外。
22.如果类能被所属包中的类访问,也可以被其它包中的类访问,那么应使用哪个限定词?() A.public B.private C.protected D.transient
23.下面的哪个选项是正确的?() class ExSuper{
String name;
String nick_name;
public ExSuper(String s,String t){ name = s;
nick_name = t; }
public String toString(){ return name; } }
public class Example extends ExSuper{ public Example(String s,String t){ super(s,t); }
public String toString(){
return name +“a.k.a”+nick_name; }
public static void main(String args[]){
ExSuper a = new ExSuper(“First”,“1st”); ExSuper b = new Example(“Second”,“2nd”);
4
System.out.println(“a is ”+a.toString()); System.out.println(“b is ”+b.toString()); } }
A.编译时会出现例外。 B.运行结果为: a is First b is Second C.运行结果为: a is First
b is Seconda.k.a2nd D.运行结果为:
a is Firsta.k.a1st b is Second a.k.a2nd
24.请问所有的异常类皆继承哪一个类?() A.java.io.Exception B.java.lang.Throwable C.java.lang.Exception D.java.lang.Error
25.以下说法中,错误的是()
A.java语言源程序中可以有多个类的定义,但只能有一个主类,此主类是java程序运行的入口点
B.在应用程序中,主类为包含main方法的类
C.在applet中,主类为用户自定义的系统applet类的扩展类 D.主类就是public类
E.java语言源程序中可以有多个类的定义,但只能有一个public类,且类名要和java语言源程序文件名保持一致。
26.下面说法中,错误的是() A.行注释以//开头
B.块注释以/*开始和*/结束
C.java编译器忽略注释后的语句或说明 D.javadoc注释不是java语言中的注释类型
27.下面java语言的标识符中,不合法的是() A.classname B.$member C.56are D._variable
28.指定变量是一个类成员变量的访问修饰符是() A.accessSpicifier B.static C.final D.protected
29.下面关于构造方法的描述,错误的是() A.能为构造方法指定返回值
B.当写类时不提供它的构造方法,运行系统会自动提供缺省的构造方法,此方法没有任何参数,方法体为空。
C.构造方法与类具有相同的名字
D.Java语言支持方法名重载,所以类可以有多个构造方法,他们共享同一个名字,靠参数的的类型和数目来区分
E.构造方法用于在创建对象时对对象进行初始化。 30.关于包的描述中,不正确的是()
A.java语言中包用来组织相关的类和接口,包在物理上是一个文件夹,逻辑上代表一个分类
5