天天看點

Dos指令與Java

1、打開DOS指令視窗,執行java HelloWorld,執行原理?

* java.exe指令會啟動JVM
* JVM啟動之後會啟動類加載器ClassLoader
* ClassLoader會在硬碟上的某個位置搜尋HelloWorld.class位元組碼檔案
* 找到該檔案則執行
* 找不到該檔案則報錯

疑問:ClassLoader是在哪個位置上搜尋HelloWorld.class位元組碼檔案的?
	* 預設情況下,ClassLoader從目前路徑下加載xxx.class位元組碼檔案
	* 當然,也可以讓ClassLoader去某個指定的路徑下加載位元組碼檔案,這時需要配置環境變量classpath
	* classpath環境變量屬于java語言中的環境變量,不屬于windows作業系統【PATH環境變量屬于作業系統】
	* classpath是給ClassLoader類加載器指路的。
	* 設定這樣的環境變量:classpath=D:\course\JavaProjects\02-JavaSE\day02
		- 打開dos指令視窗在任意位置,都可以執行:java HelloWorld
	* classpath環境變量沒有配置的話,類加載器預設從目前路徑下找位元組碼檔案,
	當classpath環境變量配置為某個指定的路徑之後,類加載器隻去指定的路徑當中加載位元組碼檔案。
	* 綜上所述,環境變量classpath不再配置,這樣類加載器會自動從目前路徑下加載class位元組碼檔案。
	是以,每一次執行.class程式的時候,需要在DOS指令視窗中先切換到.class位元組碼檔案所在的路徑下。
	然後運作。
	* 當然,classpath也可以這樣配置:classpath=.

	注意:
		路徑中“..”表示上級目錄
		路徑中“.”表示目前目錄
           

2、關于java源程式當中的注釋:

* 什麼是注釋?注釋的作用是什麼?
	- 出現在java的源程式當中,對java源代碼的解釋說明
	- 注釋不會被編譯到.class位元組碼檔案當中
	- 一個好的開發習慣應該是多編寫注釋,這樣程式的可讀性比較強。

* java中的注釋怎麼寫呢?
	- 單行注釋
		//單行注釋,隻注釋目前行

	- 多行注釋
		/*
			多行注釋
			多行注釋
			多行注釋
			多行注釋
			多行注釋
			.....
		*/

	- javadoc注釋
		/**
		*	javadoc注釋
		*	javadoc注釋
		*	javadoc注釋
		*	javadoc注釋
		*	javadoc注釋
		*	javadoc注釋
		*/
		注意:這種注釋是比較專業的注釋,該注釋資訊會被javadoc.exe工具解析提取并生成幫助文檔。
           

3、對HelloWorld程式進行解釋:

​ 需要記憶:

​ * public

​ * class

​ * static

​ * void

​ * System.out.println(""); 向控制台輸出消息

​ * 類體

​ * 方法體

​ * 類體中不能直接編寫java語句【除聲明變量之外】

​ * 一個java語句必須以“;”結束

​ * 方法體中可以編寫多條java語句

​ * 主方法是程式的入口,固定寫法,SUN規定的。

## 4、public class 和 class的差別:


* 一個java源檔案當中可以定義多個class

* 一個java源檔案當中public的class不是必須的

* 一個class會定義生成一個xxx.class位元組碼檔案

* 一個java源檔案當中定義公開的類的話,隻能有一個,并且該類名稱必須和java源檔案名稱一緻。

* 每一個class當中都可以編寫main方法,都可以設定程式的入口,想執行B.class中的main方法:java B,
想執行X.class當中的main方法:java X

* 注意:當在指令視窗中執行java Hello,那麼要求Hello.class當中必須有主方法。沒有主方法會出現運作
階段的錯誤:
	D:\course\JavaProjects\02-JavaSE\day02>java Hello
	錯誤: 在類 B 中找不到主方法, 請将主方法定義為:
		public static void main(String[] args)
           

5、總結第一章需要掌握的内容:

* 了解java的加載與執行
* 能夠自己搭建java的開發環境
* 能夠獨立編寫HelloWorld程式,編譯并運作
* 掌握環境變量path的原理以及如何配置
* 掌握環境變量classpath的原理以及如何配置
* java中的注釋
* public class 和 class 的差別