1、main方法是怎麼寫的
public static void main(String[] args) {}
2、變數的命名規則是怎麼樣的?
採用駝峰命名法,見名知意,以小寫字母開始。
常量命名:全部大寫。
方法命名: 小寫字母開始,駝峰命名。
類命名:首字母大寫。
3、if…else…和寫兩個if 有什麼區別
if…else…只執行其中一條,
寫兩個if,兩個都要執行
4、在JAVA中直接寫浮點常數,預設是什麼類型?
預設是double類型
double numd = 1.2222d;float numf = 1.111f;
double numd(d/D)
float numf(f/F)
5、什麼是標識符?它的命名規則是什麼?
凡是可以命名的地方都叫標識符。
標識符有兩種:1、系統標識符(關鍵字);
2、使用者識別碼
以字母、數字、底線、$複活組成,不能以數字開頭
6、什麼是變數?
變數是命了名的記憶體空間,並且空間的值是可以改變的。
7、JDK與JRE分別是什麼?
JDK叫java開發工具集,包括編譯環境、運行環境、調試環境以及基礎類庫。
JRE叫java運行環境,包括虛擬機器、核心類庫、以及健接檔案。
8、try-catch-finally三個基本塊的作用?catch裡的代碼是幹什麼的?
try塊表示此處代碼可能引發異常
catch塊捕獲try塊的異常
finally塊通常用於資源的回收,串連關閉,清理工作等
try-catch-finally不能單獨存在,try塊後必須跟catch或finally
catch或finally前必須跟try塊
9、繼承類和實現介面分別怎麼做?
繼承用extends關鍵字繼承
定義介面用interface關鍵字
實現介面用implements
10、如何去獲得字串的長度?
調用String類的length()方法
String str = "nihao";int str_len = str.length();int[] num = new int[3];int num_len = num.length;
11、Java的基礎資料型別 (Elementary Data Type)有哪些?
int 4位元組 整型
byte 1位元組 整型
char 2位元組 整型
short 4位元組 整型
long 8位元組 整型
double 8位元組 浮點
float 4位元組 浮點
boolean 布爾
12、當一個對象被當作參數傳遞到一個方法後,此方法可改變這個對象的屬性,並可返回變化後的結果,那麼這裡到底是值傳遞還是引用傳遞
值傳遞,Java裡沒有引用傳遞
13、列出至少5個最常見到的runtime exception並描述在什麼情況下出現
IOException在未找到檔案時會拋出
NullPointerExecption在對象引用指向空時會拋出
ArrayIndexOutOfBoundsExecption在數組下標越界時會拋出
NumberFormatException在字串不能轉換成數字時會拋出
ArithmeticException在分母為零時會拋出
14、ArrayList和Vector的區別
vector是安全執行緒的,所以效率低,
Arraylist是線程不安全的,但是效率高。
15、在IO中位元組流和字元流的父類是什麼?
位元組流父類是InputStrean和OutputStream
字元流父類是Reader和Writer
16、什麼是包?定義包有什麼好處?
檔案夾。
好處:1、可以有效組織相關類;
2、可以做到資訊的隱藏。
17、怎麼樣知道磁碟一個目錄中有哪些檔案?
1、File對象.list()方法;
2、File對象.listFile()方法。
18、如何獲得一定範圍的隨機整數?
x+Math.random()*y 其中x是位移數,確定最小範圍,y是放大係數,確定最大數。
(x-y)*Math.randon()+y
19、如何獲得java當前的工作目錄
使用System.getProperty(“user.dir”)能夠獲得當前工作目錄的字串地址。
20、怎麼樣判斷一個異常類是checked異常還是unchecked異常?
判斷當前異常類,是否是RuntimeException的子類,如果是,則是運行期異常否則是編譯期異常。
21、log4j一共有幾個層級?分別是哪些?層級的高低有什麼樣的區別.
log4j有五個層級:
DEBUG:調試
INFO:資訊
WARN:警告
ERROR:錯誤
FATAL:崩潰
21、靜態變數和成員變數應該怎麼訪問?
靜態變數可以通過對象. 和類名. 的方式訪問
成員變數通過對象.的方式訪問
public class Main {int numa = 1;static int numb = 2;void getNum() {Main main = new Main();System.out.println(main.numa + " " + main.numb + " " + Main.numb);}}
22、如何將一個字串轉成一個基礎資料型別 (Elementary Data Type)
Int x = Integer.parselint(“32”);
Double d = Double.parseDouble(“4.5”);
23、如何讓JFrame的初始位置置中(在不同的解析度中)
表單對象.setLocationRelativeTo(null);
24、談談集合的作用
方便對資料進行 儲存,檢索,操作,傳輸。
25、類的修飾符能不能是private、static、protected?
內部類可以,因為內部類相當於外部類的屬性
26、Try塊中是否所有的語句都一定會執行,為什麼?
不是,一但try中發生了異常,那麼異常發生處下面的語句就不會執行,專區catch塊執行
27、什麼時候用繼承,什麼時候用介面?
當需要重用屬性和方法時使用繼承
當只需要重用方法時用介面
28、finally是不是什麼時候都會執行?
是當虛擬機器關閉,System.exit(0),finally內容不會執行;
29、什麼是主線程?
當main()方法執行時會產生主線程,1最先開始 2最後結束
3產生其他子線程
4回收資源
30、進行IO流操作時,如果操作的檔案不存在會發生什麼情況?
讀取流在檔案不存在時,會拋出檔案未找到異常
寫入流在檔案不存在時,會建立檔案,但如果該檔案所在目錄不存在,同時會拋出檔案未找到異常
31、IO流操作的步驟是怎麼樣的?
建立流 操作流 關閉流
32、finally的作用是什嗎?
無論是否有異常都會執行的代碼塊,一般用於資源回收,比如流動關閉、資料庫的關閉
34、當一個線程進入一個對象的一個同步方法後,能否進入其它非同步方法? 麼?一般在什麼時候使用?
可以,但不能進入其他同步方法。
33、try {}裡有一個return語句,那麼緊跟在這個try後的finally {}裡的代碼會不會被執行,什麼時候被執行?
Finally{}在程式開啟時只執行它本身裡的代碼。
會執行,在方法返回前執行
35、如何啟動線程,它直接調用run()方法有什麼區別?
啟動線程調用start方法,用start方法啟動線程後,是多個線程同時進行,
使用run()是普通方法,是不會產生新的線程,是單線程。
36、數組有沒有length()這個方法? String有沒有length()這個方法?
數組有length屬性,String有length方法
37、GC是什麼? 為什麼要有GC?
GC叫做記憶體回收行程,為了回收記憶體不再使用對象,釋放記憶體空間,避免記憶體溢出。
38、線程同步化會帶什麼樣的結果?
1:可以使資料安全
2:效率會降低
39、什麼是安全執行緒?
當兩個或兩個以上線程,訪問同一個資源時,為了保證資料的安全,只允許同一時間
只能有一個線程訪問該資源。
40、伺服器類有一個while迴圈,能否直接while(true)?
可以,但這樣缺乏靈活性,沒有辦法控制迴圈結束,最好使用boolean變數來控制
迴圈的運行和結束。
41、java協助文檔是如何產生的?
Javadoc.exe
42、什麼時候類名和檔案名稱必須一致?
當類的定義為Public時,類名必須與檔案名稱儲存一致
43、如何將實現封裝類和基礎資料型別 (Elementary Data Type)轉化?
封裝轉基本1:封裝類對象.xxxvalue(值);2直接賦值
基本轉封裝1: Integer = new Integer(90);2直接賦值
44、類InputStream中方法read()的傳回值是什麼?讀出的是什麼?
Read()返回的是int,,讀取的資料
read(byte[]) 返回int 當前讀取的位元組數
45、如果一個類實現一個介面,可不可以不實現介面裡定義的所有方法?
可以,但這個類只能是抽象類別
46、構造方法和方法有什麼區別?構造方法能不能被重載,能不能被重寫?
構造方法和雷鳴相同,構造方法沒有傳回型別,在對象建立時,被調用。
構造方法可以重載,不能重寫。
47、請列舉switch( )括弧中能接受的所有資料類型。
Char byte short int
48、GUI的布局管理器常見的有哪幾種?
絕對布局
邊界布局管理器
卡片布局管理器
流布局管理器
網格布局管理器
49、斷言有什麼作用?
斷言是一個布林運算式,當運算式為真繼續執行,運算式為假,則拋出一個斷言錯誤,主要用於測試。
50、String和StringBuffer的區別?
String具有長度不可變的特性,當String做添加、刪除\修改時,會產生一個新對象
StringBuffer是String類的一個改進版,是緩衝區的一個對象,當對該對象進行字元的
添加、修改時,不會產生新對象。
51、介面裡方法修符是什麼?
Public abstract
52、介面裡可以定義變數嗎?
不行,就可中的變數修飾符是public static final 只能定義常量
53、說幾個String常用的方法
String.length() split() substring() equals() indexOf() lastundexOf()
54、在Dos介面下如何編譯並執行Java程式?
Javac 檔案名稱
Java 類名
55、建立一個線程有幾種方法?
整合 thread 類
實現Runnable介面
56、項目開發的流程是怎麼樣的?
市場調研,需求分析,概要設計,詳細設計,編碼,測試 ,維護。
57、java語言的特點是什麼?
簡單,物件導向,分布式,健壯,可移植,解釋性,安全,多線程,記憶體回收
58、main方法中有個參數String[] args。這個參數的值是由誰傳遞給它的。
執行java類時 ,由控制台傳入
59、java中採用什麼字元編碼集?char類型能不能放入一個中文字?
Unicode 該字元集一個字元有2個位元組。,
char是兩個位元組可以放一個中文,因為中文是兩個位元組
60、byte的取值範圍
-128~+127(-2的7次方to2的7次方-1)
61、GET方式和POST方式提交時,流有什麼不同?
GET和POST是HTTP協議請求伺服器的兩種方式
GET方式頁面參數,是附加在URL後面。/login?userName=XXX
POST方式,頁面的參數是放在流最後的