【262天】我愛刷題系列(21)

叨叨兩句

  1. 學着修改本身的內置程序,將不良輸入得出的輸出調整爲本身喜歡的。
  2. 編程的本質就是數據的變換。

題40

Java接口的修飾符能夠爲(D)

A private     B protected     C final       D abstract
接口內的方法默認修飾符爲:public abstract 
接口內的屬性默認修飾符爲: public static final

題41

ArrayList list = new ArrayList(20);中的list擴充幾回(A)

A 0     B 1     C 2      D 3
默認初始容量爲10,每次擴充至原來的1.5倍
該題已經設置初始容量爲20

題42

getCustomerInfo()方法以下,try中能夠捕獲三種類型的異常,若是在該方法運行中產生了一個IOException,將會輸出什麼結果(A)

    public void getCustomerInfo() {

        try {

            // do something that may cause an Exception

        } catch (java.io.FileNotFoundException ex) {

            System.out.print("FileNotFoundException!");

        } catch (java.io.IOException ex) {

            System.out.print("IOException!");

        } catch (java.lang.Exception ex) {

            System.out.print("Exception!");

        }

    }

A IOException!

B IOException!Exception!

C FileNotFoundException!IOException!

D FileNotFoundException!IOException!Exception!

題43

下面代碼的運行結果爲:(C)

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異常
局部變量使用前必需要初始化

題44

指出下列程序運行的結果 (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 ");

        System.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
1. Java中都是值傳遞,傳參時,傳的是值的副本,參數也至關於方法的局部變量
2. 這道題所描述的傳入引用數據類型和傳入基本數據類型的區別在於,有沒有改變其內部的元素

題45

下面的方法,當輸入爲2的時候返回值是多少?(C)

複製代碼
    public static int getValue(int i) {
        int result = 0;
        switch (i) {
        case 1:
            result = result + i;
        case 2:
            result = result + i * 2;
        case 3:
            result = result + i * 3;
        }
        return result;
    }
複製代碼
A0                    B2                    C4                     D10
本題考查穿透現象

題46

選項中哪一行代碼能夠替換題目中//add code here而不產生編譯錯誤?(A)

複製代碼
public abstract class MyClass {

     public int constInt = 5;
     //add code here
     public void method() {
     }
}
複製代碼
Apublic abstract void method(int a);

B constInt = constInt + 5;

C public int method();

D public abstract void anotherMethod() {}
1. 抽象方法不能有方法體
2. 接口中會自動補齊默認的修飾符

題47

下面是People和Child類的定義和構造方法,每一個構造方法都輸出編號。在執行new Child("mike")的時候都有哪些構造方法被順序調用?請選擇輸出結果 ( D)

複製代碼
class People {
    String name;

    public People() {
        System.out.print(1);
    }

    public People(String name) {
        System.out.print(2);
        this.name = name;
    }
}

class Child extends People {
    People father;

    public Child(String name) {
        System.out.print(3);
        this.name = name;
        father = new People(name + ":F");
    }

    public Child() {
        System.out.print(4);
    }
    
}
複製代碼
A312              B 32               C 432              D 132
super()調用的是空參的父類構造方法,想要調用有參構造方法,須要往括號裏傳參數

題48

 23.對於如下關於可變長參數的定義,正確的是:(ACD    )
A: public void show( String[] aa, String... a ){} 
B: public void show( String... a , String[] aa){} 
C: public void show( String... a ){}
D: public void show( String a, double b , String... c){}
可變參數要放參數列表的最後一個

題49

編譯運行以下Java代碼,輸出結果是( D  )
class Base {
    public void method(){
        System.out.print ("Base method");
    }
}
class Child extends Base{    
    public void methodB(){
        System.out.print ("Child methodB");
    }
}
class Sample {
    public static void main(String[] args) {
        Base base = new Child();
        base.methodB(); 
    }
}
    A.    Base method
    B.    Child methodB
    C.    Base method Child MethodB
    D.    編譯錯誤
1. 對於非靜態方法,編譯看左邊,運行看右邊,父類中沒有methodB方法,因此編譯期就沒法經過。
2. 若子父類都有一樣的方法,則運行時會運行子類重寫過的方法
相關文章
相關標籤/搜索