SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
Java SE 8 技術手冊第 3 章 - 基礎語法
Report
Justin Lin
Follow
Technology / Community Evangelist at Free lancer
Aug. 13, 2014
•
0 likes
•
5,343 views
1
of
52
Java SE 8 技術手冊第 3 章 - 基礎語法
Aug. 13, 2014
•
0 likes
•
5,343 views
Download Now
Download to read offline
Report
Technology
認識型態與變數 學習運算子基本使用 瞭解型態轉換細節 運用基本流程語法
Justin Lin
Follow
Technology / Community Evangelist at Free lancer
Recommended
Java SE 8 技術手冊第 1 章 - Java平台概論
Justin Lin
11.6K views
•
44 slides
Java SE 8 技術手冊第 2 章 - 從JDK到IDE
Justin Lin
5.3K views
•
66 slides
Java SE 8 技術手冊第 5 章 - 物件封裝
Justin Lin
3.4K views
•
74 slides
Java SE 8 技術手冊第 12 章 - Lambda
Justin Lin
4.4K views
•
100 slides
Java SE 8 技術手冊第 9 章 - Collection與Map
Justin Lin
4.9K views
•
81 slides
Features of java 02
University of Potsdam
333 views
•
14 slides
More Related Content
What's hot
CH1:Java平台概論
Justin Lin
1.2K views
•
41 slides
Ch02 撰寫與設定 Servlet
Justin Lin
336 views
•
37 slides
Dalvik仮想マシンのアーキテクチャ 改訂版
Takuya Matsunaga
5.3K views
•
20 slides
Java SE 再入門
minazou67
19K views
•
128 slides
Introduction to Java
Professional Guru
1.5K views
•
20 slides
Spring Boot
Jaran Flaath
524 views
•
51 slides
What's hot
(20)
CH1:Java平台概論
Justin Lin
•
1.2K views
Ch02 撰寫與設定 Servlet
Justin Lin
•
336 views
Dalvik仮想マシンのアーキテクチャ 改訂版
Takuya Matsunaga
•
5.3K views
Java SE 再入門
minazou67
•
19K views
Introduction to Java
Professional Guru
•
1.5K views
Spring Boot
Jaran Flaath
•
524 views
4장. Class Loader
김 한도
•
6.5K views
Spring - Part 2 - Autowiring, Annotations, Java based Configuration - slides
Hitesh-Java
•
728 views
History of java'
deepthisujithra
•
14.4K views
Java seminar
devendrakhairwa
•
1.4K views
JDK,JRE,JVM
Cognizant
•
3.6K views
Java buzzwords.pptx
BHARATH KUMAR
•
640 views
Introduction to basics of java
vinay arora
•
3K views
Java Notes
Abhishek Khune
•
65K views
Ch03 請求與回應
Justin Lin
•
228 views
CH09:Collection與Map
Justin Lin
•
286 views
Main method in java
Hitesh Kumar
•
1.2K views
CH1. 簡介 Web 應用程式
Justin Lin
•
1.1K views
Core java
Shivaraj R
•
328 views
Introduction to Spring Framework
Hùng Nguyễn Huy
•
489 views
Viewers also liked
Java SE 8 技術手冊第 4 章 - 認識物件
Justin Lin
4.2K views
•
91 slides
Java SE 8 技術手冊第 6 章 - 繼承與多型
Justin Lin
3.5K views
•
78 slides
Java SE 8 技術手冊第 10 章 - 輸入輸出
Justin Lin
2.6K views
•
48 slides
Java SE 8 技術手冊第 8 章 - 例外處理
Justin Lin
3.2K views
•
70 slides
Java SE 8 技術手冊第 16 章 - 整合資料庫
Justin Lin
2.9K views
•
101 slides
Java SE 8 技術手冊第 18 章 - 自訂泛型、列舉與標註
Justin Lin
2.8K views
•
84 slides
Viewers also liked
(20)
Java SE 8 技術手冊第 4 章 - 認識物件
Justin Lin
•
4.2K views
Java SE 8 技術手冊第 6 章 - 繼承與多型
Justin Lin
•
3.5K views
Java SE 8 技術手冊第 10 章 - 輸入輸出
Justin Lin
•
2.6K views
Java SE 8 技術手冊第 8 章 - 例外處理
Justin Lin
•
3.2K views
Java SE 8 技術手冊第 16 章 - 整合資料庫
Justin Lin
•
2.9K views
Java SE 8 技術手冊第 18 章 - 自訂泛型、列舉與標註
Justin Lin
•
2.8K views
Java SE 8 技術手冊第 17 章 - 反射與類別載入器
Justin Lin
•
2.3K views
Java SE 8 技術手冊第 11 章 - 執行緒與並行API
Justin Lin
•
3.6K views
Java SE 8 技術手冊第 13 章 - 時間與日期
Justin Lin
•
3.4K views
Java SE 8 技術手冊第 14 章 - NIO 與 NIO2
Justin Lin
•
5.6K views
Java SE 8 技術手冊第 7 章 - 介面與多型
Justin Lin
•
2.7K views
Java SE 8 技術手冊第 15 章 - 通用API
Justin Lin
•
2.2K views
Java Tutorial:Learn Java in 06:00:00
Justin Lin
•
27.5K views
進階主題
Justin Lin
•
3K views
3D 之邏輯與美感交會 - OpenSCAD
Justin Lin
•
1.4K views
淺談 Groovy 與 Gradle
Justin Lin
•
8.4K views
從 REPL 到 IDE
Justin Lin
•
2.3K views
從模組到類別
Justin Lin
•
1.7K views
java8-patterns
Justin Lin
•
15.3K views
Java SE 7 技術手冊試讀 - Java 平台概論
Justin Lin
•
5.5K views
Similar to Java SE 8 技術手冊第 3 章 - 基礎語法
Java SE 7 技術手冊投影片第 03 章 - 基礎語法
Justin Lin
3.5K views
•
52 slides
基礎語法
Justin Lin
1.1K views
•
53 slides
CH03:基礎語法
Justin Lin
526 views
•
48 slides
3, operators
ted-xu
242 views
•
20 slides
C 02 c语言的基本数据类型与表达式
1138177709
160 views
•
40 slides
第2章数据类型、运算符和表达式
summerfeng
177 views
•
50 slides
Similar to Java SE 8 技術手冊第 3 章 - 基礎語法
(8)
Java SE 7 技術手冊投影片第 03 章 - 基礎語法
Justin Lin
•
3.5K views
基礎語法
Justin Lin
•
1.1K views
CH03:基礎語法
Justin Lin
•
526 views
3, operators
ted-xu
•
242 views
C 02 c语言的基本数据类型与表达式
1138177709
•
160 views
第2章数据类型、运算符和表达式
summerfeng
•
177 views
SCJP ch04
r82093403
•
382 views
3. java basics
netdbncku
•
735 views
More from Justin Lin
Ch14 簡介 Spring Boot
Justin Lin
859 views
•
22 slides
Ch13 整合 Spring MVC/Security
Justin Lin
279 views
•
58 slides
Ch12 Spring 起步走
Justin Lin
261 views
•
31 slides
Ch11 簡介 JavaMail
Justin Lin
155 views
•
8 slides
Ch10 Web 容器安全管理
Justin Lin
152 views
•
30 slides
Ch09 整合資料庫
Justin Lin
229 views
•
92 slides
More from Justin Lin
(20)
Ch14 簡介 Spring Boot
Justin Lin
•
859 views
Ch13 整合 Spring MVC/Security
Justin Lin
•
279 views
Ch12 Spring 起步走
Justin Lin
•
261 views
Ch11 簡介 JavaMail
Justin Lin
•
155 views
Ch10 Web 容器安全管理
Justin Lin
•
152 views
Ch09 整合資料庫
Justin Lin
•
229 views
Ch08 自訂標籤
Justin Lin
•
131 views
Ch07 使用 JSTL
Justin Lin
•
154 views
Ch06 使用 JSP
Justin Lin
•
245 views
Ch05 Servlet 進階 API、過濾器與傾聽器
Justin Lin
•
199 views
Ch04 會話管理
Justin Lin
•
235 views
14. 進階主題
Justin Lin
•
400 views
13.並行、平行與非同步
Justin Lin
•
233 views
12. 除錯、測試與效能
Justin Lin
•
148 views
11. 常用內建模組
Justin Lin
•
140 views
10. 資料永續與交換
Justin Lin
•
148 views
9. 資料結構
Justin Lin
•
284 views
8. open() 與 io 模組
Justin Lin
•
242 views
7. 例外處理
Justin Lin
•
114 views
6. 類別的繼承
Justin Lin
•
165 views
Recently uploaded
ncuma_函式.pptx
NCU MCL
5 views
•
10 slides
ncuma_Taylor 多項式.pptx
NCU MCL
12 views
•
6 slides
ncuma_Taylor 多項式_習題2.pptx
NCU MCL
7 views
•
2 slides
ncuma_Taylor 多項式_習題1.pptx
NCU MCL
9 views
•
2 slides
ncuma_pylab.pptx
NCU MCL
8 views
•
24 slides
ncuma_型別與迴圈.pptx
NCU MCL
103 views
•
26 slides
Recently uploaded
(11)
ncuma_函式.pptx
NCU MCL
•
5 views
ncuma_Taylor 多項式.pptx
NCU MCL
•
12 views
ncuma_Taylor 多項式_習題2.pptx
NCU MCL
•
7 views
ncuma_Taylor 多項式_習題1.pptx
NCU MCL
•
9 views
ncuma_pylab.pptx
NCU MCL
•
8 views
ncuma_型別與迴圈.pptx
NCU MCL
•
103 views
ncuma_字串.pptx
NCU MCL
•
6 views
2022 台灣企業AI趨勢報告.pdf
JoyceHsu27
•
8 views
ncuma_函數畫圖_習題2.pptx
NCU MCL
•
6 views
ncuma_函數畫圖.pptx
NCU MCL
•
20 views
ncuma_函數畫圖_習題1.pptx
NCU MCL
•
22 views
Java SE 8 技術手冊第 3 章 - 基礎語法
2.
基礎語法 學習目標 • 認識型態與變數 • 學習運算子基本使用 •
瞭解型態轉換細節 • 運用基本流程語法
3.
型態 • Java 可區分為兩大型態系統: –
基本型態( Primitive type ) – 類別型態( Class type )
4.
型態 • 整數 – 可細分為
short 整數(佔 2 個位元組)、 int 整數(佔 4 個位元組)與 long 整數(佔 8 個位 元組) • 位元組 – byte 型態,長度就是一個位元組 • 浮點數 – 可分為 float 浮點數(佔 4 個位元組)與 double 浮點數(佔 8 個位元組)
5.
型態 • 字元 – char
型態用來儲存‘ A’ 、‘ B’ 、‘林’等字元符號 – 在 JDK8 中, Java 的字元採 Unicode 6.2.0 編碼 – JVM 實作採 UTF-16 Big Endian ,所以每個字元 型態佔兩個位元組,中文字元與英文字元在 Java 中同樣都是用兩個位元組儲存 • 布林 – boolean 型態可表示 true 與 false
6.
型態 • 各種型態可儲存的數 範圍,可以透過值
API 來得知:
7.
型態 • 單行註解 // •
多行註冊 /**/
8.
型態 • 以下使用多行註解的方式是不對的:
9.
• System.out.printf() 是什麼?
11.
變數 • 想像一下程式中輸出 10
的部份很多,如果想 要一次把它改為 20 …
12.
變數 • 想要宣告何種型態的變數,就使用 byte 、
short 、 int 、 long 、 float 、 doub le 、 char 、 boolean 等關鍵字來宣告 • 變數在命名時有一些規則,它不可以使用數字作為 開頭,也不可以使用一些特殊字元,像是 * 、 & 、 ^ 、 % 之類的字元 • 變數名稱不可以與 Java 的關鍵字( Keyword )同 名,例如 int 、 float 、 class 等就不能用來作 為變數 • 變數名稱也不可以與 Java 保留字( Reversed word )同名,例如 goto 就不能用來作為變數名稱
13.
變數 • 在 Java
領域中的命名慣例( Naming convention ),通常會以小寫字母開始,並 在每個單字開始時第一個字母使用大寫,稱 為駝峰式( Camel case )命名法
14.
變數 • 在 Java
中宣告一個區域變數,就會為變數配 置記憶體空間,但不會給這塊空間預設值 • 不可以宣告區域變數後未指定任何 給它之值 前就使用變數
15.
變數 • 如果在指定變數 之後,就不想再改變變數值 ,可以在宣告變數時加上值
final 限定 • 如果後續撰寫程式時,自己或別人不經意想 修改 final 變數,就會出現編譯錯誤
16.
變數 • 字面常數( Literal
constant )
17.
變數
18.
變數 • Java SE
7 字面常量表示法
19.
運算子 • 以下程式碼片段會在文字模式下顯示 7 •
以下程式碼會顯示的是 6 : • 以下程式碼顯示的是 3 :
20.
運算子 • % 運算子計算的結果是除法後的餘數
21.
運算子 • 比較運算子( Comparison
operator )
22.
運算子 • 條件運算子( Conditional
operator )
23.
運算子 • 邏輯運算
24.
運算子 • 捷徑運算( Short-Circuit
Evaluation ) – 因為 AND 只要其中一個為假,就可以判定結果 為假,所以對 && 來說,只要左運算元 ( Operand )評估為 false ,就會直接傳回 false ,不會再去運算右運算元 – 因為 OR 只要其中一個為真,就可以判定結果為 真,所以對 || 來說,只要左運算元評估為 true ,就會直接傳回 true ,就不會再去運算 右運算元
25.
運算子 • 除數為 0
會發生 ArithmeticException ,代表除 0 的錯 誤,以下運用 && 捷徑運算避免了這個問題 :
26.
運算子 • 位元運算
27.
運算子 • 補數運算是將所有位元 0
變 1 , 1 變 0 。例 如 00000001 經補數運算就會變為 11111110
28.
運算子 • 左移( <<
)與右移( >> )
29.
運算子 • 遞增、遞減運算
30.
運算子
31.
運算子 • 指定運算
32.
型態轉換 • 這個片段編譯時沒有問題… • 如果你寫了個程式片段
…
33.
型態轉換 • 在程式中寫下一個浮點數時,編譯器預設會 使用 double
型態 • 編譯器會告知想將 double 長度的資料指定 給 float 型態變數,會因為 8 個位元組資料 要放到 4 個位元組空間,而遺失 4 個位元組 的資料
34.
型態轉換 • 兩種方式可以避免這個錯誤… • 使用
(float) 語法告訴編譯器,你就是要 將 double 型態的 3.14 指定給 float 變數 ,別再囉 了嗦 • 後果自負…遺失精度而發生程式錯誤了,那 絕不是編譯器的問題
35.
型態轉換 • 這沒有問題 … •
但…
36.
型態轉換 • 程式中寫下一個整數時,預設是使用不超過 int 型態長度 •
2147483648 超出了 int 型態的長度 • 直接告訴編譯器,用 long 來配置整數的長 度,也就是在數字後加上個 L
37.
型態轉換 • 程式中寫下一個整數時,預設是使用不超過 int 型態長度 •
不過這樣不行:
38.
型態轉換 • 如果運算式中包括不同型態數 ,則運算時值 以長度最長的型態為主,其它數
自動提昇值 ( Promote )型態 • a 是 int 型態,而寫下的 3.14 預設是 double ,所以 a 的值被提至 double 空間 進行運算
39.
型態轉換 • 如果運算元都是不大於 int
的整數,則自動 全部提昇為 int 型態進行運算 • int 的運算結果要放到 short ,編譯器就又 會囉 遺失精度的問題嗦
40.
型態轉換 • 你要告訴編譯器,就是要將 int
的運算結果 丟到 short ,請它住嘴: • 這次怎麼又遺失精度?
41.
型態轉換 • b 是
long 型態,於是 a 也被提至 long 空 間中作運算, long 的運算結果要放到 int 變數 c ,自然就會被編譯器囉嗦精度遺失了 • 如果這真的是你想要的,那就叫編譯器住嘴 吧!
42.
型態轉換 • 以下你覺得會顯示多少? • 答案是
3 ,而不是 3.333333.... ,因為 10 與 3 會在 int 長度的空間中作運算
43.
型態轉換 • 在玩弄語法? • count
+ 1 > Integer.MAX_VALUE 永 遠不會成立
44.
流程控制 • if..else 條件式
45.
流程控制 • 如果 if
或 else 中只有一行陳述句,則 { 與 } 可以省略 • 不過為了可讀性與可維護性而言,現在建議 是就算只有一行陳述句,也要撰寫 { 與 } 明 確定義範圍
46.
流程控制 • 不過以下情況倒是省略 {
與 } 後比較有可讀 性
47.
流程控制
48.
流程控制 • switch 條件式
49.
流程控制 • for 迴圈
50.
流程控制 • while 迴圈
51.
流程控制 • do..while 迴圈
52.
流程控制 • break 可以離開目前 switch
、 for 、 while 、 do..while 的 區塊 • 使用於迴圈, break 會結束區塊執行,而 continue 只會略過之後陳述句,並回到迴 圈區塊開頭進行下一次迴圈