JAVA面試題(5)

1、 JAVA所定義的版本中不包括:( )

A、 JAVA2 EE
B、 JAVA2 Card
C、 JAVA2 ME
D、 JAVA2HE
E、 JAVA2 SE
答案:D
解析:
Java企業版:JEE 適用於創建服務器應用程序和服務的Java 平臺企業版 Java標準版: JSE 適用於桌面系統的Java 平臺標準版
JME:適用於小型設備和智能卡的Java 平臺Micro版 Java
Card技術主要是讓智能卡或與智能卡相近的設備上,以具有安全防護性的方式來運行小型的Java
Applet,此技術也被廣泛運用在SIM卡、提款卡上。

2、 下列說法正確的是( )

A、 JAVA程序的main方法必須寫在類裏面
B、 JAVA程序中可以有多個main方法
C、 JAVA程序中類名必須與文件名一樣
D、JAVA程序的main方法中如果只有一條語句,可以不用{}(大括號)括起來
答案:A
解析:
A:main()方法必須都寫在類裏面,在Java中,main()方法是Java應用程序的入口方法,也就是說,程序在運行的時候,第一個執行的方法就是main()方法,這個方法和其他的方
法有很大的不同,比如方法的名字必須是main,方法必須是public static void 類型的,方法必須接收一個字符串數組的參數等等。
B:這個之前沒用過多個main方法,自己試一下,可以用多個mian爲方法名的方法,但是隻能有一個publi 0static void
main(String[] args){}這個方法
C:只有標記爲public的類,名字才必須與文件名相同,public外部類必須與文件名相同,這樣的類有且只有一個,public 內部類
名字不與文件名相同 D: JAVA程序的main方法中,不管有多少條語句都必須用{}(大括號)括起來

3、 變量命名規範說法正確的是( )

A、 變量由字母、下劃線、數字、$符號隨意組成;
B、 變量不能以數字作爲開頭;
C、 A和a在java中是同一個變量;
D、不同類型的變量,可以起相同的名字;
答案:B
解析: 變量名只能是字母(a-z
A-Z),數字(0-9),下劃線(_)的組合,並且之間不能包含空格,數字不能放在變量名首位。 不要在同一個類的不同上下文中重用相同的變量名

4、 下列javaDoc註釋正確的是( )

A、 /* 我愛北京天安門 /
B、 // 我愛北京天安門 /
C、 /
* 我愛北京天安門 */
D、 / 我愛北京天安門 /
答案:C
解析: 對於Java註釋我們主要了解兩種:
// 註釋一行   /
/ 註釋若干行   但還有第三種,文檔註釋:   /
… */ 註釋若干行,並寫入
javadoc 文檔

5、 爲一個boolean類型變量賦值時,可以使用( )方式

A、 boolean = 1;
B、 boolean a = (9 >= 10);
C、 boolean a=”真”;
D、 boolean a = = false;
答案:B boolean即java中的基本類型——布爾類型,值只有true和false兩種。 分析:
A是對int類型的賦值方式。
B中(9>=10)的值是false,因爲有關係運算符是用來比較運算,結果只有對(true)與錯(false)兩種,是boolean類型,所以B正確
C的賦值方式根本不對,既不符合char類型,也不符合String類型
D中“”是關係運算符,不能用來賦值,如果“”改成“=”就是正確的

6、 以下( )不是合法的標識符

A、 STRING
B、 x3x;
C、 void
D、 defCvoidjava[1]Javaf 答案:C void屬於java中的關鍵字 [1]Java標識符只能由數字、字母、下劃線“”或“”符號以及Unicode字符集組成
[2]Java標識符必須以字母、下劃線“”或“$”符號以及Unicode字符集開頭
[3]Java標識符不可以是Java關鍵字、保留字(const、goto)和字面量(true、false、null)
[4]Java標識符區分大小寫,是大小寫敏感的

7、 表達式(11+3*8)/4%3的值是( )

A、 31
B、 0
C、 1
D、 2
答案: D 先乘除後加減,有括號先按括號算 3*8=24 11+24=35 35/4=8
8%3=2 結果是2

8. 什麼是java 序列化,如何實現java 序列化?

答:序列化就是一種用來處理對象流的機制,所謂對象流也就是將對象的內容進行流化。可以對流化後的對象進行讀寫操作,也可將流化後的對象傳輸於網絡之間。序列化是爲了解決在對對象流進行讀寫操作時所引發的問題;序列化的實現:將需要被序列化的類實現Serializable
接口,該接口沒有需實現的方法,implements Serializable
只是爲了標註該對象是可被序列化的,然後使用一個輸出流(如FileOutputStream)來構造一個ObjectOutputStream(對象流)對象,接着,使用ObjectOutputStream
對象的writeObject(Object obj)方法就可以將參數爲obj 的對象寫出(即保存其狀態),要恢復的話則用輸入流。

9、java 中有幾種類型的流?JDK 爲每種類型的流提供了一些抽象類以供繼承,
請說出他們分別是哪些類?

InputStream、OutputStream,字符流繼承於Reader、Writer。在java.io
包中還有許多其他的流,主要是爲了提高性能和使用方便。

10 java中棧和堆得區別?

功能不同 棧內存用來存儲局部變量和方法調用。
而堆內存用來存儲Java中的對象。無論是成員變量,局部變量,還是類變量,它們指向的對象都存儲在堆內存中。 共享性不同 棧內存是線程私有的。
堆內存是所有線程共有的。
3.異常錯誤不同 如果棧內存或者堆內存不足都會拋出異常。 棧空間不足:java.lang.StackOverFlowError。 堆空間不足:java.lang.OutOfMemoryError。
4.空間大小 棧的空間大小遠遠小於堆的。

如果覺得我寫的還行,請關注我的公衆號,每天定時推送乾貨.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章