Java 入門
此筆記參考黑馬教程,僅學習使用,如有侵權,聯系必刪
文章目錄
- Java 入門
- 01 Java快速入門
- 1. Java 是什么?能干什么?
- 1.1 Java 背景知識
- 1.2 Java 能做什么?
- 1.3 Java 技術體系
- 2. 如何使用 Java(搭建 Java 開發環境)
- 2.1 如何獲取 JDK
- 2.2 如何安裝 JDK
- 2.3 如何驗證 JDK 是否安裝成功
- 3. 掌握 DOS 窗口常見命令
- 4. 開發HellowWorld 程序
- 4.1 Java 程序開發的三個步驟
- 4.2 編寫代碼
- 4.3 編譯代碼、運行代碼
- 總結
- 5. HelloWorld 程序常見問題
- 5.1 HelloWorld 案例常見錯誤
- 5.1.1 Windows 的文件擴展名沒有勾選
- 5.1.2 代碼寫對了,但是忘記保存了
- 5.1.3 文件名和類名不一致
- 5.1.4 大小寫錯誤,單詞拼寫錯誤,存在中文符號,找不到 main 方法
- 5.1.5 括號不配對
- 5.1.6 編譯、執行使用不當
- 6. 補充知識:Java 程序的執行原理
- 6.1 計算機能認識的機器語言長什么樣子?
- 6.2 使用機器語言編程來實現呼吸燈效果
- 6.3 編程語言發展歷程
- 6.4 為什么學習高級編程語言?
- 總結
- 6.5 BUG
- 7. 補充知識:JDK 的組成、跨平臺原理
- 7.1 JDK 的組成
- 7.2 Java 的跨平臺、工作原理
- 總結
- 8. 補充知識:JDK 安裝后 Path 和 Java_home 環境變量
- 8.1 Path 環境變量
- 8.2 Path 環境變量的原理
- 8.3 為 java、javac 配置 Path 的注意事項
- 8.4 重新配置了環境變量后,必須要檢測是否配置成功
- 8.5 配置 Java_home 環境變量
- 總結
- 02 IDEA 開發工具的使用
- 1. Intellij IDEA 開發工具概述、安裝
- 1.1 集成開發環境(IDE,Integrated Development Environment)
- 1.2 Intellij IDEA 簡介
- 1.3 IDEA 的下載、安裝
- 2. 使用 IDEA 編寫第一個 Java 程序
- 2.1 IDEA 管理 Java 程序的結構
- 2.2 使用 idea 開發第一個 Java 程序的步驟:
- 2.3 編寫代碼
- 總結
- 3. IDEA 字體、主題、背景色設置、快捷鍵操作
- 3.1 IDEA 中設置主題、字體
- 3.2 IDEA 常用快捷鍵
- 4. IDEA 的其他常見操作
- 03 Java 基礎語法
- 1. 注釋
- 1.1 定義
- 1.2 注釋有哪些
- 1.3 注釋的特點
- 1.4 多學一招
- 總結
- 2. 字面量
- 2.1 定義
- 代碼實現
- 總結
- 3. 變量
- 3.1 定義
- 3.2 為什么要用變量?
- 3.3 變量在計算機中的執行原理
- 3.4 變量有啥特點?
- 3.5 變量有啥應用場景?
- 代碼實現
- 總結
- 4. 變量使用注意事項
- 4.1 使用變量的幾個注意事項
- 代碼實現
- 總結
- 5. 關鍵字、標識符
- 5.1 關鍵字
- 5.2 標識符
- 總結
- 總結
01 Java快速入門
1. Java 是什么?能干什么?
1.1 Java 背景知識
- Java 是美國 sun 公司(Stanford University Network)在1995年推出的一門計算機高級編程語言
- Java 早期稱為 Oak(橡樹),后期改名為 Java
- Java 之父:詹姆斯·高斯林(James Gosling)
- 2009年 sun 公司被 Oracle 公司收購
1.2 Java 能做什么?
- 桌面應用開發
- 各種稅務管理軟件,IDEA
- 企業級應用開發
- 微服務,大型互聯網應用
- 移動應用開發
- Android,醫療設備
- 服務器系統
- 應用的后臺
- 大數據開發
- hadoop
- 游戲開發
- 我的世界 MineCraft
1.3 Java 技術體系
技術體系 | 說明 |
---|---|
Java SE(Java Standard Edition):標準版 | Java技術的核心和基礎 |
Java EE(Java Enterprise Edition):企業版 | 企業級應用開發的一套解決方案 |
Java ME(Java Micro Edition):小型版 | 針對移動設備應用的解決方案 |
2. 如何使用 Java(搭建 Java 開發環境)
- Java 的產品叫 JDK(Java Development Kit:Java 開發者工具包),必須安裝 JDK 才能使用 Java
JDK 的發展史
ps:LTS:long-term support 長期支持版
2.1 如何獲取 JDK
- 通過 Oracle 官方網站獲取
- http://www.oracle.com
- 注意:針對不同操作系統,下載對應的安裝包
2.2 如何安裝 JDK
- 傻瓜式安裝,直接下一步…
- 注意1:安裝路徑中不要包含中文和空格
- 注意2:所有的開發工具最好安裝到統一目錄
2.3 如何驗證 JDK 是否安裝成功
- 打開命令行窗口;
- 按下 Win+R,在運行輸入框中輸入 cmd,敲回車
- 看 Java、Javac 是否可用;
- 檢查 Java、Javac 的版本號;
前置知識:了解 JDK 中的 Java、Javac 的基本作用
說明:將來我們寫好的 Java 程序都是高級語言,計算機底層是硬件不能識別這些語言,必須先通過 javac 編譯工具進行翻譯,然后再通過 java 執行工具執行才可以驅動機器干活
3. 掌握 DOS 窗口常見命令
常用命令 | 作用 |
---|---|
D: | 切換到某個盤下:D: , C: |
dir | 查看當前路徑下的文件信息 |
cd | 進入單級目錄:cd itheima 進入多級目錄:cd D:\itheima\JavaSE\第一天 回退到上一級目錄:cd … 回退到盤符根目錄:cd \ |
cls | 清屏 |
4. 開發HellowWorld 程序
4.1 Java 程序開發的三個步驟
- 開發 Java 程序,需要三個步驟:編寫代碼,編譯代碼,運行代碼
注意事項:
- 第一個 java 程序建議使用記事本書寫
- 建議代碼文件名全英文,首字母大寫,滿足駝峰模式,源代碼文件的后綴必須是.java
4.2 編寫代碼
- 第一個程序的代碼如下:
注意:文件名必須與代碼中的類名一致
保存文件:ctrl + s
4.3 編譯代碼、運行代碼
- 編譯:javac 文件名.java
范例:javac HelloWorld.java
- 運行:java 類名
范例:java HelloWorld
總結
- 開發一個 Java 程序要經歷那些步驟?
- 編寫、編譯(javac)、運行(java)
- Java 代碼編寫有什么基本要求?
- 文件名的后綴必須是 java 結尾
- 文件名必須與代碼的類名稱一致
- 必須使用英文模式下的符號
5. HelloWorld 程序常見問題
5.1 HelloWorld 案例常見錯誤
5.1.1 Windows 的文件擴展名沒有勾選
解決方案:必須勾選文件擴展名,再新建 Java 文件
5.1.2 代碼寫對了,但是忘記保存了
必須要 Ctrl + s
5.1.3 文件名和類名不一致
5.1.4 大小寫錯誤,單詞拼寫錯誤,存在中文符號,找不到 main 方法
5.1.5 括號不配對
5.1.6 編譯、執行使用不當
6. 補充知識:Java 程序的執行原理
6.1 計算機能認識的機器語言長什么樣子?
- 機器語言:00011100 00110101 …
- 計算機底層都是硬件電器,可以通過不通電和通電,表示0、1
6.2 使用機器語言編程來實現呼吸燈效果
6.3 編程語言發展歷程
- 機器語言
- 匯編語言
- 高級語言
6.4 為什么學習高級編程語言?
- 更簡單:使用接近人類自己的語言書寫,翻譯器再將其翻譯成計算機能理解的機器指令
總結
- Java 程序的執行原理是什么樣的?
- 不管是什么樣的高級編程語言,最終都是翻譯成計算機底層可以識別的機器語言
- 機器語言是由說明組成的啊?
- 0和1
6.5 BUG
- 原意是臭蟲或者蟲子,現在用來代指在電腦系統或者程序中隱藏的一些問題或者漏洞
7. 補充知識:JDK 的組成、跨平臺原理
7.1 JDK 的組成
- JVM(Java Virtual Machine):Java 虛擬機,真正運行 Java 程序的地方
- 核心類庫:Java 自己寫好的程序,給程序員自己的程序調用的
- JRE(Java Development Kit):Java 開發工具包(包括上面所有)
7.2 Java 的跨平臺、工作原理
- 一次編譯、處處可用
- 因為 sun 公司針對不同的系統平臺都貼心的給我們寫好了對應的 jvm 虛擬機
總結
- JDK 有哪些組成啊?
- JVM 虛擬機:真正運行 Java 程序的地方
- 核心類庫:Java 自己寫好的一些程序,給咱們的程序員用的
- 開發工具:javac、java、…
- Java 的跨平臺是什么含義,Java 如何實現跨平臺的?
- 一次編譯、處處可用
- 我們的程序只需要開發一次,就可以在各種安裝了 JVM 的系統平臺上運行
8. 補充知識:JDK 安裝后 Path 和 Java_home 環境變量
8.1 Path 環境變量
- Path 環境變量用于記住程序路徑,方便在命令行窗口的任意目錄啟動程序
- 舉例:在命令行窗口的任意目錄下啟動 QQ
- path 環境變量位置在:我的電腦 -> 屬性 -> 高級系統設置 -> 高級 -> 環境變量
8.2 Path 環境變量的原理
- 當我們在 Path 中配置某個程序路徑后,啟動命令行窗口時,是如何去找該程序的
8.3 為 java、javac 配置 Path 的注意事項
- 目前較新的 JDK 安裝時會自動配置 javac、java 程序的路徑到 Path 環境變量中去,因此,javac、java可以直接使用
- 注意:以前的老版本的 JDK 在安裝的是沒有自動配置 Path 環境變量的,此時必需要自己配置 Path 環境變量
- 把 java 程序中的 bin 包路徑放進去即可
8.4 重新配置了環境變量后,必須要檢測是否配置成功
- 打開命令行窗口,輸入
javac -version
及java -version
分別看版本提示
8.5 配置 Java_home 環境變量
- JAVA_HOME:告訴操作系統 JDK 安裝在了哪個位置 (將來其他技術要通過這個環境變量找 JDK)
- 注意:較新版本的 JDK 只是自動配置了 Path,沒有自動配置 JAVA_HOME
推薦:Path %JAVA_HOME%\bin
不推薦:Path D:\soft\java\jdk-17.01\bin
總結
- 什么是 Path 環境變量?
- Path 環境變量用于配置程序的路徑
- 方便我們在命令行窗口的任意目錄啟動程序
- JDK 安裝時,環境變量需要注意什么?
- 較新版本的 JDK 會自動配置 PATH 環境變量,較老的 JDK 版本則不會
- 建議還是自己配置一下“Path”、“JAVA_HOME”
02 IDEA 開發工具的使用
1. Intellij IDEA 開發工具概述、安裝
之前的開發工具存在一些問題
- 文本編輯工具:記事本、NotePad++、EditPlus、sublime…編寫代碼時沒有錯誤提醒、沒有智能代碼提醒、需要自己進行編譯、執行,功能不夠強大
1.1 集成開發環境(IDE,Integrated Development Environment)
- 把代碼編寫,編譯,執行等多種功能綜合到一起的開發工具,可以進行代碼智能提示,錯誤提醒,項目管理等等
- 常見的 Java IDE 工具有:Eclipse、MyEclipse、Intellij IDEA、Jbuilder、NetBeans等
1.2 Intellij IDEA 簡介
- Intellij IDEA 一般簡稱 IDEA ,在代碼錯誤提醒,智能代碼補全等多方面表現的都非常優秀,是進行 Java 開發時,很多企業首選的開發工具
1.3 IDEA 的下載、安裝
若是為就業學習推薦下載企業版,具體過程 b 站上搜,一大堆
2. 使用 IDEA 編寫第一個 Java 程序
2.1 IDEA 管理 Java 程序的結構
- project(項目、工程)
- module(模塊)
- package(包)
- class(類)
這么劃分是為了便于我們管理項目代碼
2.2 使用 idea 開發第一個 Java 程序的步驟:
- 創建工程 new Project(空工程)
- 創建模塊 new Module
- 創建包 new Package
- 創建類
- 編寫代碼、并啟動
2.3 編寫代碼
package com.feng.hello;public class HelloWorld {public static void main(String[] args) {System.out.println("Hello World");}
}
總結
- 使用 idea 開發 java 程序的步驟是什么?
- project -> module -> package -> class
- project 中可以創建多個 module
- module 中可以創建多個 package
- package 中可以創建多個 class
2.創建都用哪個關鍵字?
- New project / module / package / class
- idea 中的 java 程序是自動編譯和執行的,那編譯后的 class 文件在哪里?
- 在工程路徑下的一個 out 文件夾里
3. IDEA 字體、主題、背景色設置、快捷鍵操作
3.1 IDEA 中設置主題、字體
- 主題配置
- 字體配置
- IDEA 背景色設置
3.2 IDEA 常用快捷鍵
- 組合幾個鍵一起按下完成某件事,可以提高開發效率
快捷鍵 | 功能效果 |
---|---|
main/psvm、sout、… | 快速鍵入相關代碼 |
Ctrl + D | 復制當前行數據到下一行 |
Ctrl + Y | 刪除所在行,建議用 Ctrl + X |
Ctrl + ALT + L | 格式化代碼 |
ALT + Shift + ↑,ALT + Shift + ↓ | 上下移動當前代碼 |
Ctrl + /,Ctrl + Shift + / | 對代碼進行注釋(講注釋的時候再說) |
4. IDEA 的其他常見操作
- 刪除類文件
- 修改類名稱
- 修改模塊
- 導入模塊
- 刪除模塊(了解)
- 打開工程
- 關閉工程
03 Java 基礎語法
1. 注釋
1.1 定義
什么是注釋
- 注釋是寫在程序中對代碼進行解釋說明的文字,方便自己和其他人查看,以便理解程序的
1.2 注釋有哪些
- 單行注釋
// 注釋內容,只能寫一行
- 多行注釋
/*注釋內容1注釋內容2
*/
- 文檔注釋:
文檔注釋的內容是可以提取到一個程序說明文檔中去的
/**注釋內容注釋內容
*/
1.3 注釋的特點
- 注釋不影響程序的執行
1.4 多學一招
快捷鍵進行注釋 | 功能效果 |
---|---|
Ctrl + / | 單行注釋(對當前行進行注釋) |
Ctrl + Shift + / | 對選中的代碼進行多行注釋 |
總結
- 注釋是什么?
- 寫在程序中對程序進行解釋說明的文字
- Java 程序中書寫注釋的方式有幾種,各自有什么不同
- 單行注釋:
//
- 多行注釋:
/* */
- 文檔注釋:
/** */
- 注釋有什么特點?
- 不影響程序的執行,編譯后的 class 文件中已經沒有注釋了
- 注釋的快捷鍵是怎么用的?
- Ctrl + / 單行注釋(對當前行進行注釋)
- Ctrl +Shift + / 對選中的代碼進行多行注釋
寫注釋是一個利人利己的好習慣!!!
2. 字面量
2.1 定義
- 計算機是用來處理數據的,字面量就是告訴程序員:數據在計算機中的書寫格式
常用數據:
常用數據 | 生活中的寫法 | 程序中的寫法 | 說明 |
---|---|---|---|
整數 | 666,-88 | 666, -88 | 寫法一致 |
小數 | 13.14,-5.21 | 13.14, -5.21 | 寫法一致 |
字符 | A,0,我 | ‘A’, ‘0’, ‘我’ | 程序中必須使用單引號,有且僅有一個字符 |
字符串 | 我嘞個雷 | “HelloWorld”, “我嘞個雷” | 程序中必須使用雙引號,內容可有可無 |
布爾值 | 真、假 | true, false | 只有兩個值:true:代表真,false:代表假 |
空值 | 值是:null | 一個特殊的值,空值(后面會講解作用,暫時不管) |
代碼實現
package a_java入門.c_Literal;public class LiteralDemo {public static void main(String[] args) {// 目標:需要同學們掌握常見數據在程序中的書寫格式// 1. 整數System.out.println(666);// 2. 小數System.out.println(99.5);// 3. 字符:必須要用單引號聞起來,有且僅有一個字符System.out.println('a');System.out.println('0');System.out.println('中');System.out.println(' '); // 空字符// 特殊的字符:\n 代表換行的意思 \t 代表的是一個TabSystem.out.println('中');System.out.println('\n');System.out.println('國');System.out.println('\t');// 4. 字符串:必須用雙引號圍起來,里面的內容其實可以隨意System.out.println("我愛你中國abc");System.out.println("");System.out.println(" ");System.out.println("我");// 5. 布爾值:只有2個值 true falseSystem.out.println(true);System.out.println(false);}
}
總結
- 字面量這個知識是告訴同學們什么?
- 數據在程序中的書寫格式
- 字符、字符串在程序中的書寫格式有什么要求?
- 字符必須用單引號圍起來,有且僅能一個字符
- 字符串必須用雙引號圍起來
- 幾個常見的特殊值的書寫格式?
- true、false、null、\n、\t
3. 變量
3.1 定義
- 變量是用來記住程序要處理的數據的
變量的定義格式
3.2 為什么要用變量?
- 使用變量記要處理的數據,編寫的代碼更靈活,管理代碼更方便
3.3 變量在計算機中的執行原理
變量就是內存中的一塊區域,可以理解為一個盒子,用來裝一個數據的!
3.4 變量有啥特點?
- 變量中的數據是可以被替換的
int age2 = 18;
System.out.println(age2);age2 = 19; // 賦值:從右邊往左邊執行
System.out.println(age2);age2 = age2 + 1;
System.out.println(age2);
3.5 變量有啥應用場景?
- 寫程序對數據進行數據處理就很方便了
// 5. 需求:錢包有9.5元,收到了10元紅包,又發出去了5元紅包,請輸出各階段錢包的情況
double money = 9.5;
System.out.println(money);// 收紅包10元
money = money + 10;
System.out.println(money);// 發出去5元
money = money - 5;
System.out.println(money);
代碼實現
package a_java入門.d_variable;public class VariableDemo1 {public static void main(String[] args) {// 目標:認識變量,掌握使用變量的好處,變量的特點,應用場景// 1. 定義一個整形變量記住一個整數// 數據類型 變量名 = 數據;// 注意:=在Java中是賦值的意思,從右往左看int age = 23;System.out.println(age);// 2. 記住一個人的成績double score = 99.5;System.out.println(score);System.out.println("--------------------------------------");// 3. 使用變量的好處:便于擴展和維護int number = 666; // 萬一有一天要將666改為888,直接在這改一個地方就行System.out.println(number);System.out.println(number);System.out.println(number);System.out.println(number);System.out.println(number);System.out.println(number);System.out.println("--------------------------------------");// 4. 變量的特點:里面裝的數據可以被替換int age2 = 18;System.out.println(age2);age2 = 19; // 賦值:從右邊往左邊執行System.out.println(age2);age2 = age2 + 1;System.out.println(age2);System.out.println("--------------------------------------");// 5. 需求:錢包有9.5元,收到了10元紅包,又發出去了5元紅包,請輸出各階段錢包的情況double money = 9.5;System.out.println(money);// 收紅包10元money = money + 10;System.out.println(money);// 發出去5元money = money - 5;System.out.println(money);}
}
總結
- 變量是什么,變量的完整定義格式是什么樣的?
- 用來存儲一個數據的,本質是內存中的一塊區域
- 數據結構 變量名稱 = 數據
- 為啥要用變量,變量有啥好處?
- 使用變量記要處理的數據,編寫的代碼更靈活,管理代碼更方便
- 變量有什么特點?基于這個特點,變量有啥應用場景?
- 變量里裝的數據可以被替換
4. 變量使用注意事項
4.1 使用變量的幾個注意事項
- 變量要先聲明才能使用
- 變量是什么類型,就應該用來裝什么類型的數據,否則報錯
- 變量是從定義開始到 “}” 截止的范圍有效;且同一個范圍內,定義的多個變量,它們的名稱不能一樣
- 變量定義的時候可以不賦初始值;但在使用時,變量里必須有值否則報錯
代碼實現
package a_java入門.d_variable;public class VariableDemo2 {public static void main(String[] args) {// 目標:搞清楚使用變量的幾點注意事項// 1. 變量要先聲明才能使用int age = 18;System.out.println(age);// 2. 變量是什么類型,就應該用來裝什么類型的數據,否則報錯//age = 9.8;// 3. 變量是從定義開始到 "}" 截止的范圍有效;且同一個范圍內,定義的多個變量,它們的名稱不能一樣{int a = 19;// int a = 23;System.out.println(a);}// System.out.println(a);System.out.println(age);int a = 23;// int age = 25;//4. 變量定義的時候可以不賦初始值;但在使用時,變量里必須有值否則報錯int number;number = 100;System.out.println(number);}
}
總結
使用變量時有那些注意點?
- 變量要先聲明,才能使用
- 變量是什么類型,就應該用來裝什么類型的數據
- 變量存在訪問范圍,同一個范圍內,多個變量的名字不能一樣
- 變量定義時可以不賦初始值;但在使用時,變量里必須有值
5. 關鍵字、標識符
5.1 關鍵字
- Java 語言自己用到的一些詞,有特殊作用的,我們稱之為關鍵字,如:public、class、int、double、…
- 注意:關鍵字是 java 用了的,我們就不能用來作為:類名、變量名,否則會報錯!
注意:關鍵字很多,不用刻意去記
5.2 標識符
- 標識符就是名字,我們寫程序時會起一些名字,如類名、變量名等等都是標識符
標識符的要求
- 基本組成:由數字、字母、下劃線(_)和美元符($)等組成
- 強制要求:不能以數字開頭、不能用關鍵字作為名字、且是區分大小寫的
標識符的建議規范
- 變量名稱:滿足標識符規則,同時建議用英文、有意義、首字母小寫,滿足“駝峰模式”,例如:
int studyNumber = 59;
- 類名稱:滿足標識符規則,建議全英文、有意義、首字母大寫,滿足“駝峰模式”,例如:
HelloWorld, Student
總結
- 什么是關鍵字?
- 關鍵字就是 Java 自己要用到的詞,并且有特殊含義的一些詞
- 我們就不能用來做為:類名、變量名,否則會報錯
- 什么是標識符
- 標識符就是名字
- 標識符的規則:由數字、字母、下劃線、美元符等組成,且不能數字開頭,不能用關鍵字做為名字