SlideShare une entreprise Scribd logo
1  sur  48
Télécharger pour lire hors ligne
1
基礎語法
學習目標
• 認識型態與變數
• 學習運算子基本使用
• 瞭解型態轉換細節
• 運用基本流程語法
• 使用jshell
2
型態
• 基本型態(Primitive type)
– 整數、位元組、浮點數、字元與布林
• 類別型態(Class type),亦稱參考型態(
Reference type)
3
• 整數
– short整數,佔2個位元組
– int整數佔4個位元組
– long整數佔8個位元組
• 位元組
– byte是一個位元組
– 可表示-128到127的整數
4
• 浮點數
– float浮點數,佔4個位元組
– double浮點數,佔8個位元組
• 字元
– Java支援Unicode
– char型態佔2個位元組
– 可用來儲存UTF-16 Big Endian的一個碼元(code
unit)
• 布林
– boolean型態可表示true與false
5
6
註解
• // 單行註解
• /*與*/包括的多行註解
7
printf()
8
9
• JDK9以後內建了jshell
10
變數
11
• 使用byte、short、int、long、float
、double、char、boolean等關鍵字宣告
• 不可以使用數字開頭,也不能使用一些特殊
字元,像是*、&、^、%等
• 不能與Java 關鍵字(Keyword)同名,例如
int、float、class等就不能作為變數
• 不可以與Java保留字(Reversed word)同名
,例如goto就不能作為變數名稱
12
• Java領域的命名慣例(Naming convention)
• 區域變數(Local variable)
13
• final變數
14
字面常量
• 整數
• 浮點數
15
• 字元
16
• boolean型態
• 字面常量表示法
17
運算子(Operator)
• 算術運算
18
• 比較、條件運算
19
• 邏輯運算
20
• 位元運算
21
22
• 遞增、遞減運算
23
• 可讀性會降低
24
• 指定運算
25
型態轉換
• 寫下浮點數時,編譯器預設用double型態
• 編譯器你就住嘴吧!
26
• 寫下整數時,預設不會使用超過int型態
• 這樣不行:
27
• 若運算式包括不同型態數值,運算時以長度
最長的型態為主
• 其他數值自動提昇(Promote)型態
28
• 若運算元都是不大於int的整數,自動全部
提昇為int型態進行運算
29
• 叫編譯器住嘴吧!
• 你覺得會顯示多少?
30
• count + 1 > Integer.MAX_VALUE永遠
不會成立
31
var型態推斷
• 從前後文推斷出區域變數型態
32
if..else條件式
• 判斷數字為奇數或偶數
33
• 所謂的if...else if語法
34
35
switch條件式
• 可用於比對整數、字元、Enum、字串的比對
36
37
• Java SE 14開始,switch支援運算式形式
38
39
• switch作為運算式執行完案例後,並不會往
下個案例繼續執行
• 必要時,->與yield可以混合使用
40
for迴圈
41
42
while迴圈
43
• do..while
44
break、continue
• break可以離開switch、for、while、
do..while的區塊
• continue使用於迴圈,只會略過之後陳述句
45
46
• 配合標籤使用
47
48

Contenu connexe

Tendances

CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式Justin Lin
 
Ch02 撰寫與設定 Servlet
Ch02 撰寫與設定 ServletCh02 撰寫與設定 Servlet
Ch02 撰寫與設定 ServletJustin Lin
 
Ch06 使用 JSP
Ch06 使用 JSPCh06 使用 JSP
Ch06 使用 JSPJustin Lin
 
Ch04 會話管理
Ch04 會話管理Ch04 會話管理
Ch04 會話管理Justin Lin
 
Introduction to java (revised)
Introduction to java (revised)Introduction to java (revised)
Introduction to java (revised)Sujit Majety
 
CH11:執行緒與並行API
CH11:執行緒與並行APICH11:執行緒與並行API
CH11:執行緒與並行APIJustin Lin
 
Ch03 請求與回應
Ch03 請求與回應Ch03 請求與回應
Ch03 請求與回應Justin Lin
 
Java SE 8 技術手冊第 14 章 - NIO 與 NIO2
Java SE 8 技術手冊第 14 章 - NIO 與 NIO2Java SE 8 技術手冊第 14 章 - NIO 與 NIO2
Java SE 8 技術手冊第 14 章 - NIO 與 NIO2Justin Lin
 
Java SE 8 技術手冊第 3 章 - 基礎語法
Java SE 8 技術手冊第 3 章 - 基礎語法Java SE 8 技術手冊第 3 章 - 基礎語法
Java SE 8 技術手冊第 3 章 - 基礎語法Justin Lin
 
Java SE 8 技術手冊第 4 章 - 認識物件
Java SE 8 技術手冊第 4 章 - 認識物件Java SE 8 技術手冊第 4 章 - 認識物件
Java SE 8 技術手冊第 4 章 - 認識物件Justin Lin
 
Ch12 Spring 起步走
Ch12 Spring 起步走Ch12 Spring 起步走
Ch12 Spring 起步走Justin Lin
 
