java 选择结构二 上机练习 java选择题大全_子类

整理最全的Java笔试题库之选择题篇.docx

最全的Java笔试题库之选择题篇问题最全的Java笔试题库之选择题篇-总共234道【160】回答1.下面中哪两个可以在A的子类中使用()class A protected int 1 int a, int b return 0;A. public int 1 int a, int b return 0; B. private int 1 int a, int b return 0; C. private int 1 int a, long b return 0; D. public short 1 int a, int b return 0; 解答AC主要考查子类重写父类的方法的原则B,子类重写父类的方法,访问权限不能降低C,属于重载D,子类重写父类的方法返回值类型要相同或是父类方法返回值类型的子类2.Abstract cannot be static. True or FalseA TrueB False解答A抽象方法可以在子类中被重写,但是静态方法不能在子类中被重写,静态方法和静态属性与对象是无关的,只与类有关,这与abstract 是矛盾的,所以abstract是不能被修饰为static,否则就失去了abstract的意义了3.What will be the output when you compile and cute the following program.class Basevoid test System.out.println Base.test ;public class Child extends Base void test System.out.println Child.test ;static public void mainString a Child anObj new Child;Base baseObj BaseanObj;baseObj.test;Select most appropriate answer.A Child.testBase.testB Base.testChild.testC Base.testD Child.test解答D测试代码相当于Base baseObj new Child;父类的引用指向子类的实例,子类又重写了父类的test方法,因此调用子类的test方法。4.What will be the output when you compile and cute the following program.class Basestatic void test System.out.println Base.test ;public class Child extends Base void test System.out.println Child.test ;Base.test; Call the parent static public void mainString a new Child.test;Select most appropriate answer.A Child.testBase.testB Child.testChild.testC Compilation error. Cannot override a static by an instance D Runtime error. Cannot override a static by an instance 解答C静态方法不能在子类中被重写5.What will be the output when you compile and cute the following program.public class Baseprivate void test System.out.println6 6 Result ;static public void mainString a new Base.test;Select most appropriate answer.A 66ResultB 12ResultC Runtime Error.Incompatible type for . Can t convert an int to a string.D Compilation Error.Incompatible type for . Can t add a string to an int.解答B字符串与基本数据类型链接的问题,如果第一个是字符串那么后续就都按字符串处理,比如上边例子要是System.out.println Result 6 6 ;那么结果就是Result66,如果第一个和第二个。第n个都是基本数据第n1是字符串类型,那么前n个都按加法计算出结果在与字符串连接6What will be the output when you compile and cutethe following program. The symbol means space.1public class Base23 private void test 45 String aStr One6 String bStr aStr;7 aStr.toUpperCase;8 aStr.trim;9 System.out.println aStr , bStr ;7 89 static public void mainString a 10 new Base.test;11 12 Select most appropriate answer.A ONE, One B One ,OneC ONE,OneD ONE,ONEE One , One 解答E通过String bStr aStr;这句代码使bStr和aStr指向同一个地址空间,所以最后aStr和bStr的结果应该是一样,String类是定长字符串,调用一个字符串的方法以后会形成一个新的字符串。7.下面关于变量及其范围的陈述哪些是不正确的()A实例变量是类的成员变量B实例变量用关键字static声明C在方法中定义的局部变量在该方法被执行时创建D局部变量在使用前必须被初始化解答BC由static修饰的变量称为类变量或是静态变量方法加载的时候创建局部变量8.下列关于修饰符混用的说法,错误的是()Aabstract不能与final并列修饰同一个类Babstract类中可以有private的成员Cabstract方法必须在abstract类中Dstatic方法中能处理非static的属性解答D静态方法中不能引用非静态的成员9.执行完以下代码int x new int25;后,以下哪项说明是正确的()A、x24为0B、x24未定义C、x25为0D、x0为空解答Ax属于引用类型,该引用类型的每一个成员是int类型,默认值为010.编译运行以下程序后,关于输出结果的说明正确的是()public class Conditionalpublic static void mainString args int x4;System.out.println“value is “ x4 99.9 9;A、输出结果为value is 99.99B、输出结果为value is 9C、输出结果为value is 9.0D、编译错误解答C三目运算符中第二个表达式和第三个表达式中如果都为基本数据类型,整个表达式的运算结果由容量高的决定。99.9是double类型而9是int类型,double 容量高。11.关于以下application的说明,正确的是()1class StaticStuff23static int x10;4static x5;5public static void main(String args )67System.out.println“x” x;89static x/3;10. A、4行与9行不能通过编译,因为缺少方法名和返回类型B、9行不能通过编译,因为只能有一个静态初始化器C、编译通过,执行结果为x5D、编译通过,执行结果为x3解答C自由块是类加载的时候就会被执行到的,自由块的执行顺序是按照在类中出现的先后顺序执行。12.关于以下程序代码的说明正确的是()1class HasStatic2private static int x100;3public static void mainString args 4HasStatic hs1new HasStatic ;5hs1.x;6HasStatic hs2new HasStatic ;7hs2.x;8hs1new HasStatic ;9hs1.x;10HasStatic.x11System.out.println“x”x;1213A、5行不能通过编译,因为引用了私有静态变量B、10行不能通过编译,因为x是私有静态变量C、程序通过编译,输出结果为x103D、程序通过编译,输出结果为x102解答D静态变量是所有对象所共享的,所以上述代码中的几个对象操作是同一静态变量x,静态变量可以通过类名调用。13.下列说法正确的有()Aclass中的constructor不可省略Bconstructor必须与class同名,但方法不能与class同名Cconstructor在一个对象被new时执行D一个class只能定义一个constructor解答C构造方法的作用是在实例化对象的时候给数据成员进行初始化A类中如果没有显示的给出构造方法,系统会提供一个无参构造方法B构造方法与类同名,类中可以有和类名相同的方法D构造方法可以重载14.下列哪种说法是正确的()A实例方法可直接调用超类的实例方法B实例方法可直接调用超类的类方法C实例方法可直接调用其他类的实例方法D实例方法可直接调用本类的类方法解答DA. 实例方法不可直接调用超类的私有实例方法B. 实例方法不可直接调用超类的私有的类方法C要看访问权限15.下列哪一种叙述是正确的()Aabstract修饰符可修饰字段、方法和类B抽象方法的body部分必须用一对大括号 包住C声明抽象方法,大括号可有可无D声明抽象方法不可写出大括号解答Dabstract可以修饰方法和类,不能修饰属性。抽象方法没有方法体,即没有大括号16.下面代码的执行结果是import java.util.*;public class ShortSetpublic static void mainString argsSet snew HashSet;forShort i0;is.addi;s.removei-1;System.out.printlns.size;A.1B.100C.Throws ExceptionD.None of the Above解答Bi是Short类型i-1是int类型,其包装类为Integer,所以s.removei-1;不能移除Set集合中Short类型对象。17.链表具有的特点是选择3项A、不必事先估计存储空间B、可随机访问任一元素C、插入删除不需要移动元素D、所需空间与线性表长度成正比解答ACDA.采用动态存储分配,不会造成内存浪费和溢出。B. 不能随机访问,查找时要从头指针开始遍历C. 插入、删除时,只要找到对应前驱结点,修改指针即可,无需移动元素D. 需要用额外空间存储线性表的关系,存储密度小18.Java语言中,String类的IndexOf方法返回的类型是A、Int16B、Int32C、intD、long解答CindexOf方法的声明为public int indexOfint ch在此对象表示的字符序列中第一次出现该字符的索引;如果未出现该字符,则返回-1。19.以下关于面向对象概念的描述中,不正确的一项是()。选择1项A.在现实生活中,对象是指客观世界的实体B.程序中的对象就是现实生活中的对象C.在程序中,对象是通过一种抽象数据类型来描述的,这种抽象数据类型称为类(class)D.在程序中,对象是一组变量和相关方法的集合解答B20执行下列代码后,哪个结论是正确的String snew String10;As9 为null;Bs10 为Cs0 为未定义Ds.length 为10解答ADs是引用类型,s中的每一个成员都是引用类型,即String类型,String类型默认的值为nulls数组的长度为10。21.属性的可见性有。选择3项A.公有的B.私有的C.私有保护的D.保护的解答ABD属性的可见性有四种公有的(public)保护的(protected)默认的私有的(private)22在字符串前面加上_符号,则字符串中的转义字符将不被处理。选择1项A B C D 解答B23.下列代码哪行会出错 选择1项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. 4B. 6C. 7D. 8解答Ck没有初始化就使用了24.对记录序列314,298,508,123,486,145按从小到大的顺序进行插入排序,经过两趟排序后的结果为选择1项A 314,298,508,123,145,486B 298,314,508,123,486,145C 298,123,314,508,486,145D 123、298,314,508,486,145解答B插入排序算法public static void injectionSortint number 第一个元素作为一部分,对后面的部分进行循环for int j 1; jint tmp numberj;int i j 1;while tmpnumberi 1 numberi;iif i -1break;numberi 1 tmp;25.栈是一种。选择1项A 存取受限的线性结构B 存取不受限的线性结构C 存取受限的非线性结构D 存取不受限的非线性结构栈(stack)在计算机科学中是限定仅在表尾进行插入或删除操作的线性表。26.下列哪些语句关于内存回收的说明是正确的。选择1项A程序员必须创建一个线程来释放内存B内存回收程序负责释放无用内存C内存回收程序允许程序员直接释放内存D内存回收程序可以在指定的时间释放内存对象解答B垃圾收集器在一个Java程序中的执行是自动的,不能强制执行,即使程序员能明确地判断出有一块内存已经无用了,是应该回收的,程序员也不能强制垃圾收集器回收该内存块。程序员唯一能做的就是通过调用System. gc 方法来建议执行垃圾收集器,但其是否可以执行,什么时候执行却都是不可知的。27.Which must be defined by a class implementing the java.lang.Runnable interfaceA. void runB. public void runC. public void startD. void runint priorityE. public void runint priorityF. public void startint priority实现Runnable接口,接口中有一个抽象方法run,实现类中实现该方法。28 Givenpublic static void mainString args Object obj new Object public int hashCode return 42System.out.printlnobj.hashCode;What is the resultA. 42B. An exception is thrown at runtime.C. Compilation fails because of an error on line 12.D. Compilation fails because of an error on line 16.E. Compilation fails because of an error on line 17.解答A匿名内部类覆盖hashCode方法。29 Which two are reserved words in the Java programming language Choose twoB. importC. defaultD. implements解答BDimport导入包的保留字,implements实现接口的保留字。30. Which two statements are true regarding the return values of property written hashCodeand equals s from two instances of the same class Choose twoA. If the hashCode values are different, the objects might be equal.B. If the hashCode values are the same, the object must be equal.C. If the hashCode values are the same, the objects might be equal.D. If the hashCode values are different, the objects must be unequal.解答CD先通过hashcode来判断某个对象是否存放某个桶里,但这个桶里可能有很多对象,那么我们就需要再通过equals 来在这个桶里找到我们要的对象。31. What is the numerical range of a charA. 0 32767B. 0 65535C. 256 255D. 32768 32767E. Range is plat dependent.解答B在Java中,char是一个无符号16位类型,取值范围为0到65535。32. Givenpublic class Test private static float f new float2;public static void mainString args System.out.println“f0 “ f0;What is the resultA. f0 0B. f0 0.0C. Compilation fails.D. An exception is thrown at runtime.解答B33. Givenpublic class Test public static void mainString args String str NULL;System.out.printlnstr;What is the resultA. NULLB. Compilation fails.C. The code runs with no output.D. An exception is thrown at runtime.解答Bnull应该小写34、Exhibit1.public class X implements Runnable 2. private int x;3. private int y;4. public static void mainString args 5. X that new X;6. new Threadthat.start;7. new Threadthat.start;8. 9. public synchronized void run 10. for 11. x;12. y;13. System.out.println“x “ x “, y “ y;14. 15. 16.What is the resultA. An error at line 11 causes compilation to fail.B. Errors at lines 7 and 8 cause compilation to fail.C. The program prints pairs of values for x and y that might not always be the same on the same line for example, “x2, y1”D. The program prints pairs of values for x and y that are always the same on the same line for example, “x1, y1”. In addition, each value appears twice for example, “x1, y1”followed by “x1, y1”E. The program prints pairs of values for x and y that are always the same on the same line for example, “x1, y1”. In addition, each value appears twice for example, “x1, y1”followed by “x2, y2”解答E多线程共享相同的数据,使用synchronized实现数据同步。35、Which two CANNOT directly cause a thread to stop cuting Choose TwoA. Existing from a synchronized block.B. Calling the wait on an object.C. Calling notify on an object.D. Calling read on an Stream object.E. Calling the SetPriority on a Thread object.解答ADstop方法.这个方法将终止所有未结束的方法,包括run方法。当一个线程停止时候,他会立即释放所有他锁住对象上的锁。这会导致对象处于不一致的状态。当线程想终止另一个线程的时候,它无法知道何时调用stop是安全的,何时会导致对象被破坏。所以这个方法被弃用了。你应该中断一个线程而不是停止他。被中断的线程会在安全的时候停止。36、Which two statements are true regarding the creation of a default constructor Choose TwoA. The default constructor initializes variables.B. The default constructor invokes the no-parameterconstructor of the superclass.C. The default constructor initializes the instance variables declared in the class.D. If a class lacks a no-parameter constructor but has other constructors, the compiler creates a default constructor.E. The compiler creates a default constructor only when there are no other constructors for the class.解答CE构造方法的作用是实例化对象的时候给数据成员初始化,如果类中没有显示的提供构造方法,系统会提供默认的无参构造方法,如果有了其它构造方法,默认的构造方法不再提供。37、Givenpublic class OuterClass private double d1 1.0;insert code hereYou need to insert an inner class declaration at line2. Which two inner class declarations are valid Choose TwoA. static class InnerOne public double a return d1; B. static class InnerOne static double a return d1; C. private class InnerOne public double a return d1; D. protected class InnerOne static double a return d1; E. public abstract class InnerOne public abstract double a; 解答CEAB.内部类可以声明为static的,但此时就不能再使用外层封装类的非static的成员变量;D.非static的内部类中的成员不能声明为static的,只有在顶层类或static的内部类中才可声明static成员38、Which two declarations prevent the overriding of a Choose TwoA. final void a B. void final a C. static void a D. static final void a E. final abstract void a 解答ADfinal修饰方法,在子类中不能被重写。39、Givenpublic class Test public static void main String args class Foo public int i 3;Object o Object new Foo;Foo foo Fooo;System.out.printlnfoo.i;What is the resultA. Compilation will fail.B. Compilation will succeed and the program will print “3”C. Compilation will succeed but the program will throw a ClassCastException at line 6.D. Compilation will succeed but the program will throw a ClassCastException at line 7.解答B局部内部类的使用40、Givenpublic class Test public static void main String args String foo “blue”;String bar foo;foo “green”;System.out.printlnbar;What is the resultA. An exception is thrown.B. The code will not compile.C. The program prints “null”D. The program prints “blue”E. The program prints “green”解答D采用String foo “blue”定义方式定义的字符串放在字符串池中,通过String bar foo;他们指向了同一地址空间,就是同一个池子,当执行foo “green”; foo指向新的地址空间。41、Which code determines the int value foo closest to a double value barA. int foo int Math.maxbar;B. int foo int Math.minbar;C. int foo int Math.absbar;D. int foo int Math.ceilbar;E. int foo int Math.floorbar;F. int foo int Math.roundbar;解答DEFA B两个选项方法是用错误,都是两个参数。abs方法是取bar的绝对值,ceil方法返回最小的(最接近负无穷大)double 值,该值大于等于参数,并等于某个整数。floor方法返回最大的(最接近正无穷大)double 值,该值小于等于参数,并等于某个整数。round方法返回最接近参数的long。42、Exhibit1.package foo;2.import java.util.Vector;3.private class MyVector extends Vector 4.int i 1;5.public MyVector 6.i 2;7. 8.9.public class MyNewVector extends MyVector 10.public MyNewVector 11. i 4;12.13.public static void main String args 14.MyVector v new MyNewVector;15. 16.The file MyNewVector.java is shown in the exhibit. What is the resultA. Compilation will succeed.B. Compilation will fail at line 3.C. Compilation will fail at line 6.D. Compilation will fail at line 9.E. Compilation will fail at line 14.解答B类MyVector不能是私有的43、Givenpublic class Test public static void main Stringargs String foo args1;String bar args2;String baz args3;System.out.println“baz ” baz;And the outputBaz 2Which command line invocation will produce the outputA. java Test 2222B. java Test 1 2 3 4C. java Test 4 2 4 2D. java Test 4 3