Java零基礎(chǔ)教程視頻(零基礎(chǔ)學(xué)Java必刷,適合Java 0基礎(chǔ),Java初學(xué)

P15-P23筆記分享給大家
第一個Java程序(掌握)
JDK下載和安裝(windows)
以下是詳細(xì)的步驟:
1、下載JDK17安裝文件
在Oracle官網(wǎng)下載JDK17的安裝文件,下載地址為:https://www.oracle.com/java/technologies/downloads/#jdk17-windows 。根據(jù)你的操作系統(tǒng)版本和位數(shù),選擇相應(yīng)的安裝文件進(jìn)行下載。
2、運(yùn)行安裝程序
雙擊下載的安裝文件,啟動安裝程序。在彈出的安裝程序窗口中,點(diǎn)擊“Next”按鈕,開始安裝。
3、選擇安裝路徑
在彈出的“Custom Setup”窗口中,選擇JDK17的安裝路徑。建議選擇默認(rèn)路徑,也可以根據(jù)需要進(jìn)行自定義路徑設(shè)置。點(diǎn)擊“Next”按鈕繼續(xù)。
4、安裝組件
在彈出的“Custom Setup”窗口中,選擇需要安裝的組件。建議選擇全部組件,以確保安裝的完整性。點(diǎn)擊“Next”按鈕繼續(xù)。
5、等待安裝完成
在彈出的“Ready to Install”窗口中,點(diǎn)擊“Install”按鈕,開始安裝。安裝程序會自動完成安裝,需要等待一段時間。
6、配置環(huán)境變量PATH
在安裝完成后,需要將JDK17的安裝路徑添加到環(huán)境變量中,使其可以被系統(tǒng)識別。具體操作步驟如下:
●右鍵點(diǎn)擊“我的電腦”或“此電腦”圖標(biāo),選擇“屬性”。
●在彈出的窗口中,選擇“高級系統(tǒng)設(shè)置”。
●在彈出的“系統(tǒng)屬性”窗口中,選擇“高級”選項(xiàng)卡,點(diǎn)擊“環(huán)境變量”按鈕。
●在彈出的“環(huán)境變量”窗口中,找到“系統(tǒng)變量”中的“Path”變量,點(diǎn)擊“編輯”按鈕。
●在彈出的“編輯環(huán)境變量”窗口中,點(diǎn)擊“新建”按鈕,添加JDK17的安裝路徑。例如:C:\Program Files\Java\jdk-17。
●點(diǎn)擊“確定”按鈕,保存設(shè)置
7、驗(yàn)證安裝
打開命令行窗口,輸入“java -version”命令,如果輸出JDK17的版本信息,則安裝成功。如果未能輸出版本信息,則需要重新檢查環(huán)境變量的設(shè)置是否正確。
JDK下載和安裝(macOS)
以下是詳細(xì)的步驟:
1、下載地址:https://www.oracle.com/java/technologies/downloads/#jdk17-mac

2、下載后的dmg文件

3、雙擊dmg安裝包

4、雙擊pkg文件后,一步一步安裝即可




5、安裝完畢后,打開終端,輸入java -version,然后輸入javac -version,如下圖顯示表示安裝成功了

如果你的macOS上曾經(jīng)安裝過JDK其他版本,如果你想讓系統(tǒng)默認(rèn)使用你安裝的最新的JDK17,你還需要按照以下步驟設(shè)置環(huán)境變量JAVA_HOME
1、打開終端,輸入以下命令查看JDK的安裝路徑:
/usr/libexec/java_home -v 17
2、復(fù)制上述命令輸出的路徑,例如:
/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
3、打開終端,輸入以下命令打開.bash_profile文件:
sudo vim ~/.bash_profile
4、在.bash_profile文件中添加以下內(nèi)容:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
export PATH=$PATH:$JAVA_HOME/bin
重點(diǎn):在 ~/.bash_profile 文件中添加以上內(nèi)容后,按ESC鍵,輸入:wq,保存退出。
5、保存并關(guān)閉.bash_profile文件,輸入以下命令使配置生效:
source ~/.bash_profile
6、輸入以下命令測試JAVA_HOME環(huán)境變量是否配置成功:
echo $JAVA_HOME
如果輸出的路徑與步驟2中復(fù)制的路徑一致,則說明配置成功。
JDK目錄說明
1、bin目錄:包含JDK17的可執(zhí)行文件,如java、javac、javadoc等。
2、conf目錄:包含JDK17的配置文件,如Java安全策略文件、JVM配置文件等。
3、include目錄:包含頭文件,用于開發(fā)C和C++應(yīng)用程序。
4、jmods目錄:包含模塊化的JDK17組件,使得開發(fā)者可以更方便地構(gòu)建和管理應(yīng)用程序。
5、legal目錄:包含JDK17的相關(guān)法律文件和許可證信息。
6、lib目錄:包含JDK17的類庫和其他支持文件,如JVM庫、JDBC驅(qū)動程序等。
7、release文件:包含JDK17的版本信息和發(fā)布說明。
8、src.zip文件:包含JDK17的源代碼,用于開發(fā)者進(jìn)行Java開發(fā)。
9、README文件:包含JDK17的安裝說明和使用指南。
10、LICENSE文件:包含JDK17的許可證信息,開發(fā)者需要了解并遵守相關(guān)規(guī)定。
編寫第一個Java程序
在任意位置新建HelloWorld.java文件,注意:必須確保該文件的擴(kuò)展名是:.java,然后使用任意一個文本編輯器打開并編寫如下代碼。代碼要嚴(yán)格照抄,包括大小寫、換行、縮進(jìn)等,總之,要和以下代碼一模一樣:
public class HelloWorld {
??public static void main(String[] args){
????System.out.println("動力節(jié)點(diǎn)始于2009,一家只教授Java的培訓(xùn)機(jī)構(gòu)");
??}
}
編譯第一個Java程序
使用javac命令進(jìn)行編譯。javac命令是Java編譯器命令,用于將Java源代碼文件編譯成Java字節(jié)碼文件。下面是javac命令的詳細(xì)用法: 基本用法:
javac [options] [source files]
其中,[options]表示編譯選項(xiàng),[source files]表示要編譯的Java源代碼文件。 常用選項(xiàng)(以下選項(xiàng)對于初學(xué)者來說只要了解一下 -d 即可,其他選項(xiàng)以后再說):
●-classpath <path>:指定類路徑,多個路徑之間用分號(Windows)或冒號(Unix/Linux/Mac)分隔。
●-d <directory>:指定輸出目錄,編譯后的字節(jié)碼文件將保存在該目錄下。
●-verbose:顯示編譯詳細(xì)信息。
●-nowarn:禁用警告信息。
●-source <version>:指定源代碼版本,例如1.8。
●-target <version>:指定生成的字節(jié)碼版本,例如1.8。
●-help:顯示幫助信息。
要點(diǎn):javac命令后面跟的是java源文件的路徑。路徑可以是絕對路徑,也可以是相對路徑。 編譯成功后會生成.class字節(jié)碼文件。
運(yùn)行第一個Java程序
這里有一個非常重要的步驟:首先在DOS命令窗口中將路徑切換到class文件所在位置。這一步非常關(guān)鍵。 然后執(zhí)行以下命令:
java 類名
運(yùn)行Java程序需要使用的命令是:java java命令怎么用?java命令后面跟的是“類名”,而不是文件的路徑。 什么是類名:A.class則類名為A;B.class則類名為B;HelloWorld.class則類名為HelloWorld 運(yùn)行成功后,會打印這樣一句話:動力節(jié)點(diǎn)始于2009,一家只教授Java的培訓(xùn)機(jī)構(gòu)
理解環(huán)境變量CLASSPATH
1、CLASSPATH是一個環(huán)境變量。隸屬于Java。(之前接觸過的PATH也是一個環(huán)境變量,隸屬于windows系統(tǒng)的。)
2、CLASSPATH環(huán)境變量是給JVM的類加載器指路的。
3、如果CLASSPATH沒有配置的話,默認(rèn)從當(dāng)前路徑下查找并加載類。
4、如果顯示的配置了CLASSPATH的話,只會從配置的CLASSPATH中加載類。不再從當(dāng)前路徑下加載。
Java注釋(掌握)
注釋有什么用
Java中的注釋是用于解釋和說明代碼的文本,它不會被編譯器編譯,也不會被程序執(zhí)行。注釋的作用如下:
1、代碼的解釋說明:注釋可以解釋代碼的功能,作用,實(shí)現(xiàn)方法等,讓其他程序員更容易理解代碼。
2、代碼的調(diào)試:在程序調(diào)試的過程中,注釋可以幫助程序員快速定位問題所在。
3、文檔生成:注釋可以用于自動生成文檔,方便其他人閱讀和使用代碼。
4、
代碼的維護(hù):注釋可以幫助程序員更好地維護(hù)代碼,防止出現(xiàn)不必要的錯誤。
總之,注釋是程序設(shè)計中的重要工具,能夠提高代碼的可讀性和可維護(hù)性,減少程序錯誤。
怎么寫好注釋
寫好注釋需要一定的技巧和經(jīng)驗(yàn),以下是一些寫好注釋的技巧:
1、注釋要簡潔明了。注釋應(yīng)該簡短、精煉、易于理解,不要冗長、重復(fù)或者難以理解。
2、注釋要準(zhǔn)確無誤。注釋必須準(zhǔn)確描述代碼的功能、參數(shù)、返回值、限制條件等,不能有誤導(dǎo)性的描述。
3、注釋要規(guī)范化。注釋應(yīng)該遵循一定的規(guī)范,如使用特定的注釋格式、標(biāo)記、縮進(jìn)等,以便于其他程序員閱讀和維護(hù)。
4、注釋要適當(dāng)。注釋應(yīng)該適當(dāng)?shù)厥褂?,不要在每一行代碼都加注釋,也不要在顯而易見的代碼上浪費(fèi)注釋。
5、注釋要更新。注釋應(yīng)該及時更新,反映代碼的變化和更新,避免注釋與代碼不一致。
6、注釋要有意義。注釋應(yīng)該有意義,能夠解釋代碼的意圖和目的,幫助其他程序員理解代碼的設(shè)計思想。
總之,寫好注釋需要結(jié)合實(shí)際情況,遵循規(guī)范,注重準(zhǔn)確性和簡潔性,適當(dāng)使用,及時更新,有意義的描述代碼的設(shè)計思想和實(shí)現(xiàn)方法。
java中的三種注釋
Java中有三種常見的注釋寫法:單行注釋、多行注釋和文檔注釋。
1、單行注釋:以“//”開頭,注釋內(nèi)容在“//”后面,一直到該行結(jié)束。例如:
// 這是一個單行注釋
2、多行注釋:以“/*_”開頭,“*_/”結(jié)尾,注釋內(nèi)容在兩個符號之間。例如:
/*
這是一個多行注釋
可以寫多行內(nèi)容
*/
3、文檔注釋:以“/**”開頭,“*/”結(jié)尾,注釋內(nèi)容在兩個符號之間。文檔注釋是一種特殊的注釋,用于生成API文檔。例如:
/**
?* 這是一個文檔注釋,用于生成API文檔。
?* 可以寫多行內(nèi)容,包括HTML標(biāo)簽。
?*/
文檔注釋中可以使用特殊的標(biāo)簽來表示注釋內(nèi)容的含義,例如:
●@author:指定作者。
●@version:指定當(dāng)前代碼版本。
使用文檔注釋可以為代碼編寫清晰、易懂、規(guī)范的API文檔,方便其他開發(fā)人員閱讀和使用。
javadoc命令
有這樣一段代碼注釋的程序:
/**
?* 這是一個簡單的Java HelloWorld程序。
?*?
?* @author :張三
?* @version :1.0
?*/
public class HelloWorld {
??
?/**
??* 這是主方法,用于將消息“Hello, World!”輸出到控制臺。
??*?
??* @param args 未使用的命令行參數(shù)。
??*/
?public static void main(String[] args) {
??System.out.println("Hello, World!");
?}
??
}
使用javadoc命令生成API文檔:
1、打開命令行工具,進(jìn)入HelloWorld.java文件所在的目錄。
2、輸入以下命令:
javadoc HelloWorld.java
3、執(zhí)行命令后,javadoc會在當(dāng)前目錄下生成一個名為“doc”的文件夾,其中包含了生成的API文檔。
4、打開“doc”文件夾,找到“index.html”文件,用瀏覽器打開即可查看生成的API文檔。
解釋HelloWorld
當(dāng)我們學(xué)習(xí)一門新語言時,通常第一步就是編寫一個簡單的“Hello, World!”程序。這個程序的目的是打印出一條簡單的問候語,以證明我們已經(jīng)成功地安裝了編程環(huán)境并能夠編寫并運(yùn)行程序。 在Java中,HelloWorld程序通常如下所示:
public class HelloWorld {
??public static void main(String[] args) {
????System.out.println("Hello, World!");
??}
}
讓我們逐行分解一下這個程序:
1、public class HelloWorld { - 這一行定義了一個名為“HelloWorld”的公共類。Java中的每個程序都必須有一個公共類,并且該類的名稱必須與程序的文件名相同。
2、public static void main(String[] args) { - 這是程序的主方法。在Java中,每個程序都必須有一個名為“main”的方法,作為程序的入口點(diǎn)。它必須是一個公共、靜態(tài)的方法,并且接受一個字符串?dāng)?shù)組作為參數(shù)。
3、System.out.println("Hello, World!"); - 這一行使用Java的標(biāo)準(zhǔn)輸出函數(shù)打印出一條問候語。
在運(yùn)行這個程序時,Java虛擬機(jī)將首先查找名為“HelloWorld”的類,并且將在該類中查找名為“main”的方法。一旦找到該方法,它將執(zhí)行其中的代碼,并且將“Hello, World!”打印到控制臺上。
總之,HelloWorld程序是一個簡單的入門示例,它向我們展示了Java程序的基本結(jié)構(gòu)和語法。
public class與class的區(qū)別(掌握)
1、一個java源文件中可以定義多個class
2、一個class會編譯生成一個class文件
3、public的類可以沒有,有的話,只能有一個,并且public的類名要和源文件名保持一致
4、任何一個class中都可以有main方法,但對于一個軟件來說,一般入口只有一個
本章練習(xí)題
打印你的個人信息
包括:姓名,年齡,性別,家庭住址,聯(lián)系電話等

