收藏 分销(赏)

Java期末考试习题库(选择题+填空题+改错题学生).doc

上传人:快乐****生活 文档编号:4685835 上传时间:2024-10-09 格式:DOC 页数:48 大小:217.51KB
下载 相关 举报
Java期末考试习题库(选择题+填空题+改错题学生).doc_第1页
第1页 / 共48页
Java期末考试习题库(选择题+填空题+改错题学生).doc_第2页
第2页 / 共48页
点击查看更多>>
资源描述
一、选择题 1、下面关于变量及其作用范围的陈述哪个是不对的?(B ) A.实例变量是类的成员变量。 B.实例变量用关键字static声明。 C.在方法中定义的局部变量在该方法被执行时创建。 D.局部变量在使用前必须被初始化。 2、下面哪条语句把方法声明为抽象的公共方法?( B ) A.public abstract method(); B.public abstract void method(); C.public abstract void method(){} D.public void method() extends abstract; 3、哪个是将一个十六进制值赋值给一个long型变量?( D ) A.long number = 345L; B.long number = 0345; C.long number = 0345L; D.long number = 0x345L; 4、下面的哪个赋值语句是不对的?( A ) A.float f = 11.1; B.double d = 5.3E12; C.double d = 3.14159; D.double d = 3.14D; 5、下面哪个是不合法的标识符?( C ) A.$persons; B.TwoUsers; C.*point; D._endline; 6、若在某一个类定义中定义有如下的方法: final void aFinalFunction( ); 则该方法属于( C )。 A、本地方法 B、静态方法 C、最终方法 D、抽象方法 7、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( B )。 A、 public static void main() B、 public static void main(String[ ] args) C、 public static int main(String[ ] args) D、public void main(String arg[ ]) 8、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( C )。 A、隐藏 B、覆盖 C、重载 D、Java不支持此特性 10、以下代码段执行后的输出结果为( C )。 int x=-3; float y=10.0f; System.out.println(y%x); A、不能成功编译 B、-1.0 C、1.0 D、-1 11、下列关于构造方法的叙述中,错误的是( C  ) A.Java语言规定构造方法名与类名必须相同 B.Java语言规定构造方法没有返回值,但不用void声明 C.Java语言规定构造方法不可以重载 D.Java语言规定构造方法只能通过new自动调用 12、关于被私有访问控制符private修饰的成员变量,以下说法正确的是(C  ) A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、 在其他包中的该类的子类 B.可以被两种类访问和引用:该类本身、该类的所有子类 C.只能被该类自身所访问和修改 D.只能被同一个包中的类访问 13、执行完以下代码int [ ]  x = new int[10];后,以下哪项说明是正确的(  A      ) A.x[9]为0  B.x[9]未定义  C.x[10]为0  D.x[0]为空 14、类Test1定义如下: 1. public class Test1{ 2. 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){ } 15、阅读以下代码: public class foo{ public static void main (String[] args){ String s; System.out.println("s=" + s); } } 输出结果应该是:( C   ) A.代码得到编译,并输出“s=” B.代码得到编译,并输出“s=null” C.由于String s没有初始化,代码不能编译通过 D.代码得到编译,但捕获到 NullPointException异常 16、下述概念中不属于面向对象方法的是( D )。 A.对象、消息    B.继承、多态     C.类、封装      D.过程调用 17、编译并运行以下程序,以下描述哪个选项是正确的( A )。 1. class A{ 2. protected String toString(){ 3. return super.toString();} 4. } A、行2出错,不能成功编译 B、编译通过但运行时出错 C、编译通过运行无异常 D、不能成功编译,行3出错 18、假设Foo类有如下定义,设f是Foo类的一个实例,下列语句调用哪个 是错误的?( A ) public class Foo { int i; static String s; void imethod() { } static void smethod() { } } A、Foo.imethod(); B、f.imethod(); C、System.out.println(f.i); D、Foo.smethod() 19、以下哪个接口的定义是正确的?( 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();} 20、关于以下程序段,正确的说法是( 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都不执行 21、下列哪些标识符是不合法的?( B ) A: _underscore B: 5Intel C: Intel5 D: $value$ 22、对数组的定义及初始化不正确的方法是:(     B  )     A.int array[];                           B. int array[8];     C.int[] array=new int[8];         D. int array[]=new int[8];   23、下面哪个表达式正确?(  D     )     A.float   f=1.3;     B.char   c="a";       C.byte   b=257;     D.int i=10; 24、下面程序运行结果为:(  D,如果输出count则为A ) public class test3 {public static void main(String args[])  { int count=0;    for (int i=0;i<=100;i++)   count+=count++;  } }  A 0     B 7      c 编译有错误     D 其他答案 25、下面哪个函数是public void  aMethod(){...}的重载函数?( D ) A、void  aMethod( ){...} B、public int  aMethod(){...} C、public void  aMethod ( ){...} D、public int  aMethod ( int m){...} 26、下面关于继承的哪些叙述是正确的? ( D ) A.在java中允许多继承。 B. 在java中一个类只能实现一个接口。 C. 在java中一个类不能同时继承一个类和实现一个接口。 D. java的单一继承使代码更可靠。 27、关于length()这个方法的表述正确的是哪个? ( C ) A.数组有length()这个方法,string也有length()这个方法。 B.数组有length()有这个方法,string没有length()这个方法。 C.数组没有length()这个方法,string有length()这个方法。 D.数组没有length()这个方法,string也没有length()这个方法。 28、运行下面程序段的结果是:( C )。 public class MyMain{ public static void main(String args){ System.out.println(“Hello Java”); } } A.正常输出Hello Java B.编译时出错 C.运行时出错 D. 以上答案都不对 29、选择排序的思想是,将数据序列划分为两个子列,一个子列是排好序的,另一个是尚未排序的。现若想将数据序列由小到大排序,则每次放到有序子列尾部位置的元素,应从无序序列中选择(A )。 A)最大的 B)最小的 C)任意的 D)头上的 30、关于以下程序段,正确的说法是( C )。 1.  String  s1=“x”+“y”; 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都不执行 31、类与对象的关系是( A )。 A. 类是对象的抽象 B. 类是对象的具体实例 C. 对象是类的抽象 D. 对象是类的子类 32、下列关于修饰符混用的说法,错误的是( D ) A. abstract不能与final并列修饰同一个类 B. abstract类中不可以有private的成员 C. abstract方法必须在abstract类中 D. static方法中能处理非static的属性 33、编译并运行下述程序段的结果是:( B )。 public class Test{ public static void main(String argv[]){ int[] count = new int[4]; System.out.println(count[4]); } } A.编译时错误 B.运行时错误 C.输出0 D.输出null 34、下面是有关子类继承父类构造函数的描述,其中正确的是( B )。 A.创建子类的对象时, 先调用子类自己的构造函数,然后调用父类的构造函数。 B.子类无条件地继承父类不含参数的构造函数。 C.子类必须通过super关键字调用父类的构造函数。 D.子类无法继承父类的构造函数。 35、下列类的定义中,错误的是( C )。 A. class x { .... } B. public x extends y { .... } C.public class x extends y { .... } D. class x extends y implements y1 { .... } 36、假设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、假设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() 39、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行的声明都是正确的  40、以下哪个接口的定义是正确的?( D ) A、  interface B { void print() { } ;} B、  abstract interface B { void print() ;} C、  abstract interface B extends A1,A2 //A1、A2为已定义的接口 { abstract void print(){ };} D、  interface B { void print();} 41、下面的哪个赋值语句是正确的?( D ) A、 short myshort=99s; B、 String name=’Excellent’; C、 char c=17c; D、 int z=015; 42、下面哪个不是Java的保留字或关键字?( B ) A、 default B、 NULL C、 throws D、 long 43、下面哪个是Math类中正确的方法?( A ) A、 random() B、 Random() C、 square() D、 sqr() 44、编译并运行以下程序段的结果是:( ) public static void main(String args[ ]){ Frame f=new Frame (“Visual”); f.setSize(300,300); f.setVisible(true); Point p=f.getLocation(); System.out.println(“x is ”+ p.x); System.out.println(“y is ”+ p.y); } A、x is 300 y is 300 B、x is 0 y is 0 C、x is 0 y is 300 D、x is 300 y is 0 45、下面哪个不是Thread类的方法?( C ) A、 yield() B、 sleep(long msec) C、 go() D、 stop() 46、下面哪个不是Collection接口的方法?( D ) A、 iterator B、 isEmpty C、 toArray D、 setText 47、下面哪个不是String类的方法?( C ) A、 subString() B、 startsWith() C、 toString() D、 toUpperCase() 48、 编译并运行以下程序段的结果是:( A i是final ) public class MyClass{ final static int i; MyClass(){i =0;} public static void main(String args[]){ System.out.println(i); } } A、 编译出错 B、 null C、 1 D、 0 49、下面哪条语句是正确的?( D ) A: short snum = 99s; B: String name = ‘Class Name is: 03076’; C: char c = 17c; D: float f = 3.4f; 50、下面哪个语句(初始化数组)是不正确的:( B ) A: int x[] = {1,2,3}; B: int x[3] = {1,2,3}; C: int[] x = {1,2,3}; D: int x[] = new int[]{1,2,3}; 51、下面方法中的“返回类型Type”应该是什么? ( D ) public class ReturnIt{ returnType methodA(byte x, double y){ return (short)x / y * 2; } } A. double B. int C. byte D. short 52、下面哪一个表达式是正确的? ( C ) A、 byte=128; B、 Boolean=null; C、 long l=0xfffL; D、 double=0.9239d; 53、下面哪个修饰符修饰的变量是所有同一个类生成的对象共享的?( C ) A、public B、private C、static D、final 54、下面关于java中类的说法哪个是不正确的?( C ) A、类体中只能有变量定义和成员方法的定义,不能有其他语句。 B、构造函数是类中的特殊方法。 C、类一定要声明为public的,才可以执行。 D、一个java文件中可以有多个class定义。 55、下列哪个类声明是正确的? ( D ) A、 abstract final class H1{…} B、 abstract private move(){…} C、 protected private number; D、 public abstract class Car{…} 56、方法重载是指 (A ) A.两个或两个以上的方法取相同的方法名,但形参的个数或类型不同 B.两个以上的方法取相同的名字和具有相同的参数个数,但形参的类型可以不同 C.两个以上的方法名字不同,但形参的个数或类型相同 D.两个以上的方法取相同的方法名,并且方法的返回类型相同 59、哪个布局管理器使用的是组件的最佳尺寸? ( A ) A. FlowLayout B. BorderLayout C. GridLayout D. CardLayout 60、Frame的默认的布局管理器是下列哪一个? ( B ) A.FlowLayout B.BorderLayout C.GridLayout D.CardLayout 61、下列哪个用户图形界面组件在软件安装程序中是常见的? ( B ) A.滑块 B.进度条 C.对话框 D.标签 62、 包含可单击按钮的类的Java类库是哪个? C A.AWT B.Swing C.二者都有 D.二者都没有 63、下面的哪个用户界面组件不是容器? ( D ) A. JScrollPane B. JFrame C. JWindows D. JScrollBar 64、在下列事件处理机制中哪个不是机制中的角色? ( C ) A. 事件             B. 事件源 C. 事件接口        D. 事件处理者 65.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的 ( B ) A、 ArrayList myList=new Object(); B、 List myList=new ArrayList(); C、 ArrayList myList=new List(); D、 List myList=new List(); 67.指出正确的表达式 ( C ) A、 byte=128; B、 Boolean=null; C、 long l=0xfffL; D、 double=0.9239d; 68.指出下列程序运行的结果 ( B ) public class Example{   String str=new String("good");   char[]ch={'a','b','c'};   public static void main(String args[]){     Example ex=new Example();     ex.change(ex.str,ex.ch);     System.out.print(ex.str+" and ");     Sytem.out.print(ex.ch);   }   public void change(String str,char ch[]){     str="test ok";     ch[0]='g';   } } A、 good and abc B、 good and gbc C、test ok and abc D、 test ok and gbc 69.运行下列程序, 会产生什么结果 ( A 应该是runnable ) public class X extends Thread implements Runable{  public void run(){   System.out.println("this is run()");  }  public static void main(String args[])  {   Thread t=new Thread(new X());   t.start();  } } A、 第一行会产生编译错误 B、 第六行会产生编译错误 C、 第六行会产生运行错误 D、 程序会运行和启动 71.容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变? ( B ) A、 CardLayout B、 FlowLayout C、 BorderLayout D、 GridLayout 72.给出下面代码: public class Person{   static int arr[] = new int[10];   public static void main(String a[])   {    System.out.println(arr[1]);   } } 那个语句是正确的? ( C ) A、 编译时将产生错误; B、 编译时正确,运行时将产生错误; C 、输出零; D、 输出空。 74.下列哪些语句关于内存回收的说明是正确的? ( D ) A、 程序员必须创建一个线程来释放内存; B、 内存回收程序负责释放无用内存 C、内存回收程序允许程序员直接释放内存 D、内存回收程序可以在指定的时间释放内存对象 75.下列代码哪几行会出错: ( 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 8 76.MAX_LENGTH是int型public成员变量, 变量值保持为常量100,用简短语句定义这个变量。 ( D ) A、 public int MAX_LENGTH=100; B、 final int MAX_LENGTH=100; C、 final public int MAX_LENGTH=100; D、 public final int MAX_LENGTH=100. 77.给出下面代码:   1) class Parent {   2} private String name;   3} public Parent(){}   4} }   5) public class Child extends Parent {   6} private String department;   7} public Child() {}   8} public String getValue(){ return name; }   9} public static void main(String arg[]) {   10} Parent p = new Parent();   11} }   12} }   那些行将引起错误? ( D ) A、 第3行 B、 第6行 C、 第7行 D、 第8行 78.类Teacher和Student是类Person的子类;    Person p;    Teacher t;    Student s;    //p, t and s are all non-null.    if(t instanceof Person) { s = (Student)t; }   最后一句语句的结果是: ( D ) A、 将构造一个Student对象; B、 表达式是合法的; C、 表达式是错误的; D、 编译时正确,但运行时错误。 79.给出下面代码段   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 10 80.对于下列代码:   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} }   第10行语句将调用哪行语句? ( D ) A、 line 2 B、 line 3 C、 line 6 D、 line 7 81.哪个关键字可以抛出异常? ( C ) A、 transient B、 finally C、 throw D、 static 82.Main()方法的返回类型是: ( B ) A、 int B、 void C、 boolean D、 static 83.System类在哪个包中? ( D ) A、 java.util B、 java.io C、 java.awt D、 java.lang 84.对于下列代码:   public class Parent {    public int addValue( int a, int b) {      int s;      s = a+b;      return s;    }   }   class Child extends Parent {   }  下述哪些方法可以加入类Child? ( C ) A、 int addValue( int a, int b ){// do something...} B、 public void addValue (int a, int b ){// do something...} C、 public int addValue( int a ){// do something...} D、 public int addValue( int a, int b )throws MyException {//do something...} 85.给出下面代码:   public class test{    static int a[] = new a[10];    public static void main(String args[]) {     System.out.println(arr[10]);    }   } 那个选项是正确的? ( C ) A、 编译时将产生错误; B、 编译时正确,运行时将产生错误; C、 输出零; D、 输出空。 86.下面哪些选项是正确的main方法说明? ( B ) A、 public main(String args[]) B、 public static void main(String args[]) C、 private static void main(String args[]) D、 void main() 87.给定下面的代码片段:   1) String str = null;   2) if ((str != null) && (str.length() > 10)) {   3} System.out.println("more than 10");   4} }   5) else if ((str != null) & (str.length() < 5)) {   6} System.out.println("less than 5");   7} }   8) else { System.out.println("end"); } 哪些行会导致错误? ( C ) A、 line 1 B、 line 2 C、 line 5 D、 line 8 88.下面哪种注释方法能够支持javadoc命令: ( B ) A、 /**...**/ B、 /*...*/ C、 // D、 /**...*/ 93.看下面一段程序:   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    Aclass B、 Bclass    Bclass C、 Aclass    Bclass D、 Bclass    Aclass 94.下列关于Java线程的说法那些是正确的( D ) A、 每一个Java线程可以看成由代码、一个真实的CPU以及数据三部份组成。 B、 创建线程的两种方法中,从Thread类中继承的创建方式可以防止出现多父类问题。 C、 Thread类属于java.util程序包。 D、
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服