學習的課程:
【零基礎 快速學Java】韓順平 零基礎30天學會Java
程式開發注意事項/易犯錯誤
對修改後的原始檔要重新進行編譯,生成新的class檔案以後再執行,修改才能生效
Java原始檔以。java為副檔名,原始檔的基本組成部分是類(class)
Java應用程式的執行入口是main()方法,他有固定的書寫格式:public static void main(String[] args){。。。}
Java語言嚴格區分大小寫
Java方法由一條條語句構成,每個語句以;分號結束
大括號都是成對出現的,缺一不可,先寫{ }再寫程式碼
如果原始檔包含一個public類,則檔名必須按該類名命名,
否則可能會報錯這個錯誤:
一個原始檔中最多包含一個public類,其他類數量
不限
,也可以將main方法寫在非public類中,然後指定執行非public類,這樣入口方法就是非public的main方法
報錯提示“找不到符號”肯定是某個單詞寫錯了
業務邏輯錯誤和環境錯誤等等都是很不好修改的,一開始的時候就要注意多分析!
如何快速掌握技術和知識點
韓老師講解的學習閉環:
第一章 內容介紹
1。1韓順平老師Java課程內容
第一階段目標:建立
程式設計思想
第二階段目標:提升
程式設計能力
第三階段目標:分析
需求
,程式碼
實現
能力
1。2Java開發場景舉例
舉例1:
SSM
:Spring(輕量級的容器框架),SpringMVC(分層的web開發框架),MyBatis(持久化框架)
舉例2:
Android
核心程式碼
舉例3:
大資料
—hadoop
1。3Java的應用場景
企業級應用
:主要指複雜的大企業的軟體系統,各種型別的網站。應用領域包括金融,電信,交通,電子商務等。
Android平臺應用
:Android應用程式使用Java語言編寫,Android開發水平的高低取決於Java語言核心能力是否紮實
移動領域應用
:主要表現在消費和嵌入式領域,是指在各種小型裝置上的應用,包括機頂盒、車載的大屏影音娛樂裝置,汽車通訊裝置,掃碼的POS機等
第二章 Java語言概述
程式
:計算機執行某些操作或解決某個問題而編寫的一系列有序指令的集合
2。1Java技術體系平臺:
Java SE(Java Standard Edition)標準版
:支援面向桌面級應用(如windows下的應用程式)的Java平臺,提供了完整的Java核心API,此版本以前稱為J2SE
Java EE(Java Enterprise Edition)企業版
:是為開發企業環境下的應用程式提供的一套解決方案。該技術體系中包含的技術如:Servlet、Jsp等,主要針對於Web應用程式開發,該版本以前成為J2EE
Java ME(Java Micro Edition)小型版
:支援Java程式執行在移動端(手機、PDA)上的平臺,對Java API有所精簡,並加入了針對移動終端的支援,此前該版本成為J2ME
2。2Java重要特點
Java語言是面向物件的(ooop)
Java語言是健壯的,Java的強型別機制、異常處理、垃圾的自動收集等是Java程式健壯性的重要保證
Java語言是跨平臺性的:一個編譯好的class檔案可以在多個系統下執行,即為跨平臺性
Java語言是解釋型的:編譯後的程式碼,不能直接被機器執行,需要直譯器來執行
解釋性語言
:JavaScript、PHP、Java
程式設計性語言
:c/c++
解釋性與程式設計性兩者的區別
:
解釋性語言:編譯後的程式碼,不能直接被機器執行,需要直譯器來執行
程式設計性語言:編譯後的程式碼,可以直接被機器執行
2。3Java的核心機制-Java虛擬機器(JVM:java virtual machine)
基本介紹:
JVM是一個虛擬的計算機,具有指令集並使用不同的儲存區域,負責執行指令,管理資料、記憶體、暫存器,包含在
JDK
中
對於不同的平臺,有不同的虛擬機器
Java虛擬機器機制遮蔽了底層執行平臺的差別,實現了”
一次編譯,到處執行
“
編譯指令:javac
執行指令:java
2。4JDK(Java Development Kit):Java開發工具包
介紹
JDK = JRE + java的開發工具(java,javac,javadoc,javap等)
JDK是提供給java開發人員使用的,其中包含了Java的開發工具,也包括了JRE,所以安裝了JDK,就不用再安裝JRE了
安裝
下載網址:
https://www。oracle。com/cn/java/technologies/javase-downloads。html
JDK安裝的時候會同時安裝JRE,把JRE安裝到JDK的同目錄下
配置
配置環境變數path
為什麼要配置path變數?
在dos中執行java指令會提示錯誤如圖
原因:當前執行的程式在當前目錄下如果不存在,系統就會在已有的一個名為path的環境變數中查詢,如果還是找不到就會提示以上的錯誤!
解決方法:配置path環境變數或者在JDK安裝目錄的/bin下執行命令
配置步驟:
我的電腦——屬性——高階系統設定——環境變數
增加JAVA_HOME環境變數,指向JDK的安裝目錄:D:\Program Files\whkjdk8。0
變價path環境變數,增加%JAVA_HOME%\bin
開啟DOS命令列,任意目錄下執行java命令(java、javac),如果出現java引數資訊,則配置成功!
2。5JRE(Java Runtime Environment):Java執行環境
JRE = JVM + Java核心類
JRE包括了java虛擬機器JVM和java程式所需的核心類庫等,如果想要執行一個開發好的Java程式,計算機只需要安裝JRE即可
2。6JDK、JRE和JVM的關係
JDK = JRE + Java開發工具集(工具集例如java,javac等)
JRE = JVM + Java核心類庫也就是Java SE標準類庫
如果執行執行開發好的程式(。class檔案),則只需安裝JRE即可
第三章 編寫程式
3。1第一個java程式
// 1。public class Hello 表示Hello是一個類,是一個public公有的類
// 2。Hello{ }表示一個類的開始和結束
// 3。public static void main(String[] args){ }表示一個主方法,即我們程式的入口
// 4。main(){ }表示方法的開始和結束
// 5。System。out。println(“hello,word”);表示輸出字串“hello,word”
// 6。分號;表示語句結束
public
class
helloword
{
// 編寫main方法
public
static
void
main
(
String
[]
args
){
System
。
out
。
println
(
“hello,word”
);
}
}
需要注意的幾點:
如果java檔案中有中文,則要檢查sublime中的檔案編碼是否和dos中的一致,如果不一致的話需要在sublime中更改為GBK
不一致可能會報錯或者不提示任何錯誤資訊(如圖)並且不會生成。class檔案,
dos命令視窗的中文編碼可以在屬性中檢視:
簡體中文GBK
執行java程式:
在程式資料夾目錄下cmd進入dos首先編譯java檔案:javac XXXX。java
編譯完成後會生成一個。class結尾的檔案
接下來執行這個檔案:java helloword(這裡執行的是類名,不用帶檔名字尾),輸出hello,word即執行成功
2021。8。23更新
3。2Java執行機制
。java檔案就是原始檔,。class檔案就是位元組碼檔案
編譯和執行的指令實際上是javac。exe和java。exe的簡寫
。class執行成功的實質是將。class檔案裝載到對應的JVM中執行
什麼是編譯?
編譯也就是生成一個。class檔案:javac hello。java
有了java原始檔,透過編譯器將其編譯成JVM可以識別的位元組碼檔案
在該原始檔目錄下,透過javac指令對hello。java檔案進行編譯,生成。class檔案
如果程式沒有錯誤,也沒有任何提示,在當前資料夾內生成的一個。class檔案,該檔案稱為位元組碼檔案,是可以執行的java程式
什麼是執行?
有了可執行的java程式,也就是hello。class位元組碼檔案
透過執行工具java(java。exe)對位元組碼檔案進行執行,就是使用指令:java XXXX(類名)
3。3程式中常用的跳脫字元
製表位跳脫字元:
\t
// 製表位跳脫字元
class
zhibiaowei
{
public
static
void
main
(
String
[]
args
){
System
。
out
。
println
(
“下面的城市之間使用製表位跳脫字元:”
);
System
。
out
。
println
(
“北京\t上海\t深圳”
);
}
}
執行結果:
換行跳脫字元:
\n
// 換行跳脫字元
class
hang
{
public
static
void
main
(
String
[]
args
){
System
。
out
。
println
(
“這裡的換行使用的是\n換行跳脫字元!”
);
}
}
執行結果:
輸出一個\反斜槓跳脫字元:
\\
// 輸出斜槓跳脫字元
class
xiegang
{
public
static
void
main
(
String
[]
args
){
System
。
out
。
println
(
“這裡輸出的資料夾目錄中的反斜槓使用的是跳脫字元:”
);
System
。
out
。
println
(
“資料夾目錄D:\\00dasan\\JAVA\\javacode\\2021。8。23”
);
}
}
執行結果:
輸出單引號或者雙引號跳脫字元:
\‘
或者
\“
// 輸出單引號雙引號跳脫字元
class
ying
{
public
static
void
main
(
String
[]
args
){
System
。
out
。
println
(
”單引號:’這是‘單引號’包裹的句子!‘“
);
System
。
out
。
println
(
”雙引號:\“這是雙引號包裹的句子!\”“
);
}
}
執行結果:
輸出回車跳脫字元:
\r
// 回車跳脫字元
class
enter
{
public
static
void
main
(
String
[]
args
) {
System
。
out
。
println
(
”XX使用了回車跳脫字元:最開頭的兩個字原本是XX,你再看看現在,有很大區別\r回車“
);
}
}
執行結果:
進行一個小測試:
// 輸出一個有規則的資訊列表
class
test
{
public
static
void
main
(
String
[]
args
){
System
。
out
。
println
(
”書名\t作者\t價格\t銷量\n三國\t羅貫中\t120\t1000“
);
}
}
效果圖:
這裡進行一個舉一反三:如果某一欄的內容很長會是什麼效果呢?來試試看
// 輸出一個較長的資訊
class
test2
{
public
static
void
main
(
String
[]
args
) {
System
。
out
。
println
(
”書名\t作者\t價格\t銷量\n安娜卡列尼娜\t我不知道作者是誰\t價格估計得一百多塊錢\t銷量應該很好“
);
}
}
效果圖:(貌似是按照就近原則進行對齊)
如果我再加幾個跳脫字元會怎麼樣?來試試
// 使用多個跳脫字元class test3{ public static void main(String[] args) { System。out。println(”書名\t\t\t作者\t\t\t價格\t\t\t銷量\n安娜卡列尼娜\t我不知道作者是誰\t價格估計得一百多塊錢\t銷量應該很好“); }}
執行效果:(就類似於空格,數量多也就空的越多)
2021。8。24更新
3。4註釋(comment)
介紹
用來解釋程式的文字就是註釋,註釋提高了程式碼的閱讀性(可讀性);
註釋是一個程式設計師必須要具備的良好程式設計習慣
將自己的思想透過註釋整理出來,再用程式碼去實現
Java中的註釋型別
單行註釋:
//註釋文字
多行註釋:
/*註釋文字*/
文件註釋
文件註釋
:註釋內容可以被javadoc所解析,生成一套以網頁檔案形式體現的該程式的說明文件,一般寫在類
基本格式:
如何生成對應的文件註釋:DOS指令——javadoc -d D:\00dasan\JAVA\javacode\2021。8。24\temp -author -version comment。java
之後在temp資料夾之下可以看到:
2021。8。29更新
3。5程式碼規範
類、方法的註釋要使用javadoc的方式來寫,非javadoc的註釋一般是給程式碼的維護者來看的,著重告訴讀者為什麼這樣寫,如何修改,要注意什麼問題等等
使用Tab操作,可以實現縮排,預設整體向右縮排,使用Shift + Tab向左縮排
運算子的兩邊要加空格,否則會顯得很擁擠,比如“1+3=4”和“1 + 3 = 4”,效果顯而易見
原始碼檔案要使用UTF-8的編碼格式
行寬度不能超過80個字元
編寫風格:
行尾風格(推薦)
和次行風格
/** * 行尾風格 */class test1{ public static void main(String[] args){ System。out。println(”行尾風格“); }}/** * 次行風格 */class test2{ public static void main(String[] args) { System。out。println(”次行風格“) }}