首頁 >Java >Java面試題 >java筆試題大全帶答案(經典11題)

java筆試題大全帶答案(經典11題)

(*-*)浩
(*-*)浩原創
2019-11-21 16:07:297738瀏覽

java筆試題大全帶答案(經典11題)

1.不能透過建構函數也能建立物件嗎()

A. 是                   (建議學習: java面試題大匯總

B. 否

分析:答案:A

Java創建物件的幾種方式(重要) :

(1) 用new語句建立對象,這是最常見的建立對象的方法。

(2) 運用反射手段,呼叫java.lang.Class或

java.lang.reflect.Constructor類別的newInstance()實例方法。

(3) 呼叫物件的clone()方法

(4) 運用反序列化手段,呼叫java.io.ObjectInputStream物件的 readObject()方法。

(1)和(2)都會明確的明確的呼叫建構子;(3)是在記憶體上對已有物件的影印,所以不會呼叫建構函式;(4)是從文件中還原類別的對象,也不會呼叫建構函數。

(1)和(2)都會明確的明確的呼叫建構子;(3)是在記憶體上對已有物件的影印,所以不會呼叫建構函式;(4)是從文件中還原類別的對象,也不會呼叫建構函數。

2.以下哪些是對稱加密演算法()

A. DES

B. MD5

C. DSA

D. RSA

分析:答案:A

#分析:常用的對稱加密演算法有:DES、3DES、RC2、RC4、AES

常用的非對稱加密演算法有:RSA、DSA、ECC

使用單向雜湊函數的加密演算法:MD5、SHA

3.下面的程式碼段,當輸入為2的時候回傳值是()

public static int get Value(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;
}

A. 0

B. 2

C. 4

D. 10

答案:C

分析:result = 0 2 * 2;

4.以下Java程式碼段會產生幾個對象

public void test(){
    String a="a";
    String b="b";
    String c="c";
    c=a+""+b+""+c;
    System.out.print(c);
}

分析:答案: 一個對象,因為編譯期進行了最佳化,3個字串常數直接折疊為一個

5.Math.round( -11.2)的運行結果是。

#: -11

分析:小數點後第一位=5

#正數:Math.round(11.5)=12

#負數:Math.round(-11.5)=-11

小數點後第一位4ca2fb04f361d410c5019c4945cc5f2d5

正數:Math.round(11.68)=12

#負數:Math.round(-11.68)=-12

根據上面例子的運行結果,我們還可以按照如下方式總結,或許更加容易記憶:

參數的小數點後第一位6a8b2862b410736593846e38e1458af95,運算結果為參數整數部分絕對值 1,符號(即正負)不變。

參數的小數點後第一位=5,正數運算結果為整數部分 1,負數運算結果為整數部分。

結束:大於五全部加,等於五正數加,小於五全不加。

6.Java中int.long佔用的位元組數分別是

#分析:

1:「字節」是byte,「位」是bit ;

2: 1 byte = 8 bit ;

char 在Java中是2個位元組。 java採用unicode,2個位元組(16位元)來表示一個字元。

short 2個位元組

int 4個位元組

#long 8個位元組

System.out.println('a' 1) ;的結果是

分析:'a'是char型,1 是int行,int與char相加,char會被強轉為int行,char的ASCII碼對應的值是97,所以加一起列印98

7.下列語句那一個正確()

A. java程式經編譯後會產生machine code

##B. java程式經過編譯後會產生byte code

C. java程式經過編譯後會產生DLL

D. 以上都不正確

##答案:B

分析:java程式編譯後會產生字節碼檔,就是.class檔

8.下列敘述正確的有()

#A.class中的constructor不可省略

B. constructor必須與class同名,但方法不能與class同名

C. constructor在一個物件被new時執行

#D. 一個class只能定義一個constructor

答案:C

#9.執行如下程式碼()

a=0;c=0;
do{
    ——c;
    a=a-1;
}while(a>0);
後,c的值是()

A. 0

B. 1

#C. -1

##D. 死迴圈

答案:C

do{...}while(...);語句至少執行一次

10.下列哪一個敘述是正確的()

A. abstract修飾詞可修飾欄位、方法和類別

B. 抽象方法的body部分必須用一對大括號{}包住

C. 宣告抽象方法,大括號可有可無

D. 宣告抽象方法不可寫出大括號

答案:D

分析: abstract不能修飾欄位。既然是抽象方法,當然是沒有實作的方法,根本就沒有body部分。

11.下列語句正確的是()

A. 形式參數可視為local variable

B. 形式參數可被字段修飾符修飾

C. 形式參數為方法被呼叫時,真正被傳遞的參數

D. 形式參數不可以是物件

答案A:

分析:

A:形式參數可視為local variable。形參和局部變數一樣都不能離開方法。都只有在方法內才會發生作用,也只有在方法中使用,不會在方法外可見。

B:對於形式參數只能用final修飾符,其它任何修飾符都會造成編譯器錯誤。但是用這個修飾符也有一定的限制,就是在方法中不能對參數做任何修改。不過一般情況下,一個方法的形參不用final修飾。只有在特殊情況下,那就是:方法內部類別。一個方法內的內部類別如果使用了這個方法的參數或局部變數的話,這個參數或局部變數應該是final。

C:形參的值在呼叫時會根據呼叫者更改,實參則用自身的值更改形參的值(指標、引用皆在此列),也就是說真正被傳遞的是實參。

D:方法的參數清單指定要傳遞給方法什麼樣的訊息,採用的都是物件的形式。因此,在參數清單中必須指定每個所傳遞物件的類型及名字。想JAVA中任何傳遞物件的場合一樣,這裡傳遞的實際上也是引用,而引用的類型必須正確。

以上是java筆試題大全帶答案(經典11題)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn