JAVA核心技術I---JAVA基礎知識(回顧)


一:對象實例化問題:

public class Rectangle {
  public int width = 3;
  public int height = 4;

  public int area() {
        return width * height;
  }
}
則如下代碼輸出結果為:
Rectangle rectangle;
rectangle.height = 5;
System.out.println(rectangle.area());
A.15 B.有編譯錯誤,程序不能運行
C.12
D.0
D、rectangle沒有被初始化,因此報錯。
Rectangle rectangle=new Rectangle()

二:類型轉換問題

如下賦值語句中,有語法錯誤的是?

A.float f1 = 1.2;

B.float f1 = 1.2f

C.float f1 = 1;

D.float f1 = 0xAE;\
注意double類型可以不加后綴,所以小數不加上f后綴,則默認為double類型,若不是強制轉換則編譯不通過。

三:switch語句

對於Java1.7及之后版本,如下不能用於switch的類型是:

A.String

B.int

C.char

D.double
double和float是不精確的數值,不用於判斷,但是String類型可以在1.7后使用

四:賦值問題

如下賦值語句,有編譯錯誤的是?

A.byte b = -127;

B.int i = (byte)512;

C.byte b = 129;

D.byte b = -0; 
byte b = (byte) 129; 需要強制轉,且結果是-2.
byte類型-127~128

五:編譯問題:

Java有“一次編譯,到處運行”的說法,此種說法中編譯的結果是:

A.機器碼

B.符號表

C.字節碼

D.中間代碼
class文件,即為字節碼(bytecode)文件。

六:main函數:

下列關於main方法的描述中,錯誤的是?

A.main方法是Java程序的入口


B.main方法格式為

public static void main(String[] args) {
    //Your code here
}

C.B選項中所描述格式中形參args不能更改,如果將args改為arguments則不能編譯通過

D.main方法可以被重載
形參名字可以隨意更改,形參類型不可以更改,必須是String[].
main方法可以被重載。可以在類中寫一個同名函數,參數等不一致,是重載,符合要求

七:構造函數問題(重點)

Given the following class 

class MyNumber

{

   private int num = 5;

   public MyNumber(int num) { this.num = num; }

   public int getNum() { return num; }

   public void setNum(int num) { this.num = num; }

}

   What is output after the executation of following code? 

   MyNumber obj1 = new MyNumber();

   MyNumber obj2 = new MyNumber(10);

   obj2 = obj1;

   obj2.setNum(20);

   System.out.println(obj1.getNum() + “,” + obj2.getNum());
A.5, 20

B.5, 10

C.20,20

D.編譯錯誤
MyNumber有一個帶形參的構造函數,編譯器不會自動添加無參的構造函數。因此在創建obj1的時候,MyNumber obj1 = new MyNumber();,找不到相應的構造函數,報錯。

八:對象賦值問題

Given the following class:

class Mixer {

    Mixer() { }

    Mixer(Mixer m) { m1 = m; }

    Mixer m1;  //注意m2.m1雖然沒有被被賦值,但是由於在類中定義,所有有初值null public static void main(String[] args) {

        Mixer m2 = new Mixer();

        Mixer m3 = new Mixer(m2);  m3.go();

        Mixer m4 = m3.m1;  m4.go();

        Mixer m5 = m2.m1; m5.go();  //m2中m1未被賦值,為null,調用方法會報錯

    }


    void go() { System.out.print("hi "); }

}
A.Compilation fails

B.hi hi hi

C.hi hi, followed by an exception

D.hi, followed by an exception


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM