CH03:基礎語法

Justin Lin
Justin LinTechnology / Community Evangelist at Free lancer
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
1 of 48

Recommended

CH04:認識物件 by
CH04:認識物件CH04:認識物件
CH04:認識物件Justin Lin
421 views87 slides
CH1:Java平台概論 by
CH1:Java平台概論CH1:Java平台概論
CH1:Java平台概論Justin Lin
1.2K views41 slides
CH02:從JDK到IDE by
CH02:從JDK到IDECH02:從JDK到IDE
CH02:從JDK到IDEJustin Lin
481 views58 slides
Java SE 8 技術手冊第 1 章 - Java平台概論 by
Java SE 8 技術手冊第 1 章 - Java平台概論Java SE 8 技術手冊第 1 章 - Java平台概論
Java SE 8 技術手冊第 1 章 - Java平台概論Justin Lin
11.6K views44 slides
CH09:Collection與Map by
CH09:Collection與MapCH09:Collection與Map
CH09:Collection與MapJustin Lin
288 views87 slides
CH11:執行緒與並行API by
CH11:執行緒與並行APICH11:執行緒與並行API
CH11:執行緒與並行APIJustin Lin
320 views89 slides

More Related Content

What's hot

Java SE 8 技術手冊第 2 章 - 從JDK到IDE by
Java SE 8 技術手冊第 2 章 - 從JDK到IDEJava SE 8 技術手冊第 2 章 - 從JDK到IDE
Java SE 8 技術手冊第 2 章 - 從JDK到IDEJustin Lin
5.3K views66 slides
Java SE 8 技術手冊第 5 章 - 物件封裝 by
Java SE 8 技術手冊第 5 章 - 物件封裝Java SE 8 技術手冊第 5 章 - 物件封裝
Java SE 8 技術手冊第 5 章 - 物件封裝Justin Lin
3.4K views74 slides
Introduction of java by
Introduction  of javaIntroduction  of java
Introduction of javaMadishetty Prathibha
621 views20 slides
Swift Programming Language by
Swift Programming LanguageSwift Programming Language
Swift Programming LanguageAnıl Sözeri
2.5K views25 slides
Java SE 8 技術手冊第 4 章 - 認識物件 by
Java SE 8 技術手冊第 4 章 - 認識物件Java SE 8 技術手冊第 4 章 - 認識物件
Java SE 8 技術手冊第 4 章 - 認識物件Justin Lin
4.2K views91 slides
Swift programming language by
Swift programming languageSwift programming language
Swift programming languageNijo Job
4.2K views27 slides

What's hot(20)

Java SE 8 技術手冊第 2 章 - 從JDK到IDE by Justin Lin
Java SE 8 技術手冊第 2 章 - 從JDK到IDEJava SE 8 技術手冊第 2 章 - 從JDK到IDE
Java SE 8 技術手冊第 2 章 - 從JDK到IDE
Justin Lin5.3K views
Java SE 8 技術手冊第 5 章 - 物件封裝 by Justin Lin
Java SE 8 技術手冊第 5 章 - 物件封裝Java SE 8 技術手冊第 5 章 - 物件封裝
Java SE 8 技術手冊第 5 章 - 物件封裝
Justin Lin3.4K views
Swift Programming Language by Anıl Sözeri
Swift Programming LanguageSwift Programming Language
Swift Programming Language
Anıl Sözeri2.5K views
Java SE 8 技術手冊第 4 章 - 認識物件 by Justin Lin
Java SE 8 技術手冊第 4 章 - 認識物件Java SE 8 技術手冊第 4 章 - 認識物件
Java SE 8 技術手冊第 4 章 - 認識物件
Justin Lin4.2K views
Swift programming language by Nijo Job
Swift programming languageSwift programming language
Swift programming language
Nijo Job4.2K views
Java SE 8 技術手冊第 9 章 - Collection與Map by Justin Lin
Java SE 8 技術手冊第 9 章 - Collection與MapJava SE 8 技術手冊第 9 章 - Collection與Map
Java SE 8 技術手冊第 9 章 - Collection與Map
Justin Lin4.9K views
Ch12 Spring 起步走 by Justin Lin
Ch12 Spring 起步走Ch12 Spring 起步走
Ch12 Spring 起步走
Justin Lin274 views
Introduction to Java Programming Language by jaimefrozr
Introduction to Java Programming LanguageIntroduction to Java Programming Language
Introduction to Java Programming Language
jaimefrozr26.2K views
Java Virtual Machine - Internal Architecture by subnesh
Java Virtual Machine - Internal ArchitectureJava Virtual Machine - Internal Architecture
Java Virtual Machine - Internal Architecture
subnesh2.4K views
Introduction to java by Java Lover
Introduction to java Introduction to java
Introduction to java
Java Lover5K views
Introduction to java by Saba Ameer
Introduction to javaIntroduction to java
Introduction to java
Saba Ameer1.6K views
Core java by Ravi varma
Core java Core java
Core java
Ravi varma800 views
Introduction to java (revised) by Sujit Majety
Introduction to java (revised)Introduction to java (revised)
Introduction to java (revised)
Sujit Majety728 views

More from Justin Lin

Ch14 簡介 Spring Boot by
Ch14 簡介 Spring BootCh14 簡介 Spring Boot
Ch14 簡介 Spring BootJustin Lin
872 views22 slides
Ch13 整合 Spring MVC/Security by
Ch13 整合 Spring MVC/SecurityCh13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/SecurityJustin Lin
280 views58 slides
Ch11 簡介 JavaMail by
Ch11 簡介 JavaMailCh11 簡介 JavaMail
Ch11 簡介 JavaMailJustin Lin
157 views8 slides
Ch10 Web 容器安全管理 by
Ch10 Web 容器安全管理Ch10 Web 容器安全管理
Ch10 Web 容器安全管理Justin Lin
153 views30 slides
Ch09 整合資料庫 by
Ch09 整合資料庫Ch09 整合資料庫
Ch09 整合資料庫Justin Lin
233 views92 slides
Ch08 自訂標籤 by
Ch08 自訂標籤Ch08 自訂標籤
Ch08 自訂標籤Justin Lin
133 views54 slides

More from Justin Lin(20)

Ch14 簡介 Spring Boot by Justin Lin
Ch14 簡介 Spring BootCh14 簡介 Spring Boot
Ch14 簡介 Spring Boot
Justin Lin872 views
Ch13 整合 Spring MVC/Security by Justin Lin
Ch13 整合 Spring MVC/SecurityCh13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/Security
Justin Lin280 views
Ch11 簡介 JavaMail by Justin Lin
Ch11 簡介 JavaMailCh11 簡介 JavaMail
Ch11 簡介 JavaMail
Justin Lin157 views
Ch10 Web 容器安全管理 by Justin Lin
Ch10 Web 容器安全管理Ch10 Web 容器安全管理
Ch10 Web 容器安全管理
Justin Lin153 views
Ch09 整合資料庫 by Justin Lin
Ch09 整合資料庫Ch09 整合資料庫
Ch09 整合資料庫
Justin Lin233 views
Ch08 自訂標籤 by Justin Lin
Ch08 自訂標籤Ch08 自訂標籤
Ch08 自訂標籤
Justin Lin133 views
Ch07 使用 JSTL by Justin Lin
Ch07 使用 JSTLCh07 使用 JSTL
Ch07 使用 JSTL
Justin Lin161 views
Ch06 使用 JSP by Justin Lin
Ch06 使用 JSPCh06 使用 JSP
Ch06 使用 JSP
Justin Lin250 views
Ch05 Servlet 進階 API、過濾器與傾聽器 by Justin Lin
Ch05 Servlet 進階 API、過濾器與傾聽器Ch05 Servlet 進階 API、過濾器與傾聽器
Ch05 Servlet 進階 API、過濾器與傾聽器
Justin Lin204 views
Ch04 會話管理 by Justin Lin
Ch04 會話管理Ch04 會話管理
Ch04 會話管理
Justin Lin238 views
Ch03 請求與回應 by Justin Lin
Ch03 請求與回應Ch03 請求與回應
Ch03 請求與回應
Justin Lin236 views
Ch02 撰寫與設定 Servlet by Justin Lin
Ch02 撰寫與設定 ServletCh02 撰寫與設定 Servlet
Ch02 撰寫與設定 Servlet
Justin Lin352 views
CH1. 簡介 Web 應用程式 by Justin Lin
CH1. 簡介 Web 應用程式CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式
Justin Lin1.2K views
14. 進階主題 by Justin Lin
14. 進階主題14. 進階主題
14. 進階主題
Justin Lin405 views
13.並行、平行與非同步 by Justin Lin
13.並行、平行與非同步13.並行、平行與非同步
13.並行、平行與非同步
Justin Lin237 views
12. 除錯、測試與效能 by Justin Lin
12. 除錯、測試與效能12. 除錯、測試與效能
12. 除錯、測試與效能
Justin Lin153 views
11. 常用內建模組 by Justin Lin
11. 常用內建模組11. 常用內建模組
11. 常用內建模組
Justin Lin149 views
10. 資料永續與交換 by Justin Lin
10. 資料永續與交換10. 資料永續與交換
10. 資料永續與交換
Justin Lin156 views
9. 資料結構 by Justin Lin
9. 資料結構9. 資料結構
9. 資料結構
Justin Lin292 views
8. open() 與 io 模組 by Justin Lin
8. open() 與 io 模組8. open() 與 io 模組
8. open() 與 io 模組
Justin Lin245 views

CH03:基礎語法