java第一个程序编译失败,零基础java第一个程序HelloWorld,编译,环境变量,运行,注释...
1、開發第一個java程序:HelloWorld
public class HelloWorld{ // 這是一個類,類名叫做HelloWorld
public static void main(String[] args){ //主方法入口
System.out.println("Hello World");
System.out.println("我的第一個程序");
}
}
1.1、程序寫完之后,一定要ctrl + s 進行保存
第一個HelloWorld程序照抄就行了,不要問代碼為什么這么寫。
另外,大家需要注意的是:java源代碼只要修改,必須重新編譯。
重新編譯生成新的class字節碼文件。
1.2、編譯階段
怎么編譯?使用什么命令?這個命令怎么用?
需要使用的命令是:C:\Program Files\Java\jdk-13.0.2\bin\javac.exe
這個命令需要先測試一下,打開DOS命令窗口,看看javac命令是否可用。
C:\Users\Administrator>javac
'javac' 不是內部或外部命令,也不是可運行的程序或批處理文件。
這說明:windows操作系統沒有發現“javac.exe”命令在哪里。
windows操作系統沒有找到javac.exe文件在哪。
為什么ipconfig、ping等命令可以使用呢?為什么javac用不了?
我們發現windows操作系統中有這樣一個環境變量,名字叫做:path,
并且發現path環境變量的值是:
C:\Windows\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\
我們還發現了在:C:\Windows\System32 這個目錄下存在:ipconfig.exe
注意:修改完環境變量之后,DOS命令窗口必須關閉重新打開才會起作用。
將path環境變量中的:C:\windows\system32; 刪除之后
再測試:
C:\Users\Administrator>ipconfig
'ipconfig' 不是內部或外部命令,也不是可運行的程序或批處理文件。
配置環境變量path的步驟:
桌面計算機上右鍵-->屬性-->高級系統設置-->環境變量
怎么修改path環境變量?
找到path,鼠標雙擊!!!!
path環境變量當中都是路徑,路徑和路徑之間必須采用“半角的分號”分隔。
讓javac.exe能用,我們配置哪個路徑到path中?
將C:\Program Files\Java\jdk-13.0.2\bin配置到path當中。
注意:環境變量包括“系統變量”和“用戶變量”
系統變量:范圍比較大,系統變量會讓計算機所有用戶都起作用。
用戶變量:范圍比較小,這個變量只是作用于當前用戶。
怎么查看編譯器版本?
C:\Users\Administrator>javac -version
javac 13.0.2
怎么查看java虛擬機的版本?
C:\Users\Administrator>java -version
java version "13.0.2" 2020-01-14
Java(TM) SE Runtime Environment (build 13.0.2+8)
Java HotSpot(TM) 64-Bit Server VM (build 13.0.2+8, mixed mode, sharing)
問題1:path環境變量的作用是什么?
path環境變量的作用就是給windows操作系統指路的。
告訴windows操作系統去哪里找這個命令文件。
path環境變量中有很多很多的路徑,路徑和路徑之間用半角分號分隔。
path=A;B;C;D......
path是環境變量的名字。
A;B;C;D......是環境變量path的值。
問題2:path環境變量是java中的機制,還是windows操作系統中的機制?
path環境變量是隸屬于java的嗎?path環境變量和java有關系嗎?
path環境變量本質上是隸屬于windows操作系統的,和java沒有關系。
java只不過用了一下path環境變量。
要學會融會貫通,學一通百:
以后在安裝其他軟件之后,希望在DOS命令窗口中使用該軟件的某個命令
的時候,如果出現“命令找不到錯誤了”,這個時候希望大家能夠想起來
配置環境變量path。
path環境變量中的路徑可以指定多個,沒問題,多少個都行。
------------------------------------------------------------------------------
javac命令怎么用?
語法格式先背會:
javac java源文件的路徑
什么是java源文件?
java源文件的名字以“.java”結尾,該文件中寫了java源代碼。
java源文件的路徑是什么意思?
注意:路徑永遠包括絕對路徑和相對路徑。
注意:神操作????
把java源文件直接拖進到DOS命令窗口,那么DOS命令窗口就有這個路徑了。
C:\Users\Administrator>javac D:\course\JavaProjects\02-JavaSE\chapter01\HelloWorld.java
D:\>javac course\JavaProjects\02-JavaSE\chapter01\HelloWorld.java
D:\course\JavaProjects>javac 02-JavaSE\chapter01\HelloWorld.java
D:\course\JavaProjects\02-JavaSE\chapter01>javac HelloWorld.java
以上的四種方式都行,第一種方式是絕對路徑
剩下三種方式都是相對路徑。
C:\Users\Administrator>javac course\JavaProjects\02-JavaSE\chapter01\HelloWorld.java
錯誤: 找不到文件: course\JavaProjects\02-JavaSE\chapter01\HelloWorld.java
用法: javac
使用 --help 可列出可能的選項
以上報錯的原因是:java源文件的路徑寫錯了。
C:\Users\Administrator>javac HelloWorld.java
錯誤: 找不到文件: HelloWorld.java
用法: javac
使用 --help 可列出可能的選項
注意:神操作????
怎么在DOS命令窗口中快速定位到某個路徑呢?
打開計算機-->打開一些文件夾-->在地址欄上直接輸入cmd回車,這樣直接就過去了。
編譯報錯的時候不會生成class字節碼文件!
D:\course\JavaProjects\02-JavaSE\chapter01>javac HelloWorld.java
HelloWorld.java:3: 錯誤: 非法字符: '\uff1b'
System.out.println("Hello World");
^
1 個錯誤
1.3、運行階段
運行的前提是:class文件(字節碼)生成了。沒有字節碼文件程序是無法運行的。
重點重點重點重點重點重點重點重點重點!!!!!!!
假設該文件的名字叫做:HelloWorld.class
那么HelloWorld被稱為??????????
HelloWorld 就是一個類名。
如果文件名是Test.class,那么:Test就是一個類名。
怎么運行,使用哪個命令?
使用JDK的bin目錄下的:java.exe命令來運行。
先在DOS命令窗口中測試java.exe這個命令是否可用!!!
java -version
"java.exe"這個命令怎么用,語法格式是什么?
java 類名
java HelloWorld.class 對不對?????
不對!!!!
正確的寫法是:
java HelloWorld
千萬千萬要注意:java這個命令,后面跟的是“類名”,而絕對不能跟“文件路徑”,
因為java命令后面跟的不是文件,是一個“類名”。
對于這個字節:Test.class?? ?,應該:java Test
對于這個字節碼:A.class ,應該 java A
對于這個字節碼:Hello.class,應該java Hello
.....
運行java程序需要哪些步驟呢?
第一步(必須這樣做,這是必須的,先記住):
先使用cd命令切換到Test.class文件所在的路徑。
第二步:執行java Test
切記:
java命令后面只要是跟路徑,就一定不行。
java命令后面只能跟類名。
2、到目前為止,大家告訴我,一共配置了哪些環境變量?
到目前為止,我們只配置了一個環境變量path,并且這個環境變量path和java實際上
沒關系,是人家windows操作系統的機制。
對于Java的JDK所屬的環境變量,有一個叫做:JAVA_HOME
這個JAVA_HOME目前我們不需要,不配置這個環境變量也不會影響當前java程序的運行。
但是后期學習到JavaWEB的時候需要安裝Tomcat服務器,那個時候JAVA_HOME就必須配置了。
那么除了JAVA_HOME環境變量之外,JDK相關的環境變量還有其他的嗎?
答案:有的。
3、我們一起來研究一下:“java HelloWorld”的執行過程以及原理。
D:\course\JavaProjects\02-JavaSE\chapter01>java HelloWorld
敲完回車,都發生了什么?????
第一步:會先啟動JVM(java虛擬機)
第二步:JVM啟動之后,JVM會去啟動“類加載器classloader”
類加載器的作用:加載類的。本質上類加載器負責去硬盤上找“類”對應的“字節碼”文件。
假設是“java HelloWorld”,那么類加載器會去硬盤上搜索:HelloWorld.class文件。
假設是“java Test”,那么類加載器會去硬盤上搜索:Test.class文件。
.......
第三步:
類加載器如果在硬盤上找不到對應的字節碼文件,會報錯,報什么錯?
錯誤: 找不到或無法加載主類
類加載器如果在硬盤上找到了對應的字節碼文件,類加載器會將該字節碼
文件裝載到JVM當中,JVM啟動“解釋器”將字節碼解釋為“101010000...”這種
二進制碼,操作系統執行二進制碼和硬件交互。
問題?????
默認情況下,類加載器去硬盤上找“字節碼”文件的時候,默認從哪找????
默認情況下類加載器(classloader)會從當前路徑下找。
此處應該有疑問,你可以提出哪些問題????
能不能給類加載器指定一個路徑,讓類加載器去指定的路徑下加載字節碼文件。
答案:可以的。但是我們需要設置一個環境變量,叫做:classpath
classpath是一個環境變量,是給誰指路的?
答案:是給“類加載器”指路的。
classpath環境變量不屬于windows操作系統,classpath環境變量隸屬于java。
classpath環境變量是java特有的。
classpath=A路徑;B路徑;C路徑.....
classpath是一個變量名
A路徑;B路徑;C路徑.....是變量值
我們把classpath配置一下,這個環境變量在windows中沒有,需要新建!!!!
計算機-->右鍵-->屬性-->高級系統設置-->環境變量-->新建...
注意:變量名不能隨意寫:大小寫無所謂,但必須叫做:classpath
CLASSPATH
ClassPath
Classpath
classpath
都行。
我目前是隨意配置的:(重啟CMD)
classpath=D:\course
非常重要的一個特點,必須記住:
配置了classpath=D:\course之后,類加載器只會去D:\course目錄下找“xxx.class”文件
不再從當前路徑下找了。
結論是:
到目前為止:classpath環境變量不需要配置。
但你必須理解classpath環境變量是干什么的!!!!
你一定要理解classpath環境變量的作用是什么?
是給類加載器指路的。
在沒有配置環境變量classpath的時候,默認從當前路徑下加載。
如果配置了環境變量classpath的話,就只能從指定的路徑下加載了。
path java_home classpath,這3個環境變量path需要配置,后面兩個暫時不配置。
4、???????【讓人困惑了!!!】(了解即可,不需要掌握,現階段也不需要這樣寫)
在高版本的JDK當中,有這樣的一個新特性,可以直接這樣一步到位:
java x/y/z/xxx.java
java后面直接加java源文件的路徑。
這個特性是為了簡化開發而提出,但實際上底層的實現原理還是和以前一樣的,
以上命令在執行過程中,還是會先進行編譯,然后再運行。并且以上的運行方式,
編譯生成的class文件在硬盤上不存在,看不到。
5、關于第一個java程序代碼的解釋說明!
// 單行注釋
/*
多行注釋
*/
/**
* javadoc注釋:這里的注釋信息可以自動被javadoc.exe命令解析提取并生成到幫助文檔當中。
*/
總結
以上是生活随笔為你收集整理的java第一个程序编译失败,零基础java第一个程序HelloWorld,编译,环境变量,运行,注释...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 100+个程序员开发必备参考手册(在线及
- 下一篇: 2022-2028年中国有色金属市场供需