Java判断题资料(共16页).doc
精选优质文档-倾情为你奉上Java练习题三、判断题1Java语言具有较好的安全性、可移植性及与平台无关等特性。( )2Java语言不仅是编译型的,同时也是解释型的语言。( )3C语言的各种标识符是区分大小写字母的,但Java语言就不区分大小了。( × )4.机器不能直接识别Java字节码文件,开机首次运行字节码文件时,需经过JVM中的解释器边解释边执行。( )5Java标识符只能由字母、数字、下划线或美元符号组成,并且标识符的首写符号只能是前三种符号。( × )6. Java语言跟C语言不同,它增加了一种基本数据类型String。String与int一样都属于Java语言的基本数据类型。( × )7在所有运算符中赋值运算符是最低优先级别的运算符。( )8Java语言使用的是Unicode字符集,每个字符在内存中占8位。( × )9Java语言规定所有的变量在使用前都必须进行初始化。( × )10Java语言中,语句 double a=-5%3; 在编译时会出现错误 ( × )11多分支语句switch()括号中的表达式的返回值类型可以是全部整型类型,外加char类型。( × )12强制类型转换运算符的功能是将一个表达式的类型转换为所指定的类型。( )13类中的方法可以定义在类体外。( × )14实例方法中不能引用静态变量。( × )15创建对象时系统将调用适当的构造方法给对象初始化。( )16对象赋值实际上是同一个对象具有两个不同的名字,它们都有同一个引用值。( )17Java语言会自动回收内存中的垃圾。( )18子类的成员变量和成员方法的数目一定大于等于父类的成员变量和成员方法的数目。( × )19抽象方法是一种只有说明而无具体实现的方法。( )20Java语言中,所创建的子类都应有一个父类。( )21一个类可以实现多个接口,接口可以实现“多重继承”。 ( )23实现接口的类不能是抽象类。( )24在Swing用户界面的程序设计中,有些容器可以被添加到其他容器中去。( )25每个事件类对应一个事件监听器接口,每一个监听器接口都有相对应的适配器。( × )26Java中,并非每个事件类都只对应一个事件。( )27捕获异常try语句后面可以跟有一个或多个catch()方法用来处理try块内出现的异常事件。( )28Error类所定义的异常是无法捕获的。( )29当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。( )30线程的启动是通过引用其start()方法而实现的。( )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.classC. file.class D. file.jar4. Java语言与其他主要语言相比较,独有的特点是( C )A. 面向对象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. 源文件中public类的数目不限 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. 3DB. $this C. extends D. implements10. 下面哪个不是Java的保留字或关键字?( B )A. default B. NULL C. throws D. long11. 对if()句型括号中的表达式,下列Java类型中哪一个是合法的?( C )A. byte B. shortC. booleanD. 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 = 0345L; 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 = 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;后,以下哪项说明是正确的( 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) 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.以下程序执行完后,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 HamC. Green eggsHamD. Error27. 下面哪个是对字符串String的正确定义 ( 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; x<args.length; x+) namesx=argsx; System.out.println(names2);命令行执行:java X a b命令后,其输出结果是下面哪一个?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. String s1=“a”+“b”;2. String s2=new String(s1);3. if(s1=s2)4. System.out.println(“= = 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 )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)Empty 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类有如下定义,设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.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 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类的默认构造方法是哪一个?( 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. 给出下面代码段 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. 在成员方法的访问控制修饰符中,下列哪个修饰符规定访问权限包含该类自身及同包的其他类和其他包的该类子类( B )。A默认 Bprotected Cprivate D.public47. 关于被私有访问控制符private修饰的成员变量,以下说法正确的是( C )A. 可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B. 可以被两种类访问和引用:该类本身、该类的所有子类C. 只能被该类自身所访问和修改D. 只能被同一个包中的类访问48. 下面哪个修饰符修饰的方法只能被本类中的其他方法使用( C )A. protected B. staticC. private D. public49. 下面关于继承的哪些叙述是正确的? ( 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 printValue(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. line 3 C. line 6 D. line 753. 类Test1定义如下:1. public class Test12 public float aMethod(float a, float b) 34 将以下哪种方法插入行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) 54. 下列关于抽象类的描述中,错误的是( 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. abstract方法所在的类必须是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 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行的声明都是正确的 61. 在finally代码块中的代码,(D )A. 在任何错误处理代码之前执行B. 不执行,除非在前面的try块中产生异常C. 不能保证在任何确定的时间内执行,但是将会优先于“碎片收集”被JVM调用D. 保证执行,无论try块中是否产生异常62. 当方法遇到异常又不知如何处理时,下列哪种说法是正确的( B )A. 捕获异常B. 抛出异常 C. 声明异常D. 嵌套异常 63. 在java的一个异常处理中,哪个语句块可以有多个 ( A )A.catchB.finally C.try D.throws64. 哪个关键字可以抛出异常? ( C ) A. transient B. finally C. throws D. static65. 给出一段程序,试判断哪个是正确的结果( D )public class myprogrampublic 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. 可移植69. 以下不属于Swing的控件是( C )()A. JPanel B. JTextField C. Canvas D. JFrame70. 下列不属于容器的是( B )A. WindowB. TextBox C. Panel D. ScrollPane Java练习题四、运行程序写结果1. 当在命令提示符后输入”java SumTest 4 5”之后,下列程序的输出结果为: 4+5=9 public class SumTest public static void main(String args) int a, b, sum; a=Integer.parseInt(args0); b=Integer.parseInt(args1); sum=a+b; System.out.println(a + "+" + b + "=" + sum); 2. 当在命令提示符后输入”java PrintStar 8”之后,下列程序的输出结果为:(A12) * public class PrintStar public static void main(String args) int n = Integer.parseInt(args0);int i;for( i=1; i<=n; i+)System.out.print("*");System.out.println();3. 当在命令提示符后输入”java CalculateTest 5.5”之后,下列程序的输出结果为: 10.0 public class CalculateTestpublic static void main(String args)float x,y; x = Float.parseFloat(args0); if(x<1)y = x;else if(1<=x&&x<10)y = 2*x-1;elsey = 3*x-11;System.out.println(y);4. 下列程序的输出结果为: null (A11) public class X public static void main(String args) String names=new String5; for(int x=0;x<args.length;x+) namesx=argsx; System.out.println(names2); 5. 下列程序的输出结果为: 9.5 10.0 8 (A12) public class Testpublic static void main(String args) System.out.print ( 3.5+1/2+56%10+" " ); System.out.print ( 3.5+1.0/2+56%10+" " ); int a = 4%3*7+1;System.out.println( a );6. 运行结果是: Hi ! Like (B12)public class Test1 String str = new String("Hi !");char ch = 'L', 'i', 'k', 'e' ;public static void main(String args) Test1 ex = new Test1();System.out.print(ex.str + " ");System.out.print(ex.ch);7. 运行结果是: 4 6 8 10 12 14 16 18 20