public class PersonalInfo {
??public static void main(String[] args) {
????System.out.println("姓名:張三");
????System.out.println("年齡:25");
????System.out.println("性別:男");
????System.out.println("家庭住址:北京市海淀區(qū)");
????System.out.println("聯(lián)系電話:13888888888");
??}
}
打印一個菱形

public class Diamond {
??public static void main(String[] args) {
????System.out.println("??*??");
????System.out.println("??***??");
????System.out.println("?*****?");
????System.out.println(" ******* ");
????System.out.println("*********");
????System.out.println(" ******* ");
????System.out.println("?*****?");
????System.out.println("??***??");
????System.out.println("??*??");
??}
}
打印商品列表

public class ProductList {
??public static void main(String[] args) {
????System.out.println("Product\t\tPrice\tStock");
????System.out.println("Apple\t\t3.5\t10");
????System.out.println("Banana\t\t2.5\t20");
????System.out.println("Orange\t\t4.0\t15");
????System.out.println("Watermelon\t5.0\t5");
????System.out.println("Grape\t\t6.0\t8");
??}
}
本章面試題
你認(rèn)為Java是解釋型語言還是編譯型語言?
Java既不是純解釋型語言,也不是純編譯型語言,而是一種混合型語言。Java源代碼首先會被編譯成字節(jié)碼文件,字節(jié)碼文件不是針對特定的硬件和操作系統(tǒng)而編譯的,而是針對Java虛擬機(jī)(JVM)而編譯的。字節(jié)碼文件在運(yùn)行時由JVM解釋執(zhí)行,JVM會將字節(jié)碼文件轉(zhuǎn)換為機(jī)器碼并執(zhí)行,這樣就可以實(shí)現(xiàn)跨平臺性,使得Java程序可以在任何安裝了JVM的計算機(jī)上運(yùn)行。因此,Java是一種混合型語言,它既具備編譯型語言的高效性,又具備解釋型語言的跨平臺性。
Java是如何做到跨平臺的,請說出你的理解?
Java是一種基于虛擬機(jī)的編程語言,它的跨平臺性是通過Java虛擬機(jī)(JVM)實(shí)現(xiàn)的。Java程序在編譯時會被編譯成字節(jié)碼,而不是直接編譯成機(jī)器語言。這些字節(jié)碼可以在任何支持Java虛擬機(jī)的平臺上運(yùn)行,包括Windows、Mac、Linux等操作系統(tǒng)。 Java虛擬機(jī)是一個抽象的計算機(jī),它提供了一個獨(dú)立于硬件平臺的運(yùn)行環(huán)境。當(dāng)Java程序在不同的操作系統(tǒng)上運(yùn)行時,JVM會將字節(jié)碼解釋成機(jī)器碼,從而實(shí)現(xiàn)跨平臺運(yùn)行。這種機(jī)制保證了Java程序在不同平臺上的一致性和可移植性。 總的來說,Java的跨平臺性是通過將程序編譯成字節(jié)碼,再由Java虛擬機(jī)解釋執(zhí)行實(shí)現(xiàn)的。這種機(jī)制使得Java程序可以在不同平臺上運(yùn)行,無需重新編譯。
請解釋一下Java中的類路徑是什么?
Java中的類路徑(Classpath)是指JVM在搜索類文件(.class文件)時所使用的路徑。在Java中,當(dāng)需要加載一個類時,JVM會按照一定的順序在類路徑中查找該類的字節(jié)碼文件。如果找到了該文件,則會加載該類并創(chuàng)建相應(yīng)的對象。 類路徑可以由多個路徑組成,路徑之間用分號(Windows系統(tǒng))或者冒號(Unix/Linux系統(tǒng))分隔。在Java中,類路徑可以分為系統(tǒng)類路徑和用戶類路徑。 系統(tǒng)類路徑是JVM默認(rèn)的類路徑,它包含了Java運(yùn)行環(huán)境中的核心類庫和擴(kuò)展類庫。系統(tǒng)類路徑可以通過系統(tǒng)屬性"java.class.path"來獲得。 用戶類路徑是用戶自定義的類路徑,它包含了用戶自己編寫的類文件和第三方庫文件。用戶類路徑可以通過"-classpath"或"-cp"選項(xiàng)指定,也可以通過設(shè)置系統(tǒng)環(huán)境變量CLASSPATH來指定。 通常情況下,Java程序的類文件都位于用戶類路徑中,而核心類庫和擴(kuò)展類庫位于系統(tǒng)類路徑中。在編寫Java程序時,需要根據(jù)實(shí)際情況配置類路徑,以確保程序能夠正常運(yùn)行。
Java字節(jié)碼是機(jī)器碼嗎?
Java字節(jié)碼不是機(jī)器碼。Java源代碼在編譯時會被編譯成Java字節(jié)碼(.class文件),而不是直接編譯成機(jī)器碼。Java字節(jié)碼是一種中間代碼,它是一種平臺無關(guān)的二進(jìn)制代碼,可以在任何支持Java虛擬機(jī)(JVM)的平臺上運(yùn)行。 Java字節(jié)碼是由Java編譯器生成的一種二進(jìn)制文件,它包含了Java源代碼編譯后的中間代碼,而不是機(jī)器碼。Java字節(jié)碼可以被JVM解釋執(zhí)行,JVM會將字節(jié)碼解釋成機(jī)器碼,從而實(shí)現(xiàn)跨平臺運(yùn)行。 Java字節(jié)碼的優(yōu)點(diǎn)是可以在不同平臺上運(yùn)行,而不需要重新編譯。這種機(jī)制使得Java程序具有很強(qiáng)的可移植性和跨平臺性。但是,由于Java字節(jié)碼需要被JVM解釋執(zhí)行,因此Java程序的執(zhí)行速度相對較慢。
本章總結(jié)
1、計算機(jī)的核心硬件是什么?各自有什么用?
2、軟件分為哪兩類?
3、你知道哪些系統(tǒng)軟件?
4、你知道哪些應(yīng)用軟件?
5、計算機(jī)語言發(fā)展的大體趨勢是怎樣的?
6、Java之父的名字是?logo是?
7、Java中被長期支持的穩(wěn)定版本是?
8、Java語言的三大分支?
9、Java中非常重要的兩個特性是?
10、能夠簡單的描述出Java的加載與執(zhí)行的過程。
11、能夠獨(dú)立的編寫第一個Java程序,從安裝JDK,到配置環(huán)境變量,到編寫,到編譯,到最終的運(yùn)行。
12、能夠完全理解PATH環(huán)境變量
13、能夠完全理解CLASSPATH環(huán)境變量
14、Java注釋的三種寫法?
15、了解javadoc命令
16、一個文件中可以定義多個class,一個class會生成一個class文件
17、public的類可以沒有,但如果有,只能有一個,并且和源文件名一致
18、任何一個class中都可以有main方法,但對于一個軟件來說,一般入口只有一個