Java SE 8 技術手冊第 5 章 - 物件封裝
Java SE 8 技術手冊第 5 章 - 物件封裝Java SE 8 技術手冊第 5 章 - 物件封裝
Java SE 8 技術手冊第 5 章 - 物件封裝Justin Lin
 
String Builder & String Buffer (Java Programming)
String Builder & String Buffer (Java Programming)String Builder & String Buffer (Java Programming)
String Builder & String Buffer (Java Programming)Anwar Hasan Shuvo
 
1. JavaScript 起步走
1. JavaScript 起步走1. JavaScript 起步走
1. JavaScript 起步走Justin Lin
 
Java SE 8 技術手冊第 2 章 - 從JDK到IDE
Java SE 8 技術手冊第 2 章 - 從JDK到IDEJava SE 8 技術手冊第 2 章 - 從JDK到IDE
Java SE 8 技術手冊第 2 章 - 從JDK到IDEJustin Lin
 
Super Keyword in Java.pptx
Super Keyword in Java.pptxSuper Keyword in Java.pptx
Super Keyword in Java.pptxKrutikaWankhade1
 
2장. Runtime Data Areas
2장. Runtime Data Areas2장. Runtime Data Areas
2장. Runtime Data Areas김 한도
 
Java SE 8 技術手冊第 9 章 - Collection與Map
Java SE 8 技術手冊第 9 章 - Collection與MapJava SE 8 技術手冊第 9 章 - Collection與Map
Java SE 8 技術手冊第 9 章 - Collection與MapJustin Lin
 

Tendances (20)

CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式
 
Ch02 撰寫與設定 Servlet
Ch02 撰寫與設定 ServletCh02 撰寫與設定 Servlet
Ch02 撰寫與設定 Servlet
 
Ch06 使用 JSP
Ch06 使用 JSPCh06 使用 JSP
Ch06 使用 JSP
 
Ch04 會話管理
Ch04 會話管理Ch04 會話管理
Ch04 會話管理
 
Introduction to java (revised)
Introduction to java (revised)Introduction to java (revised)
Introduction to java (revised)
 
CH11:執行緒與並行API
CH11:執行緒與並行APICH11:執行緒與並行API
CH11:執行緒與並行API
 
Ch03 請求與回應
Ch03 請求與回應Ch03 請求與回應
Ch03 請求與回應
 
Corso Java 1 - BASE
Corso Java 1 - BASECorso Java 1 - BASE
Corso Java 1 - BASE
 
Java SE 8 技術手冊第 14 章 - NIO 與 NIO2
Java SE 8 技術手冊第 14 章 - NIO 與 NIO2Java SE 8 技術手冊第 14 章 - NIO 與 NIO2
Java SE 8 技術手冊第 14 章 - NIO 與 NIO2
 
Java SE 8 技術手冊第 3 章 - 基礎語法
Java SE 8 技術手冊第 3 章 - 基礎語法Java SE 8 技術手冊第 3 章 - 基礎語法
Java SE 8 技術手冊第 3 章 - 基礎語法
 
Java SE 8 技術手冊第 4 章 - 認識物件
Java SE 8 技術手冊第 4 章 - 認識物件Java SE 8 技術手冊第 4 章 - 認識物件
Java SE 8 技術手冊第 4 章 - 認識物件
 
Ch12 Spring 起步走
Ch12 Spring 起步走Ch12 Spring 起步走
Ch12 Spring 起步走
 
Java SE 8 技術手冊第 5 章 - 物件封裝
Java SE 8 技術手冊第 5 章 - 物件封裝Java SE 8 技術手冊第 5 章 - 物件封裝
Java SE 8 技術手冊第 5 章 - 物件封裝
 
JAVA PROGRAMMING- GUI Programming with Swing - The Swing Buttons
JAVA PROGRAMMING- GUI Programming with Swing - The Swing ButtonsJAVA PROGRAMMING- GUI Programming with Swing - The Swing Buttons
JAVA PROGRAMMING- GUI Programming with Swing - The Swing Buttons
 
String Builder & String Buffer (Java Programming)
String Builder & String Buffer (Java Programming)String Builder & String Buffer (Java Programming)
String Builder & String Buffer (Java Programming)
 
1. JavaScript 起步走
1. JavaScript 起步走1. JavaScript 起步走
1. JavaScript 起步走
 
Java SE 8 技術手冊第 2 章 - 從JDK到IDE
Java SE 8 技術手冊第 2 章 - 從JDK到IDEJava SE 8 技術手冊第 2 章 - 從JDK到IDE
Java SE 8 技術手冊第 2 章 - 從JDK到IDE
 
Super Keyword in Java.pptx
Super Keyword in Java.pptxSuper Keyword in Java.pptx
Super Keyword in Java.pptx
 
2장. Runtime Data Areas
2장. Runtime Data Areas2장. Runtime Data Areas
2장. Runtime Data Areas
 
Java SE 8 技術手冊第 9 章 - Collection與Map
Java SE 8 技術手冊第 9 章 - Collection與MapJava SE 8 技術手冊第 9 章 - Collection與Map
Java SE 8 技術手冊第 9 章 - Collection與Map
 

