2020-08-14
Java培訓(xùn)
好程序員Java培訓(xùn)分享學(xué)Java編程要注意什么?Java是一個(gè)多功能的編程語言,在某種程度上,它用在幾乎所有可能涉及計(jì)算機(jī)的行業(yè)了里。Java比較的大優(yōu)勢(shì)是,它運(yùn)行在一個(gè)Java虛擬機(jī)(JVM)中,這是一個(gè)翻譯Java代碼為與操作系統(tǒng)兼容的字節(jié)碼的層。只要有JVM 存在于你的操作系統(tǒng)上——不管這個(gè)操作系統(tǒng)是在一個(gè)服務(wù)器(或“無服務(wù)器”,也是同樣的)、桌面電腦、筆記本電腦、移動(dòng)設(shè)備,或嵌入式設(shè)備 —— 那么,Java應(yīng)用程序就可以運(yùn)行在它上面。
這使得Java成為程序員和用戶的一種流行語言。程序員知道,他們只需要寫一個(gè)軟件版本就能最終得到一個(gè)可以運(yùn)行在任何平臺(tái)上的應(yīng)用程序;用戶知道,應(yīng)用程序可以運(yùn)行在他們的計(jì)算機(jī)上,而不用管他們使用的是什么樣的操作系統(tǒng)。
很多語言和框架是跨平臺(tái)的,但是沒有實(shí)現(xiàn)同樣的抽象層。使用Java,你針對(duì)的是JVM,而不是操作系統(tǒng)。對(duì)于程序員,當(dāng)面對(duì)一些編程難題時(shí),這是阻力最小的線路,但是它僅在當(dāng)你知道如何編程Java時(shí)有用。如果你剛開始學(xué)習(xí)Java編程,這里有你需要知道的七個(gè)基礎(chǔ)的提示。
但是,首先,如果你不確定是否你安裝了Java ,你可以在一個(gè)終端(例如Bash或 PowerShell )中找出來,通過運(yùn)行:
$ java --version
openjdk 12.0.2 2019-07-16
OpenJDK Runtime Environment 19.3 (build 12.0.2+9)
OpenJDK 64-Bit Server VM 19.3 (build 12.0.2+9, mixed mode, sharing)
如果你得到一個(gè)錯(cuò)誤,或未返回任何東西,那么你應(yīng)該安裝 Java 開發(fā)套件 (JDK)來開始 Java 開發(fā)。或者,安裝一個(gè)Java運(yùn)行時(shí)環(huán)境(JRE),如果你只是需要來運(yùn)行Java應(yīng)用程序。
1、Java軟件包
在 Java語言中,相關(guān)的類被分組到一個(gè)軟件包中。當(dāng)你下載 JDK 時(shí)所獲得的 Java 基礎(chǔ)庫將被分組到以 java 或 javax 開頭的軟件包中。軟件包提供一種類似于計(jì)算機(jī)上的文件夾的功能:它們?yōu)橄嚓P(guān)的元素提供結(jié)構(gòu)和定義(以編程術(shù)語說,命名空間)。額外的軟件包可以從獨(dú)立開發(fā)者、開源項(xiàng)目和商業(yè)供應(yīng)商獲得,就像可以為任何編程語言獲得庫一樣。
當(dāng)你寫一個(gè) Java 程序時(shí),你應(yīng)該在你的代碼是頂部聲明一個(gè)軟件包名稱。如果你只是編寫一個(gè)簡(jiǎn)單的應(yīng)用程序來入門 Java,你的軟件包名稱可以簡(jiǎn)單地用你的項(xiàng)目名稱。如果你正在使用一個(gè) Java 集成開發(fā)環(huán)境,如 Eclipse ,當(dāng)你啟動(dòng)一個(gè)新的項(xiàng)目時(shí),它為你生成一個(gè)合乎情理的軟件包名稱。
package helloworld;
/**
* @author seth
* An application written in Java.
*/
除此之外,你可以通過查找它相對(duì)于你的項(xiàng)目整體的路徑來確定你的軟件包名稱。例如,如果你正在寫一組類來幫助游戲開發(fā),并且該集合被稱為 jgamer,那么你可能在其中有一些唯一的類。
package jgamer.avatar;
/**
* @author seth
* An imaginary game library.
*/
你的軟件包的頂層是jgamer,并且在其內(nèi)部中每個(gè)軟件包都是一個(gè)獨(dú)立的派生物,例如jgamer.avatar和jgamer.score 等等。在你的文件系統(tǒng)里,其目錄結(jié)構(gòu)反映了這一點(diǎn),jgamer是包含文件avatar.java和score.java的dingji目錄。
2、Java導(dǎo)入
作為一名通曉多種語言的程序員,比較大的樂趣是找出是否用 include、import、use、require,或一些其它術(shù)語來引入你不管使用何種編程語言編寫的庫。在 Java 中,順便說一句,當(dāng)導(dǎo)入你的代碼的需要的庫時(shí),使用import關(guān)鍵字。
package helloworld;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
/**
* @author seth
* A GUI hello world.
*/
導(dǎo)入是基于該環(huán)境的 Java 路徑。如果 Java 不知道 Java 庫存儲(chǔ)在系統(tǒng)上的何處,那么,就不能成功導(dǎo)入。只要一個(gè)庫被存儲(chǔ)在系統(tǒng)的 Java 路徑中,那么導(dǎo)入能夠成功,并且?guī)炷軌虮挥糜跇?gòu)建和運(yùn)行一個(gè) Java 應(yīng)用程序。
如果一個(gè)庫并不在 Java 路徑中(因?yàn)椋?,你正在寫你自己的?,那么該庫可以與你的應(yīng)用程序綁定在一起(協(xié)議許可),以便導(dǎo)入可以按預(yù)期地工作。
3、Java 類
Java 類使用關(guān)鍵字 public class 聲明,以及一個(gè)唯一的對(duì)應(yīng)于它的文件名的類名。例如,在項(xiàng)目 helloworld 中的一個(gè)文件 Hello.java 中:
package helloworld;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
/**
* @author seth
* A GUI hello world.
*/
public class Hello {
// this is an empty class
}
你可以在一個(gè)類內(nèi)部聲明變量和函數(shù)。在 Java 中,在一個(gè)類中的變量被稱為字段。
4、Java 方法
Java 的方法本質(zhì)上是對(duì)象中的函數(shù)?;陬A(yù)期返回的數(shù)據(jù)類型(例如 void、int、float 等等),它們被定義為 public(意味著它們可以被任何其它類訪問)或 private(限制它們的使用)。
public void helloPrompt(ActionEvent event) {
String salutation = "Hello %s";
string helloMessage = "World";
message = String.format(salutation, helloMessage);
JOptionPane.showMessageDialog(this, message);
}
private int someNumber (x) {
return x*2;
}
當(dāng)直接調(diào)用一個(gè)方法時(shí),以其類和方法名稱來引用。例如,Hello.someNumber 指向在 Hello 類中的 someNumber 方法。
5、static
Java 中的 static 關(guān)鍵字使代碼中的成員可以獨(dú)立于包含其的對(duì)象而被訪問。
在面向?qū)ο缶幊讨?,你編寫的代碼用作“對(duì)象”的模板,這些對(duì)象在應(yīng)用程序運(yùn)行時(shí)產(chǎn)生。例如,你不需要編寫一個(gè)具體的窗口,而是編寫基于 Java 中的窗口類的窗口實(shí)例(并由你的代碼修改)。由于在應(yīng)用程序生成它的實(shí)例之前,你編寫的所有代碼都不會(huì)“存在”,因此在創(chuàng)建它們所依賴的對(duì)象之前,大多數(shù)方法和變量(甚至是嵌套類)都無法使用。
然而,有時(shí),在對(duì)象被通過應(yīng)用程序創(chuàng)建前,你需要訪問或使用其中的數(shù)據(jù)。(例如,除非事先知道球是紅色時(shí),應(yīng)用程序無法生成一個(gè)紅色的球)。對(duì)于這些情況,請(qǐng)使用 static 關(guān)鍵字。
6、try和catch
Java擅長(zhǎng)捕捉錯(cuò)誤,但是,只有你告訴它遇到錯(cuò)誤時(shí)該做什么,它才能優(yōu)雅地恢復(fù)。在 Java中,嘗試執(zhí)行一個(gè)動(dòng)作的級(jí)聯(lián)層次結(jié)構(gòu)以try開頭,出現(xiàn)錯(cuò)誤時(shí)回落到catch,并以 finally 結(jié)束。如果try子句失敗,則將調(diào)用catch,最后,不管結(jié)果如何,總是由finally來執(zhí)行一些合理的動(dòng)作。這里是一個(gè)示例:
try {
cmd = parser.parse(opt, args);
if(cmd.hasOption("help")) {
HelpFormatter helper = new HelpFormatter();
helper.printHelp("Hello ", opt);
System.exit(0);
}
else {
if(cmd.hasOption("shell") || cmd.hasOption("s")) {
String target = cmd.getOptionValue("tgt");
} // else
} // fi
} catch (ParseException err) {
System.out.println(err);
System.exit(1);
} //catch
finally {
new Hello().helloWorld(opt);
} //finally
} //try
這是一個(gè)健壯的系統(tǒng),它試圖避免無法挽回的錯(cuò)誤,或者,至少,為你提供讓用戶提交有用的反饋的選項(xiàng)。經(jīng)常使用它,你的用戶將會(huì)感謝你!
7、運(yùn)行Java應(yīng)用程序
Java文件,通常以 .java結(jié)尾,理論上說,可以使用java命令運(yùn)行。然而,如果一個(gè)應(yīng)用程序很復(fù)雜,運(yùn)行一個(gè)單個(gè)文件是否會(huì)產(chǎn)生有意義的結(jié)果是另外一個(gè)問題。
來直接運(yùn)行一個(gè) .java 文件:
$ java ./Hello.java
通常,Java 應(yīng)用程序以 Java 存檔(JAR)文件的形式分發(fā),以 .jar 結(jié)尾。一個(gè) JAR 文件包含一個(gè)清單文件(可以指定主類、項(xiàng)目結(jié)構(gòu)的一些元數(shù)據(jù)),以及運(yùn)行應(yīng)用程序所需的所有代碼部分。
要運(yùn)行一個(gè) JAR 文件,你可以雙擊它的圖標(biāo)(取決于你的操作系統(tǒng)設(shè)置),你也可以從終端中啟動(dòng)它:
$ java -jar ./Hello.jar
適合所有人的Java
Java是一種強(qiáng)大的語言,由于有了OpenJDK項(xiàng)目及其它的努力,它是一種開放式規(guī)范,允許像IcedTea、Dalvik和Kotlin項(xiàng)目的茁壯成長(zhǎng)。學(xué)習(xí)Java是一種準(zhǔn)備在各種行業(yè)中工作的好方法,而且,使用Java的理由很多 。
開班時(shí)間:2021-04-12(深圳)
開班盛況開班時(shí)間:2021-05-17(北京)
開班盛況開班時(shí)間:2021-03-22(杭州)
開班盛況開班時(shí)間:2021-04-26(北京)
開班盛況開班時(shí)間:2021-05-10(北京)
開班盛況開班時(shí)間:2021-02-22(北京)
開班盛況開班時(shí)間:2021-07-12(北京)
預(yù)約報(bào)名開班時(shí)間:2020-09-21(上海)
開班盛況開班時(shí)間:2021-07-12(北京)
預(yù)約報(bào)名開班時(shí)間:2019-07-22(北京)
開班盛況Copyright 2011-2023 北京千鋒互聯(lián)科技有限公司 .All Right 京ICP備12003911號(hào)-5 京公網(wǎng)安備 11010802035720號(hào)