重新認識Java😎😎

Luke
5 min readJan 11, 2020

--

要認識Java,要先認識類別(class),到底什麼是類別呢?

類別(class): 物件的藍圖, Java程式的基本單元,類別內包含著資料(屬性 attribute),以及物件的行為(方法 method)。

類別分為寫:1.變數(靜態特性)2.方法(動態特性)3.建構子, 用: 了解功能並組合。

類別組成有可能是1.自行開發2.官方3.第三方(3rd-party), 2跟3都會有JavaDoc文件。

第三方通常會有1.JAR(.jar): Java Archive File 2. Java Doc。

遞迴 : 在方法內出現自己呼叫自己方法的模式。

在來說ㄧ下Java的命名方式

命名規則: 首字必須是_(下底線)、$(任何幣別)、字母(任何字母)

類別命名:首字必須大寫、要是名詞,第二個單字開頭要大寫。

變數命名:首字必須小寫、要是名詞,第二個單字開頭要大寫。

方法命名:首字必須小寫、要是動詞,第二個單字開頭要大寫。

知道取名方式記得要取個方便記憶的名字,才不會太久沒看不知自己在寫什麼。

安裝JDK時常常會找不到路徑,這時可以從cmd 內可用set path 查詢現在的環境變數內的path路徑情況。

不用編譯器也可以用命令提示字元(cmd)去做編譯(javac 檔案名稱.java)跟啟動(java 檔案名稱)。

用文字檔做編輯時,若讀不到.java檔可能有隱藏的附檔名, 檢視>選項>檢視>把隱藏已知檔案類型的副檔名勾勾拿掉。

JAVA由三個部分所組成: <修飾字> class <*名稱> { }

類別內可以放: 1.Variable 2. Method 3. Constructor

ReturnType: 執行結果,要回覆:資料型別(DataType),不回覆:void

<修飾字> <*ReturnType> <*方法名稱> (<參數>) { }

如果直接new出來的物件只能使用一次,但節省記憶體空間, 如new B().test();

會重複使用到的會給一個命名, 如 B b = new B(); b.test();

簡單介紹netBeans如何引進其他套件

netbeans引入外部的包: tool -> Libraries -> New Library ->檔名可用包的名字, 點OK->在classpath、sources、javadoc內加入檔名.jar、檔名-sources.jar、docs資料夾。

在程式內就可以引用import org.apache.commons.io.FileUtils;

刪除資料夾檔案換使用Apache內的lib(org.apache.commons.io.FileUtils),引用時要用try{

FileUtils.forceDelete(file);

}catch (IOException e) {

e.printStackTrace();

}

這樣就可以使用apache.commons.io.FileUtils的方法了ˊ。

用純文字檔撰寫程式碼後,如何使用命令提示字元 先編譯.java在執行.class

cmd->javac 檔名.java(副檔名) ->java 檔名

引入外部jar檔,cmd->javac -cp 外部的.jar 檔名.java ->java 檔名

若程式檔案存檔編碼格式為ANSI者, 輸入-encodingMS950, 若為UTF-8者, 輸入-encoding utf-8,可解決編碼問題進行編譯 cmd -> javac -encoding utf8 -classpath(縮寫可以用cp) 外部檔檔名.jar(絕對路徑) 檔名.java(絕對路徑) ->執行要先cd 回package的上一層, 再輸入java -cp 外部檔檔名.jar(絕對路徑); package名稱.檔名

學完編譯成.class檔之後,就可把 編譯過的程式打包成jar檔, 跟執行jar檔的方法

1. 先建立一個manifest.mf的檔案裏面的名稱都要後面空一格, 若接資料夾要用點去接, 內容如下: 👇👇👇👇👇👇

1)Main-Class: hellojava(跟package名稱要一致).Hello(檔名就好)

2)Class-Path: commons-io-2.6.jar (當有要引進外部套件進行打包)

3)要有空行

4)要有空行

2. 建立一個hellojava資料夾把編譯出來的class檔都放入

3. cmd-> jar cvfm 壓縮檔名.jar manifest.mf 資料夾名稱/檔名.class commons-io-2.6.jar(相對位置)

c: 創建一個新的jar檔, v: 會列出壓縮狀態(也可以不要) f: 指定jar包檔名, m: 指定manifest.mf檔案

4.進行執行jar檔輸入指令java -jar 檔名.jar

若要用.bat檔可以直接執行, 建立各個檔案, 內容是cmd的執行指令, 副檔名用.bat就可完成。

來寫個小程式做 Email信箱驗證,使用Matcher跟Pattern

要導入import java.util.regex.Matcher 跟 import java.util.regex.Pattern去做驗證

Pattern p = Pattern.compile(regex);

Matcher m = p.matcher(email);

boolean b = m.find();

也可直接寫Pattern.matches(regex, email)

regex的驗證如: “^[a-z0–9]{1,20}(\\.)?[a-z0–9]+@[a-zA-Z0–9]{2,20}([\\-])?([\\w]+)[\\.][a-zA-Z]{2,5}(\\.[a-zA-Z]{2,5})?(\\.[a-zA-Z]{2,5})?$”

^開頭 \w{1, 63} 為大小寫字母、數字、底線, 至少1–63字元, +表示至少要有一個字元以上, *表示至少0以上字元, [\\.|\\-]必須要有.或是-, (\.[a-zA-Z]{2,63})?為問號代表括弧內的字元可有可無, $為結束位置。

--

--

Luke

想在自己的人生做一些轉變讓自己不一樣,努力學習,努力成長,加油。