Java语言程序设计-模拟题
发布时间:2023-08-04 00:08:25浏览次数:64《Java 语言程序设计》模拟题一、单项选择题1.下列程序段执行后的结果是( ).String s = new String("abcdefg");for (int i=0; i<s.length(); i+=2){ System.out.print(s.charAt(i));}A.acegB.ACEGC.abcdefgD.abcd[答案]:A 2.类定义如下 class Foo{ public static void main(String args[]){ String s; System.out.println("s="+s); } }则下列结论正确的是( ). A.有输出结果,且为空B.没有输出结果C.编译错误D.有输出结果,且不为空[答案]:C 3.关于以下代码段的说法正确的是( ).1.String s="abcde";2.StringBuffer s1=new StringBuffer("abcde");3.if(s.equals(s1))4. s1=null;5.if(s1.equals(s))6. s=null;A.第 1 行编译错误,String 的构造器必须明确调用B.第 3 行编译错误,因为 s 与 s1 有不同的类型C.编译成功,但执行时在第 5 行有异常抛出D.编译成功,过程中也没有异常抛出[答案]:D 4.应用程序的 main 方法中有以下语句,则输出的结果是( ).String s="12345#aaa#bbb#67890";int n=s.indexOf("#");int k=s.indexOf("#",n+1);int m=s.indexOf("#",k+1);String s2=s.substring(m+1);System.out.println(s2);A.123456B.67890C.aaaD.bbb[答案]:B 5.应用程序的 main 方法中有以下语句,则执行后输出的结果是( ).int[] x={125,21,5,168,98};intmax=x[0];for(int i=1;i max) max =x[i];}System.out.println(max);A.125B.5C.98D.168[答案]:D
D.new dataOutputStream(new FileWriter("out.txt"));[答案]:A 55.return 语句:( ).A.只能让方法返回数值B.方法都必须含有C.方法中可以有多句 returnD.不能用来返回对象[答案]:C 56.在以下供选择的概念中,不属于面向对象语言概念的是().A.消息B.模块C.继承D.多态性[答案]:B 57.下列选项中,用于在定义子类时声明父类名的关键字是( ).A.intexxxceB.packageC.extendsD.class[答案]:C 58.在 switch(表达式)语句中,表达式的类型不能为( ). A.byteB.charC.longD.int[答案]:C 59.在调用方法时,若要使方法改变实参的值,可以().A.用基本数据类型作为参数B.用对象作为参数C.A 和 B 都对D.A 和 B 都不对[答案]:B 60.构造函数何时被调用?( )A.创建对象时B.类定义时C.使用对象的方法时D.使用对象的属性时[答案]:A
61.以下关于构造函数的描述错误的是( ).A.构造函数的返回类型只能是 void 型.B.构造函数是类的一种特殊函数,它的方法名必须与类名相同.C.构造函数的主要作用是完成对类的对象的初始化工作.D.一般在创建新对象时,系统会自动调用构造函数.[答案]:A 62.在接口 MouseMotionListener 中方法正确的是( ).A.Public void mouseDragged(MouseEvent)B.Public boolean mouseDragged(MouseEvent)C.Public void mouseDragged(MouseMotionEvent)D.Public boolean MouseDragged(MouseMotionEvent)[答案]:A 63.用于定义类成员的访问控制权的一组关键字是( ).A.class, float, double, publicB.float, boolean, int, longC.char, extends, float, doubleD.public, private, protected[答案]:D 64.下列修饰符中与访问控制无关的是( ).A.privateB.publicC.protectedD.final[答案]:D 65.如果希望某个变量只可以被类本身访问和调用,则应该使用下列哪一种访问控制修饰().A.privateB.protectedC.private protectedD.public[答案]:A 66.下面是一些异常类的层次关系 Java.lang.Exception Java.lang.RuntimeException Java.lang.IndexOutOfBoundsException Java.lang.ArrayIndexOutOfBoundsException Java.lang.StringIndexOutOfBoundsException 假设有一个方法 X,能够抛出两个异常,Array Index 和 String Index 异常,假定方法 X 中没有 try-catch 语句,下面哪个答案是正确的.( ) A.方法 X 应该声明抛弃 ArrayIndexOutOfBoundsException 和 StringIndexOutOfBounds Exception.
B.如果调用 X 的方法捕获 IndexOutOfBoundsException,则 ArrayIndexOutOfBounds Exception 和 StringIndexOutOfBoundsException 都可以被捕获.C.如果方法 X 声明抛弃 IndexOutOfBoundsException,则调用 X 的方法必须用 Try-catch 语句捕获.D.方法 X 不能声明抛弃异常.[答案]:B 67.下列说法哪个正确?( )A.不需要定义类,就能创建对象B.对象中必须有属性和方法C.属性可以是简单变量,也可以是一个对象D.属性必须是简单变量[答案]:C 68.以下有关类的继承的叙述中,正确的是:( ).A.子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性B.子类只能继承父类的方法,不能继承父类的属性C.子类只能继承父类的非私有属性,不能继承父类的方法D.子类不能继承父类的私有属性[答案]:D 69.下面哪个函数是 public void aMethod(){...}的重载函数?( ).A.void aMethod( ){...}B.public int aMethod(){...}C.public void aMethod ( ){...}D.public int aMethod ( int m){...}[答案]:D 70.现有一变量声明为 boolean aa;下面赋值语句中正确的是( ).A.aa=0B.aa=TrueC.aa="true"D.aa=false[答案]:D 71.在使用 intexxxce 声明一个接口时,只可以使用( )修饰符修饰该接口.A.privateB.protectedC.private protectedD.public[答案]:C 72.下列有关 Java 中接口的说法哪个是正确的?A.接口中含有具体方法的实现代码
B.若一个类要实现一个接口,则用到"implements"关键字C.若一个类要实现一个接口,则用到"extends"关键字D.接口不允许继承[答案]:B 73.有语句 String s=”hello world”; ,以下操作哪个是不合法的?( )A.int i=s.length();B.s>>>=3;C.String ts=s.trim();D.String t=s+”!”;[答案]:B 74.在 Swing 中,它的子类能用来创建框架窗口的类是().A.JWindowB.JFrameC.JDialogD.JApplet[答案]:B 75.声明并创建一个按钮对象 b,应该使用的语句是( ).A.Button b=new Button();B.button b=new button();C.Button b=new b();D.b.setLabel("确定");[答案]:A 76.Frame 对象默认的布局管理器是( ).A.FlowLayoutB.BorderLayoutC.CardLayoutD.null[答案]:B 77.paint()方法使用哪种类型的参数?( )A.GraphicsB.Graphics2DC.StringD.Color[答案]:A 78.下列哪些语句关于 Java 内存回收的说明是正确的?( )A.程序员必须创建一个线程来释放内存B.内存回收程序负责释放无用内存C.内存回收程序允许程序员直接释放内存
D.内存回收程序可以在指定的时间释放内存对象[答案]:B 79.所有的异常类皆继承哪一个类?( ).A.java.io.ExceptionB.java.lang.ThrowableC.java.lang.ExceptionD.java.lang.Error[答案]:C 80.关于以下 application 的说明,正确的是( ).1. class StaticStuff2. {3. static int x=10;4. static { x+=5;}5. public static void main(String args[ ])6. {7. System.out.println("x=" + x);8. }9. static { x/=3;}10. }A.4 行与 9 行不能通过编译,因为缺少方法名和返回类型B.9 行不能通过编译,因为只能有一个静态初始化器C.编译通过,执行结果为:x=5D.编译通过,执行结果为:x=3[答案]:C 81.如下哪个是 Java 中的标识符( )?A.fieldnameB.superC.3numberD.#number[答案]:A 82.有以下方法的定义,请选择该方法的返回类型( ).ReturnType method(byte x, double y){return (short) x/y*2;}A.byteB.shortC.intD.double[答案]:D 83.应用程序的 main 方法中有以下语句,则输出的结果是( ).String s1=new String("abc");String s2=new String("abc");boolean b1=s1.equals(s2);boolean b2=(s1==s2);System.out.print(b1+" "+b2);A.true falseB.false trueC.true trueD.false false[答案]:A
84.应用程序的 main 方法中有以下语句,则输出的结果是( ).int b[][]={{1}, {2,2}, {2,2,2}};int sum=0;for(int i=0;iA.32B.11C.2D.3[答案]:A 85.应用程序的 main 方法中有以下语句,则输出的结果是( ).String s1="0.5", s2="12";double x=Double.parseDouble(s1);int y=Integer.parseInt(s2);System.out.println(x+y);A.12.5B.120.5C.12D."12.5"[答案]:A 86.下列代码的执行结果是什么?String s1 = "aaa";s1.concat("bbb");System.out.println(s1);A.The string "aaa".B.The string "aaabbb".C.The string "bbbaaa".D.The string "bbb".[答案]:B 87.下面哪个不是 java 语言中的关键字?( ).A.longB.sizeofC.instanceofD.const[答案]:B 88.以下哪个不是 Java 的原始数据类型?( )A.intB.BooleanC.floatD.char[答案]:B 89.设有定义 float x=3.5f, y=4.6f, z=5.7f;则以下的表达式中,值为 true 的是( ).A.x > y || x > zB.x != yC.z > ( y + x )D.x < y & ! ( x < z )[答案]:B
90.下面关于 Java.applet.Applet 和其祖先类的描述语句哪个不对( ).A.Applet 是 Container 的一种B.Applet 是 Window 的一种C.Applet 是 Component 的一种D.Applet 是 Panel 的一种[答案]:B 91.哪些是将一个十六进制值赋值给一个 long 型变量( ).A.long number = 345L;B.long number = 0345;C.long number = 0345L;D.long number = 0x345L;[答案]:D 92.关于选择结构下列哪个说法正确?( )A.if 语句和 else 语句必须成对出现B.if 语句可以没有 else 语句对应C.switch 结构中每个 case 语句中必须用 break 语句D.switch 结构中必须有 default 语句[答案]:B 93.以下由 for 语句 for ( int i = 0; true ; i++) ;构成的循环执行的次数是( ).A.有语法错,不能执行B.无限次C.执行 1 次D.一次也不执行[答案]:B 94.不能构成循环的语句是( ).A.for 语句B.while 语句C.switch 语句D.do__while 语句[答案]:C 95.下列说法哪个正确?( )A.一个程序可以包含多个源文件B.一个源文件中只能有一个类C.一个源文件中可以有多个公共类D.一个源文件只能供一个程序使用[答案]:A 96.定义一个类,必须使用的关键字是( ).A.public
B.classC.intexxxceD.static[答案]:B 97.下列类定义中,不正确的是( ).A.class x { .... }B.class x extends y { .... }C.static class x implements y1,y2 { .... }D.public class x extends Applet { .... }[答案]:C 98.关于类和对象的叙述正确的是:( ).A.Java 的类分为两大部分:系统定义的类和用户自定义的类B.类的静态属性和全局变量的概念完全一样,只是表达形式不同C.类的成员至少有一个属性和一个方法D.类是对象的实例化[答案]:A 99.Java 中().A.一个子类可以有多个父类,一个父类也可以有多个子类B.一个子类可以有多个父类,但一个父类只可以有一个子类C.一个子类可以有一个父类,但一个父类可以有多个子类D.上述说法都不对[答案]:C 100.关于构造函数的说法哪个正确?( ).A.一个类只能有一个构造函数B.一个类可以有多个不同名的构造函数C.构造函数与类同名D.构造函数必须自己定义,不能使用父类的构造函数[答案]:C 101.以下叙述正确的是( ).A.构造方法必须是 public 方法B.main 方法必须是 public 方法C.Java 应用程序的文件名可以是任意的D.构造方法应该声明为 void 类型[答案]:B 102.设 i,j,k 为类 x 中定义的 int 型变量名,下列类 x 的构造函数中不正确的是( ).A.x( int m){ ... }B.void x( int m){ ... }C.x( int m, int n){ ... }
D.x( int h,int m,int n){ ... }[答案]:B 103.不允许作为类及类成员的访问控制符的是( ).A.publicB.privateC.staticD.protected[答案]:C 104.类的设计要求它的某个成员变量不能被外部类直接访问.应该使用下面的哪些修饰符获得需要的访问控制?( ).A.publicB.不加修饰符C.protectedD.private[答案]:D 105.为 AB 类的一个无形式参数无返回值的方法 method 书写方法头,使得使用类名 AB 作为前缀就可以调用它,该方法头的形式为( ).A.static void method( )B.public void method( )C.final void method( )D.abstract void method( )[答案]:A 106.若需要定义一个类域或类方法,应使用哪种修饰符?( )A.staticB.packageC.privateD.public[答案]:A 107.关于继承的说法正确的是:( ).A.子类将继承父类所有的属性和方法B.子类将继承父类的非私有属性和方法C.子类只继承父类 public 方法和属性D.子类只继承父类的方法,而不继承属性[答案]:B 108.Java 语言的类间的继承关系是( ).A.多重的B.单重的C.线程的
D.不能继承[答案]:B 109.抽象方法:( ).A.可以有方法体B.可以出现在非抽象类中C.是没有方法体的方法D.抽象类中的方法都是抽象方法[答案]:C 110.定义一个接口必须使用的关键字是( ).A.publicB.classC.intexxxceD.static[答案]:C 111.Java 语言中,只限子类或者同一包中的类的方法能访问的访问权限是().A.publicB.privateC.protectedD.<无修饰>[答案]:C 112.下面的哪些叙述为真( ).A.equals()方法判定引用值是否指向同一对象.B.== 操作符判定两个分立的对象的内容和类型是否一致.C.equals()方法只有在两个对象的内容一致时返回 true.D.类 File 重写方法 equals()在两个分立的对象的内容和类型一致时返回 false.[答案]:A 113.在编写 Java Applet 程序时,需在程序的开头写上( )语句.A.import java.awt.* ;B.import java.applet.Applet ;C.import java.io.* ;D.import java.awt.Graphics ;[答案]:B 114.MouseListener 接口不能处理的鼠标事件是().A.按下鼠标左键B.点击鼠标右键C.鼠标进入D.鼠标移动[答案]:D
6.关于下面的程序 Test.java 说法正确的是( ).public class Test {String x="1";int y;public static void main(String args[]) {int z=2;System.out.println(x+y+z);}}A.3B.102C.12D.程序有编译错误[答案]:D 7.下列程序段执行后 b3 的结果是().boolean b1=true, b2, b3;b3= b1 ? b1 : b2;A.0B.1C.trueD.false[答案]:D 8.在下述字符串中,不属于 Java 语言关键字的是().A.floatB.newC.javaD.return[答案]:C 9.关于 Java 中数据类型叙述正确的是:( ).A.整型数据在不同平台下长度不同B.boolean 类型数据只有 2 个值,true 和 falseC.数组属于简单数据类型D.Java 中的指针类型和 C 语言的一样[答案]:B 10.设 x=1, y=2, z=3,则表达式 y+=z--/++x 的值是( ).A.3B.3.5C.4D.5[答案]:A 11.设 int x=1,float y=2,则表达式 x / y 的值是:( ).A.0B.1C.2D.以上都不是[答案]:D
115.如果容器组件 p 的布局是 BorderLayout,则在 p 中添加一个按钮 b,应该使用的语句是( ).A.p.add(b);B.p.add(b,North);C.p.add(b,"South");D.b.add(p,"North");[答案]:C 116.如果有一个对象 myListener(其中 myListener 对象实现了 ActionListener 接口),下列哪条语句使得 myListener 对象能够接受处理来自于 smallButton 按钮对象的动作事件?A.smallButton.add(myListener);B.smallButton.addListener(myListener);C.smallButton.addActionListener(myListener);D.smallButton.addItem(myListener);[答案]:C 117.如下哪个是 Java 中的标识符( )?A.publicB.superC.3numberD.width[答案]:D 118.异常包含下列哪些内容?( )A.程序执行过程中遇到的事先没有预料到的情况B.程序中的语法错误C.程序的编译错误D.以上都是[答案]:A 119.阅读以下代码:import java.io.*;import java.util.*;public class foo{public static void main (String[] args){String s;System.out.println("s=" + s);}}输出结果应该是:( ).A.代码得到编译,并输出"s="B.代码得到编译,并输出"s=null"C.由于 String s 没有初始化,代码不能编译通过D.代码得到编译,但捕获到 NullPointException 异常[答案]:C 120.类 Test1 定义如下:1.public class Test1{2. public float aMethod(float a,float b){ }3.4.}将以下哪种方法插入行 3 是不合法的.( )A.public float aMethod(float a, float b,float c){ }B.public float aMethod(float c,float d){ }C.public int aMethod(int a, int b){ }D.private float aMethod(int a,int b,int c){ }
[答案]:B 二、问答题1.写出以下程序的运行结果.public class Tom { private float weight; private static String name; public void setWeight(float weight) { this.weight = weight; } private void out() {System.out.println(name + "体重:" + weight + "斤"); } public static void main(String[] args) { Tom.name = "汤姆猫"; Tom cat = new Tom(); cat.setWeight(20); cat.out(); }}[答案]:汤姆猫体重:20.0 斤 2.简述 Java 中异常处理的机制?[答案]: 首先 Java 的异常是面向对象的.一个 Java 的 Exception 是一个描述异常情况的对象.当出现异常情况时,一个 Exception 对象就产生了,并放到异常的成员函数里. Java 的异常处理是通过 5 个关键词来实现的:try,catch,throw,throws 和 finally. 1.异常处理:在 Java 语言的错误处理结构由 try,catch,finally 三个块组成.其中 try 块存放将可能发生异常的 Java 语言,并管理相关的异常指针;catch 块紧跟在 try 块后面,用来激发被捕获的异常;finally 块包含清除程序没有释放的资源,句柄等.不管 try 块中的代码如何退出,都将执行 finally 块. 2.抛出异常:Java 语言可以不在方法中直接捕获,而用 throw 语句将异常抛给上层的调用者.Throw 语句就是来明确地抛出一个异常;首先你必需得到一个 Throwable 的实例句柄,通过参数传到 catch 中,或者采用 new 操作符来创建一个. 3.写出以下程序的运行结果.public class Father { String name, address, tel; int age; public Father(String name, int age) { this.name = name; this.age = age; } void out() { System.out.print("姓名:" + name); System.out.print(" 年龄:" + age); } void outOther() { System.out.print(" 家庭住址:" + address); System.out.print(" 电话:" + tel); }} class Son extends Father { String school; public Son(String name, int age) { super(name, age); } void out() { super.out(); super.outOther(); System.out.println(" 学校:" + school); } public static void main(String args[]) { Son son =new Son("Tom", 15); son.address = "金水区"; son.school = "九中"; son.tel = "66123456"; son.out(); }}[答案]:姓名:Tom 年龄:15 家庭住址:金水区 电话:66123456 学校:九中
4.什么是继承?[答案]:通过必要的说明能够实现某个类无需重新定义就拥有另一个类的某些属性和方法,并把这种关系称为继承,先定义的类称为父类,后定义的类称为子类,并且允许多层的继承关系. 5.写出以下程序的运行结果.public class MyClass { int a[] = { 1, 2, 3, 4, 5 }; void out() { for (int j = 0; j < a.length; j++) System.out.print(a[j] + ""); } public static void main(String[] args) { MyClass my = new MyClass(); my.out(); }}[答案]:12345 6.简述 Java 语言的特点.[答案]:简单性:Java 风格类似于 C++,但它摒弃了 C++中容易引起程序错误的地方 面向对象:Java 语言的设计是完全面向对象 分布式: 解释执行: 健壮性:Java 提供自动垃圾回收机制,异常处理机制,进行严格的类型检查 平台无关性: 安全性 多线程 动态性
12.在下述 Java 语言语句中,错误的创建数组的方法是().A.int intArray [];intArray=new int[5];B.int intArray []=new int[5];C.int [] intArray ={1,2,3,4,5};D.int intArray [5]={1,2,3,4,5};[答案]:D 13.while 循环和 do…while 循环的区别是:( )A.没有区别,这两个结构任何情况下效果一样B.while 循环比 do…while 循环执行效率高C.while 循环是先循环后判断,所以循环体至少被执行一次D.do…while 循环是先循环后判断,所以循环体至少被执行一次[答案]:D 14.编译 Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( ).A.javaB.classC.htmlD.exe[答案]:B 15.void 的含义:( ).A.方法没有返回值B.方法体为空C.没有意义D.定义方法时必须使用[答案]:A 16.关于方法 main()的说法哪个正确?( )A.方法 main()只能放在公共类中B.main()的头定义可以根据情况任意更改C.一个类中可以没有 main()方法D.所有对象的创建都必须放在 main()方法中[答案]:C 17.定义类头时能使用的修饰符是( ).A.privateB.staticC.abstractD.protected[答案]:C 18.编译 Java 程序的命令是:( ).
A.appletviewerB.javacC.javaD.javadoc[答案]:B 19.在创建对象时必须().A.先声明对象,然后才能使用对象B.先声明对象,为对象分配内存空间,然后才能使用对象C.先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象D.上述说法都对[答案]:C 20.下列哪个类的声明是正确的?( ).A.abstract final class HI{}B.abstract private move(){}C.protected private number;D.public abstract class Car{}[答案]:D 21.以下有关构造方法的说法,正确的是:( ).A.一个类的构造方法可以有多个B.构造方法在类定义时被调用C.构造方法只能由对象中的其它方法调用D.构造方法可以和类同名,也可以和类名不同[答案]:A 22.有一段 java 应用程序,它的主类名是 a1,那么保存它的源文件名可以是().A.a1.javaB.a1.classC.a1D.都对[答案]:A 23.下列方法定义中,正确的是( ).A.int x( ){ char ch='a'; return (int)ch; }B.void x( ){ ...return true; }C.int x( ){ ...return true; }D.int x( int a, b){ return a+b; }[答案]:A 24.关于被私有访问控制符 private 修饰的成员变量,以下说法正确的是( ).A.可以被三种类所引用:该类自身,与它在同一个包中的其他类,在其他包中的该类的子类B.可以被两种类访问和引用:该类本身,该类的所有子类
C.只能被该类自身所访问和修改D.只能被同一个包中的类访问[答案]:C 25.在 Java 中用什么关键字修饰的方法可以直接通过类名来调用?( ).A.staticB.finalC.privateD.void[答案]:A 26.Java application 中的主类需包含 main 方法,以下哪项是 main 方法的正确形参?( )A.String argsB.String ar[]C.Char argD.StringBuffer args[][答案]:B 27.关于对象成员占用内存的说法哪个正确?( )A.同一个类的对象共用同一段内存B.同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C.对象的方法不占用内存D.以上都不对[答案]:B 28.以下关于继承的叙述正确的是( ).A.在 Java 中类只允许单一继承B.在 Java 中一个类只能实现一个接口C.在 Java 中一个类不能同时继承一个类和实现一个接口D.在 Java 中接口只允许单一继承[答案]:A 29.在 Java 中,一个类可同时定义许多同名的方法,这些方法的形式参数个数,类型或顺序各不相同,传回的值也可以不相同.这种面向对象程序的特性称为( ).A.隐藏B.覆盖C.重载D.Java 不支持此特性[答案]:C 30.在浏览器中执行 applet 程序,以下选项中的哪个方法将被最先执行( ).A.init()B.start()C.destroy()
D.stop()[答案]:A 31.欲构造 ArrayList 类的一个实例,此类继承了 List 接口,下列哪个方法是正确的?( ).A.ArrayList myList=new Object();B.List myList=new ArrayList();C.ArrayList myList=new List();D.List myList=new List();[答案]:B 32.关于接口哪个正确?( )A.实现一个接口必须实现接口的所有方法B.一个类只能实现一个接口C.接口间不能有继承关系D.接口和抽象类是同一回事[答案]:A 33.已知如下定义:String s = "story"; 下面哪个语句不是合法的( )?A.s += "books";B.s = s + 100;C.int len = s.length;D.String t = s + "abc";[答案]:C 34.某类 Example 的 main()方法参数为 args,当输入数据 Java Example cat 时,args[0]的值为( ).A.catB.JavaC.exampleD.null[答案]:A 35.以下哪项可能包含菜单条( ).A.PanelB.FrameC.AppletD.Dialog[答案]:B 36.下列属于容器的组件有:( ).A.JButtonB.JPaneC.CanvasD.JTextArea[答案]:B
37.在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口?( ).A.ActionListenerB.MouseListenerC.MouseMotionListernD.ItemListener[答案]:D 38.String s1=new String("Java");String s2=new String(s1)则下列哪个说法是正确的( ).A.表达式 s1==s2 为真B.s1 和 s2 是同一个对象C.表达式 s1.equals(s2)为真D.以上均不对[答案]:C 39.对于已经被定义过可能抛出异常的语句,在编程时:( ).A.必须使用 try/catch 语句处理异常,或用 throws 将其抛出B.如果程序错误,必须使用 try/catch 语句处理异常C.可以置之不理D.只能使用 try/catch 语句处理[答案]:A 40.A 派生出子类 B,B 派生出子类 C,并且在 Java 源代码中有如下声明:1. A a0=new A();2. A a1 =new B();3. A a2=new C();问以下哪个说法是正确的?( )A.只有第 1 行能通过编译B.第 1,2 行能通过编译,但第 3 行编译出错C.第 1,2,3 行能通过编译,但第 2,3 行运行时出错D.第 1 行,第 2 行和第 3 行的声明都是正确的[答案]:D 41.下列哪个是 Java 中的关键字( ).A.runB.IntegerC.defaultD.implement[答案]:C 42.设有下面两个赋值语句:a = Integer.parseInt("12");b = Integer.valueOf("12").intValue();下述说法正确的是( ).A.a 是整数类型变量,b 是整数类对象.B.a 是整数类对象,b 是整数类型变量.C.a 和 b 都是整数类对象并且值相等.D.a 和 b 都是整数类型变量并且值相等.[答案]:D
43.下面的代码段执行之后 count 的值是什么( ).int count = 1;for (int i = 1; i <= 5; i++) {count += i;}System.out.println(count);A.5B.1C.15D.16[答案]:D 44.应用程序 Test.java 的源程序如下,在命令行键入:java Test aaa bb c 回车后输出的结果是( ).public class Test {public static void main(String args[]) {int k1=args.length;int k2=args[1].length();System.out.print(k1+" "+k2);}}A.3 2B.1 2C.1 3D.3 3[答案]:A 45.程序 Test.java 编译运行后输出的结果是( ).public class Test {String s1="java";public static void main(String args[]) {int z=2;Test t=new Test();System.out.println(t.s1+z);}}A.java2B.2C.没有输出结果D.java[答案]:A 46.请说出下列代码的执行结果:String s = "abcd";String s1 = new String(s);if (s = = s1) System.out.println("the same");if (s.equals(s1)) System.out.println("equals");A.the same equalsB.equalsC.the sameD.什么结果都不输出[答案]:B 47.执行以下代码,输出结果是().int x=5,y=7,u=9,v=6;System.out.println(x>y ? x+2:u>v ? u-3:v+2);A.8B.6C.7D.true[答案]:B 48.以下是关于 Java 语言关键字的叙述,其中正确的是().A.关键字可以用来描述类的成员类型,但是不能描述普通变量
B.关键字由字母(包括英文字母,下划线字符,美元字符,文字字符)和数字组成C.关键字不可以用作变量,方法,类或标号的标识符D.break 和 main 都是 Java 语言的关键字[答案]:C 49.指出正确的表达式( ).A.byte=128;B.Boolean=null;C.long l=0xfffL;D.double=0.9239d;[答案]:C 50.关于 Java 语言叙述错误的是:( )A.Java 语言具有跨平台性B.Java 是一种面向对象的语言C.Java 语言中的类可以多继承D.Java 的垃圾收集机制自动回收程序已不再使用的对象[答案]:C 51.设有定义 int i=123; long j=456; 下面赋值不正确的语句是( ).A.j=i;B.j=(long)i;C.i=(int)j;D.i=j;[答案]:D 52.执行完以下代码 int [ ] x = new int[10];后,以下哪项说明是正确的( ).A.x[9]为 0B.x[9]未定义C.x[10]为 0D.x[0]为空[答案]:A 53.以下语句有语法错的是:( ).A.int x=1;y=2;z=3B.for (int x=10,y=0;x>0;x++);C.while (x>5);D.for(; ;);[答案]:A 54.下列类 DataOutputStream 的构造方法正确的是( ).A.new dataOutputStream(new FileOutputStream("out.txt"));B.new dataOutputStream("out.txt");C.new dataOutputStream(new writer("out.txt"));