Plus de Justin Lin

Ch14 簡介 Spring Boot
Ch14 簡介 Spring BootCh14 簡介 Spring Boot
Ch14 簡介 Spring BootJustin Lin
 
Ch11 簡介 JavaMail
Ch11 簡介 JavaMailCh11 簡介 JavaMail
Ch11 簡介 JavaMailJustin Lin
 
Ch10 Web 容器安全管理
Ch10 Web 容器安全管理Ch10 Web 容器安全管理
Ch10 Web 容器安全管理Justin Lin
 
Ch08 自訂標籤
Ch08 自訂標籤Ch08 自訂標籤
Ch08 自訂標籤Justin Lin
 
14. 進階主題
14. 進階主題14. 進階主題
14. 進階主題Justin Lin
 
13.並行、平行與非同步
13.並行、平行與非同步13.並行、平行與非同步
13.並行、平行與非同步Justin Lin
 
12. 除錯、測試與效能
12. 除錯、測試與效能12. 除錯、測試與效能
12. 除錯、測試與效能Justin Lin
 
11. 常用內建模組
11. 常用內建模組11. 常用內建模組
11. 常用內建模組Justin Lin
 
10. 資料永續與交換
10. 資料永續與交換10. 資料永續與交換
10. 資料永續與交換Justin Lin
 
9. 資料結構
9. 資料結構9. 資料結構
9. 資料結構Justin Lin
 
8. open() 與 io 模組
8. open() 與 io 模組8. open() 與 io 模組
8. open() 與 io 模組Justin Lin
 
7. 例外處理
7. 例外處理7. 例外處理
7. 例外處理Justin Lin
 
6. 類別的繼承
6. 類別的繼承6. 類別的繼承
6. 類別的繼承Justin Lin
 
5. 從模組到類別
5. 從模組到類別5. 從模組到類別
5. 從模組到類別Justin Lin
 
4. 流程語法與函式
4. 流程語法與函式4. 流程語法與函式
4. 流程語法與函式Justin Lin
 
3.型態與運算子
3.型態與運算子3.型態與運算子
3.型態與運算子Justin Lin
 
1. Python起步走
1. Python起步走1. Python起步走
1. Python起步走Justin Lin
 
2. 從 REPL 到 IDE
2. 從 REPL 到 IDE2. 從 REPL 到 IDE
2. 從 REPL 到 IDEJustin Lin
 
Python 3.9 技術手冊目錄
Python 3.9 技術手冊目錄Python 3.9 技術手冊目錄
Python 3.9 技術手冊目錄Justin Lin
 
CH19:深入模組化
CH19:深入模組化CH19:深入模組化
CH19:深入模組化Justin Lin
 

Plus de Justin Lin (20)

Ch14 簡介 Spring Boot
Ch14 簡介 Spring BootCh14 簡介 Spring Boot
Ch14 簡介 Spring Boot
 
Ch11 簡介 JavaMail
Ch11 簡介 JavaMailCh11 簡介 JavaMail
Ch11 簡介 JavaMail
 
Ch10 Web 容器安全管理
Ch10 Web 容器安全管理Ch10 Web 容器安全管理
Ch10 Web 容器安全管理
 
Ch08 自訂標籤
Ch08 自訂標籤Ch08 自訂標籤
Ch08 自訂標籤
 
14. 進階主題
14. 進階主題14. 進階主題
14. 進階主題
 
13.並行、平行與非同步
13.並行、平行與非同步13.並行、平行與非同步
13.並行、平行與非同步
 
12. 除錯、測試與效能
12. 除錯、測試與效能12. 除錯、測試與效能
12. 除錯、測試與效能
 
11. 常用內建模組
11. 常用內建模組11. 常用內建模組
11. 常用內建模組
 
10. 資料永續與交換
10. 資料永續與交換10. 資料永續與交換
10. 資料永續與交換
 
9. 資料結構
9. 資料結構9. 資料結構
9. 資料結構
 
8. open() 與 io 模組
8. open() 與 io 模組8. open() 與 io 模組
8. open() 與 io 模組
 
7. 例外處理
7. 例外處理7. 例外處理
7. 例外處理
 
6. 類別的繼承
6. 類別的繼承6. 類別的繼承
6. 類別的繼承
 
5. 從模組到類別
5. 從模組到類別5. 從模組到類別
5. 從模組到類別
 
4. 流程語法與函式
4. 流程語法與函式4. 流程語法與函式
4. 流程語法與函式
 
3.型態與運算子
3.型態與運算子3.型態與運算子
3.型態與運算子
 
1. Python起步走
1. Python起步走1. Python起步走
1. Python起步走
 
2. 從 REPL 到 IDE
2. 從 REPL 到 IDE2. 從 REPL 到 IDE
2. 從 REPL 到 IDE
 
Python 3.9 技術手冊目錄
Python 3.9 技術手冊目錄Python 3.9 技術手冊目錄
Python 3.9 技術手冊目錄
 
CH19:深入模組化
CH19:深入模組化CH19:深入模組化
CH19:深入模組化
 

CH03:基礎語法