01.一步一步上手Java程式語言-我的思路
要講的內容
知識點 | 掌握程度 |
---|---|
概述 | 理解 |
如何學習Java思路 | 理解 |
觀點
學習任何知識,我們必須要知道它的本質是什麼,然後再分析它的行為與作用。
我為什麼這樣認為呢
因為如果不知道一個東西的本質,就無法分析它的行為與作用。
如果找不到一個東西的作用時?作為一個人,怎麼能說服自己有動力去深入理解它呢?
所以我認為:理解一個東西本質和以及作用讓我們有了一個學習的理由。讓我們給自己一份學習的動力。
如何建立學習的線索
第一步:學習每一個知識點,我必須要理解它本質是什麼東西
第二步:通過它的本質理解它的行為和作用
第三步:通過它的行為理解它的應用場景
第四步:通過它的應用場景圈定學習的範圍
Java程式語言的學習
要求:根據以上提供的觀點來學習的Java程式語言。
Java的本質是什麼
Java本質上就是一門跨平臺的程式語言。
通過這句話,我們知道就兩個要學習的概念:跨平臺,程式語言 跨平臺:意思就是指Java編寫的程式可以在不同的作業系統(平臺)上執行 程式語言:就是J指Java一門用於編寫程式的計算機語言
跨平臺的理解
說明
前提:我們必須要知道由於作業系統的底層介面不同。不同作業系統的軟體是不可以跨平臺的。如:windows作業系統下面的軟體是不可以在Linux作業系統執行的。
問題:那麼Java編寫語言編寫的程式是如何實現跨平臺的呢?(矛盾)
Java編寫的程式是執行在Java虛擬機器(JVM)裡面的。不管任何作業系統安裝Java執行環境,就可以執行Java編寫的程式。
問題:我們在Java官方里面只找到了JDK、JRE,沒有JVM這個軟體,它們是什麼關係呢?
JDK:(Java Development Kit ),Java開發包,裡面包括可JRE和開發人員使用的編譯工具。(程式設計師使用)
JRE:(Java Runtime Environment),Java執行環境,僅僅包括了執行Java程式的JVM和基礎支撐庫。(軟體使用者使用)
JVM:(Java Virtual Machine),Java虛擬機器,就是用於執行Java程式的虛擬環境。
如圖所示:
結論:綜上所述,作為一個Java的開發人員,我們只要安裝JDK就可以編譯、執行Java程式了。裡面包括了JRE以及JRE裡面的JVM!
環境變數
前提:JDK需要安裝,並且設定了環境變數才可以使用。
擴充套件問題:那麼為什麼需要配置環境變數JAVA_HOME和PATH呢?
JAVA_HOME:是讓綠色版的Java軟體可以找到Java的執行環境目錄。如果不配置,綠色版的Java軟體就找不到執行環境。
PATH:將JDK的bin目錄放在path環境變數中,只是為了在命令列下,任何目錄都可以訪問到jdk/bin的命令。如果不配置,必須
只能在jdk/bin下編譯Java程式。
程式語言的理解
說明
程式語言的本質就是一門語言。任何的語言都是由各種語法組成的,所以我們學習Java程式語言需要學習的就是語法!
自然界的語言語法要素:主謂賓、定狀補、詞彙
計算機程式語言(Java)語法要素:關鍵字、運算子、基礎庫
所以,我們學習Java程式語言只要學會兩部分就可以了:
-
第一部分:關鍵字+運算子組成的各種基礎語法
-
第二部分:基礎類庫的記憶
基礎語法
問題:我們如何學習基礎語法呢?
我們可以通過先理解語法結構是什麼、再通過編寫Demo核對語法結構是否正確的方式來學習。
如:
/** * 類的宣告語法結構: * [修飾符] class <識別符號> { //類主體 } */ public class Demo01{ public static void main(String[] args){ System.out.println("Hello World"); } }
注:以上的程式碼段,語法結構中的[ ]表示可選的,<>表示必須的。
根據程式碼段,需要解決的問題有
-
修飾符是可選的,那麼可以設定哪些修飾符呢?
-
識別符號的規則與規範是什麼呢?
-
一個檔案裡面可以有多個類嗎?可以有多個共有類嗎?為什麼?
基礎類庫
Java的基礎類庫,就是Java的基礎庫,因為Java程式語言是通過類為一個最小單元組織API。所以我們稱為類庫。
基礎類庫,在java裡面稱為:library,"圖書館"的意思。那麼類庫是”圖書館“,我們開發人員就是圖書館管理員。作為一個圖書館管理員,我們可以將一個圖書館裡面的書全部看完嗎?不可以能!
問題:那麼我們如何學習基礎類庫呢?
我們只要記住Java基礎類庫的分類就可以了。Java是通過包這個概念分類的。所以我記住JDK API的分包就可以。
如:
說明 | 包名 | 作用 |
---|---|---|
語法支撐包(預設包) | java.lang | 存放一些Java的語法支援的支援類。包括基礎型別處理、執行緒、反射、註解等 |
幫助包 | java.util | 存放一些常用的複雜的資料結構的實現、時間、日期、集合、連結串列、鍵值對等 |
輸入輸出流包 | java.io | 存放阻塞流的操作API、包括各種輸入、輸出流 |
安全包 | java.security | 存放一些加密演算法的實現,MD5、SH、DES等 |
java.net | 存放TCP、UDP協議的實現 | |
JDBC規範包 | java.sql | 存放使用JDBC規範操作資料庫的API |
思考
根據以上概述的,我感受到了先建立學習線索,圈定學習範圍,再學習具體知識的好處了嗎?