1、Java选择题Java练习题一、单选题1. Java程序的执行过程中用到一套JDK工具,其中java.exe是指( B ) A. Java文档生成器B. Java解释器 C. Java编译器D. Java类分解器2. 编译Java程序的命令文件名是( B ) A. java.exe B. javac.exeC. javac D. appletviewer.exe3. 编译Java程序file.java后生成的程序是( C )A. file.html B. File.class C. file.class D. file.jar4. Java语言与其他主要语言相比较,独有的特点是( C )A.
2、面向对象 B. 多线程 C. 平台无关性 D. 可扩展性5. 声明Java独立应用程序main()方法时,正确表达是( A )A. public static void main(String args) B. private static void main(String args) C. public void main(String args) D. public static void main()6. 下列有关Java语言的叙述中,正确的是( B )。A. Java是不区分大小写的 B. 源文件名与public类型的类名必须相同C. 源文件的扩展名为.jar D. 源文件中publi
3、c类的数目不限 7. Java用来定义一个新类时,所使用的关键字为 ( A )。A. class B. public C. struct D. class 或 struct8一个可以独立运行的Java应用程序( D )。A. 可以有一个或多个main方法 B. 最多只能有两个main方法 C. 可以有一个或零个main方法 D. 只能有一个main方法9. 下面哪个是Java语言中正确的标识符( B )A. 3D B. $this C. extends D. implements10. 下面哪个不是Java的保留字或关键字?( B )A. default B. NULL C. throws D
4、. long11. 对if()句型括号中的表达式,下列Java类型中哪一个是合法的?( C )A. byte B. short C. boolean D. Object reference12. Java中整型包括( D )。A. int,byte,char B. int,short,long,byte,charC. int,short,long,char D. int,short,long,byte13. 哪个是将一个十六进制值赋值给一个long型变量?( D )A. long number = 345L; B. long number = 0345;C. long number = 034
5、5L; D. long number = 0x345L;14. 下面的哪个赋值语句是不对的?( A )Afloat f = 11.1; Bdouble d = 5.3E12;Cdouble d = 3.14159; Ddouble d = 3.14D;15. 下列哪个数代表八进制整数?( D )A. 0XA6 B. -1E3 C. 1840 D. 014416. 在 Java 中,表示换行符的转义字符是( A )。A. n B. f C. n D. dd17. 下列代码真正出错的在那一行: ( C )1) public void modify() 2) int I, j, k; 3) I =
6、100; 4) while ( I 0 ) 5) j = I * 2; 6) System.out.println ( The value of j is + j ); 7) k = k + 1; 8) I-; 9) 10 A. line 4 B. line 6 C. line 7 D. line 818. 以下代码段执行后的输出结果为( C )。(符号随被除数) int x=-3; float y=10.0f; System.out.println(y%x);A. 不能成功编译 B. -1.0 C. 1.0 D. -119. 执行完以下代码int x = new int10;后,以下哪项说明
7、是正确的(A)Ax9为0 Bx9未定义 Cx10为0 Dx0为空20. 对数组的定义及初始化不正确的方法是:( B ) Aint array; Bint array8; Cint array=new int8; Dint array=new int8;21. 下面哪条语句定义了5个元素的数组( A )A. int a=22,23,24,25,12; B. int a =new int(5);C. int 5 array; D. int arr;22. 定义一维数组名为 abc时,下面哪项可以得到数组元素的个数?( B)A.abc.length( ) B.abc.length C.len(abc
8、) D.ubound(abc)23. 设有定义语句int a=66,88,99; 则以下对此语句的叙述错误的是( C )。A. 定义了一个名为a的一维数组 B. a数组有3个元素C. a数组的下标为13 D. 数组中的每个元素是整型24. 根据下面给出的代码,判断那个叙述是对的?( C )(p29)public class Personstatic int arr=new int10;public static void main(String a)System.out.println(arr1);A编译时将发生错误 B编译时正确但是运行时出错C输出为0 D输出为null25.以下程序执行完后
9、,c与result的值是:( A ) boolean a=false; boolean b=true; boolean c=(a&b)&(!b); int result=c=false?1:2; A. c: false; result:1; B. c: true; result:2; C. c: true; result:1; D. c: false; result:2; 26. 代码“Green eggs”+“Ham”的结果是什么?( C )。A. Green eggs+Ham B. Green eggs Ham C. Green eggsHam D. Error27. 下面哪个是对字符串S
10、tring的正确定义 ( A )A.String s1=null; B.String s2=null ; C.String s3=(String) abc ; D.String s4=(String) uface;28. 给出下面一段程序,选择运行结果( C )public class X public static void main(String args) String names=new String5; for(int x=0; xargs.length; x+) namesx=argsx; System.out.println(names2);命令行执行:java X a b命令后
11、,其输出结果是下面哪一个?A. names B. b C. null D. 运行出现异常29. 哪种方法返回String中的字符数?( B )。A. size() B. length() C. width() D. girth()30. 下面哪个不是String类的方法?( C ) A. subString() B. startsWith() C. toString() D. toUpperCase()31. 关于以下程序段,正确的说法是( C )1. Strings1=“a”+“b”;2. Strings2=newString(s1);3. if(s1=s2)4. System.out.pr
12、intln(“= =is succeeded”);5. if (s1.equals(s2)6. System.out.println(“.equals() is succeeded”);A. 行4与行6都将执行 B. 行4执行,行6不执行C. 行6执行,行4不执行 D. 行4行6都不执行32. 下面关于java中类的说法哪个是不正确的?( C )A. 类体中不仅可以有变量定义和成员方法的定义,还可包含静态代码块。B. 构造方法是类中的特殊方法。C. 类一定要声明为public的,才可以执行。D. 一个java文件中可以有多个class定义。33. 下面关于变量及其范围的陈述哪个是不对的?( B
13、 )A实例变量是类的成员变量B实例变量用关键字static声明C在方法中定义的局部变量在该方法被执行时创建D局部变量在使用前必须被初始化34. 下列类的定义中,错误的是( B )。A. class x . B. public x extends y . (p66)C. public class x extends y . D. class x extends y implements y1 . 35. 下面是程序ObjectText.java的代码段:class Emptypublic class ObjectTestpublic static void main(String args)Em
14、pty em=new Empty();以下错误的结论是( A )。A. 类Empty是空的,既没有成员变量也没有成员方法B. 类Empty非空,有一个默认的构造方法C类Empty中有一个构造方法Empty()D类Empty能够被继承36. 下列应用程序打印多少行?( D )public class hellotest System.out.println(hello.); public static void main(String args) new hellotest();new hellotest();new hellotest(); A. 0 B. 1 C. 2 D. 337. 假设A
15、类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?( C )class A int i; static String s; void method1() static void method2() A. System.out.println(a.i); B. a.method1(); C. A.method1(); D. A.method2();38. 看下面一段程序: class Aclass void go() System.out.println(Aclass); public class Bclass extends Aclass void go() System.out.
16、println(Bclass); public static void main(String args) Aclass a=new Aclass(); Aclass a1=new Bclass(); a.go(); a1.go(); 以上程序运行结果是:( C ) A. Aclass B. Bclass C. Aclass D. Bclass Aclass Bclass Bclass Aclass 39. 哪一行定义了一个静态变量?( A )A. public static int i; B.static public int i;C. public int static i; D.int
17、public static i;40. MAX_LENGTH是int型public成员变量,变量值保持为常量100,其定义是( C )。A. final public int MAX_LENGTH=100; B. public int MAX_LENGTH=100;C. public final int MAX_LENGTH=100; D. final int MAX_LENGTH=100;41. 若在某个类中定义了如下的方法:final void aFinalFunction( );,则该方法属于( C )。A. 本地方法 B. 静态方法 C. 最终方法 D. 抽象方法42. MyClass
18、类的默认构造方法是哪一个?( B )A. new MyClass() B. MyClass() C. MyClass D. public class MyClass43. 构造方法何时被调用( B ) A. 类定义时 B. 创建对象时 C. 调用对象方法时 D. 使用对象的变量时 44对于构造方法,下列叙述不正确的是( B )。A. 构造方法是类的一种特殊方法,它的方法名必须与类名相同。 B. 构造方法的返回类型只能是void型,且书写格式是在方法名前加void前缀。C. 构造方法的主要作用是完成对类的对象的初始化工作。 D. 一般在创建新对象时,系统会自动调用构造方法。45. 给出下面代码段
19、 1. public class Test 2. int m, n; 3. public Test() 4. public Test(int a) m=a; 5. public static void main(String arg) 6. Test t1, t2; 7. int j, k; 8. j=0; k=0; 9. t1=new Test(); 10. t2=new Test(j,k); 11. 12. 哪行将引起一个编译时错误?( D ) A. line 3 B. line 5 C. line 6 D. line 1046. 在成员方法的访问控制修饰符中,下列哪个修饰符规定访问权限包
20、含该类自身及同包的其他类和其他包的该类子类( B )。 A默认 Bprotected Cprivate D.public47. 关于被私有访问控制符private修饰的成员变量,以下说法正确的是(C )A. 可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B. 可以被两种类访问和引用:该类本身、该类的所有子类C. 只能被该类自身所访问和修改D. 只能被同一个包中的类访问48. 下面哪个修饰符修饰的方法只能被本类中的其他方法使用( C )A. protected B. static C. private D. public49. 下面关于继承的哪些叙述是正确的? (
21、 D )A. 在java中允许多继承。 B. 在java中一个类只能实现一个接口。 C. 在java中一个类不能同时继承一个类和实现一个接口。 D. java的单一继承使代码更可靠。50. 下面关于类的继承性的描述中,错误的是( C )。A继承是在已有的基础上生成新类的一种方法BJava语言要求一个子类只有一个父类C父类中成员的访问权限在子类中将被改变D子类继承父类的所有成员,但不包括私有的成员方法51. 下面叙述中,错误的是( C )。A子类继承父类 B子类能替代父类 C父类包含子类 D父类不能替代子类52. 对于下列代码: 1. class Person 2. public void pr
22、intValue(int i, int j) /. 3. public void printValue(int i)/. 4. 5. public class Teacher extends Person 6. public void printValue() /. 7. public void printValue(int i) /. 8. public static void main(String args) 9. Person t = new Teacher(); 10. t.printValue(10); 11. 12. 第10行语句将调用哪行语句?( D )A. line 2 B.
23、 line 3 C. line 6 D. line 753. 类Test1定义如下:1. public class Test12 public float aMethod(float a, float b) 3 4 将以下哪种方法插入行3是不合法的。( B )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) 5
24、4. 下列关于抽象类的描述中,错误的是( C )。A抽象类是用修饰符abstract说明的 B抽象类是不可以定义对象的C抽象类中不能有具体方法 D抽象类通常要有它的子类55. 下列哪个类声明是正确的(D)A. abstract final class H1 B. abstract private move() C. protected private number; D. public abstract class Car 56. 下列关于修饰符混用的说法,错误的是( D ) A. abstract不能与final并列修饰同一个类 B. abstract类不能有自己的构造方法 C. abstr
25、act方法所在的类必须是abstract类 D. static方法中能处理非static的属性(p51,static修饰方法的特点)57. 在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数或参数类型各不相同。这种重复定义同名方法的行为称为对方法( C )。A. 隐藏 B. 覆盖 C. 重载 D. Java不支持此特性58. 在 Java 中,能实现多重继承效果的方式是( C )。A. 内部类 B. 适配器 C. 接口 D. 同步59. 以下哪个接口的定义是正确的?( D )A. interface A void print() ;B. abstract interface
26、A void print() ;C. abstract interface A extends I1, I2 / I1.I2为已定义的接口 abstract void print() ;D. interface A void print();60. A派生出子类B,B派生出子类C,并且在Java源代码中有如下声明: 1.A a0=new A();2. A a1 =new B();3. A a2=new C();问以下哪个说法是正确的?( D )A. 只有第1行能通过编译 B. 第1、2行能通过编译,但第3行编译出错C. 第1、2、3行能通过编译,但第2、3行运行时出错D. 第1行、第2行和第3
27、行的声明都是正确的61. 在finally代码块中的代码,( D )A. 在任何错误处理代码之前执行 B. 不执行,除非在前面的try块中产生异常 C. 不能保证在任何确定的时间内执行,但是将会优先于“碎片收集”被JVM调用 D. 保证执行,无论try块中是否产生异常62. 当方法遇到异常又不知如何处理时,下列哪种说法是正确的( B )A. 捕获异常B. 抛出异常 C. 声明异常D. 嵌套异常 63. 在java的一个异常处理中,哪个语句块可以有多个 ( A )A.catch B.finally C.try D.throws64. 哪个关键字可以抛出异常? ( C ) A. transient
28、 B. finally C. throws D. static65. 给出一段程序,试判断哪个是正确的结果( D )public class myprogram public static void main (String args) try System.out.print(“Hello world ”); finallySystem.out.println(“Finally executing”); A. 无法编译,因为没有指定异常B. 无法编译,因为没有catch子句C. Hello worldD. Hello world Finally executing66. Java中可以用两种方法来创建线程,一种是继承Thread类,另一种是实现( B )接口。A. Throws B. Runnable C. Component D. Container67. 下面哪个不是Thread类的方法?( C )A.yield() B.sleep(long msec) C.go() D.stop()68. Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点( B )。A. 安全性 B. 多线程 C. 跨平台 D. 可移植
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1