天天看點

大學生java項目經驗總結_【原】個人java項目經驗總結

寫在前面的話

-“雖然我之前沒做過xxx,不過用xxx應該很簡單。”

-“沒做過就别說很簡單!”

目錄

一、運算符,基本類型和四則運算

1.1 負數的餘數,如何優雅地避免數組下标越界

1.2 你确定你的if判斷式裡是'=='而不是=?

二、類,接口的設計

2.1 參數清單的設計

2.2 類的分類

2.3 用return進行邏輯控制

2.4 靈活地重寫某GUI的Action類,用匿名内部類

三、檔案,輸入輸出

3.1 (zz)檔案編碼,java讀寫檔案時的編碼

四、IDE相關

4.1 IDEA中某變量為灰色(Dark主題下)不等價于該變量沒有用

------------------------------------------------

1. 基本類型和四則運算

1.1 負數的餘數,如何優雅地避免數組下标越界

-1%3=?

有兩種答案:-1和2

java中用的是第一種,為了避免出現-1,抛出ArrayIndexOut的Error,是以擷取數組上一個元素應該這麼寫,

elementBefore(int x)

{

return array[ (array.length + x - 1) % array.length ];

}

避免了使用if語句判讀是否越界,優雅。

1.2 你确定你的if判斷式裡是'=='而不是=?

二、類,接口的設計

2.1 參數清單的設計

3個以上同類型變量用數組傳參,配合int參數指定數組中各個變量的功能

2.2 類的分類

UI類的焦點控制類應該和UI類放在同一目錄下,而不是和調用該UI的類放在同一目錄

2.3 用return進行邏輯控制

尤其是actionListenner中實作多種邏輯時,新增一個跳出邏輯隻需要加入if (...) {return;}即可不執行之後的代碼,優雅。

2.4 靈活地重寫某GUI的Action類,用匿名内部類

需求描述:有一個new JButton(new ThisAction(arg1,arg2)),現在需要僅在目前類中修改ThisAction的事件監聽邏輯。

new JButton(

new ImagePreviewAction(DeviceCurveDialog.this,previewContext) {

@Override

public void actionPerformed(ActionEvent event) {

if (isNameEmpty()) {

return;

}

super.actionPerformed(event);

}

}

)

三、檔案,輸入輸出

3.1 (zz)檔案編碼,java讀寫檔案時的編碼

原文

http://blog.sina.com.cn/s/blog_43eb83b90102dvj6.html

Java代碼

File f = new File("E:\\eclipse\\workspace\\box\\Data\\2003-3-7-100.inc");

InputStreamReader read = new InputStreamReader (new FileInputStream(f),"UTF-8");

BufferedReader reader=new BufferedReader(read);

String line;

while ((line = reader.readLine()) != null)

{ System.out.println(line); }

File f = new File("E:\\eclipse\\workspace\\box\\Data\\2003-3-7-100.inc");

InputStreamReader read = new InputStreamReader (new FileInputStream(f),"UTF-8");

BufferedReader reader=new BufferedReader(read);String line; while ((line = reader.readLine()) != null)

{System.out.println(line);

}

通過打開檔案是指定檔案編碼的方法把這個問題輕松的解決了。

最後總結一下:java要讀取資料流的時候一定要指定資料流的編碼方式(至少讀取

String流的時候要這麼作。

2.寫檔案

File file = new File("c:\a.test");

Writer writer = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");

writer.write("中文測試");

writer.close();

四、IDE相關

4.1 IDEA中某變量為灰色(Dark主題下)不等價于該變量沒有用

一般這個時候你用crtl+滑鼠左鍵點選該變量發現沒有導航。不要以為這個變量在程式裡就沒用到了。有一種情況是,該變量初始化後沒被調用。但是在初始化的時候,該變量已經和某些邏輯綁定了。

比如說:

private JButton defaultNameButton;

...

defaultNameButton = button(cc.xy(3, 1), createDefaultNameAction());