第 2 章 初探 Java.

Slides:



Advertisements
Similar presentations
软件编程基础 一、程序的编辑 Java 源程序是以 Java 为后缀的简单的文本文件,可以用各种 Java 集成开发环境中的源代码编辑器来编写,也可以用其他文 本编辑工具,如 Windows 中的记事本或 DOS 中的 EDIT 软件等。 利用文字编辑器编写下列程序 public class Hello.
Advertisements

Java 大学实用教程 ( 第 3 版 ) 主讲:程继洪 第 1 章 Java 语言概述  本章导读 Java 语言的诞生Java 语言的诞生 学习 Java 的必要性 学习 Java 的必要性 Java 的特点及与 C/C++ 之关系Java 的特点及与 C/C++ 之关系.
程序设计语言基础 软件工程系 秦晓燕. 课程目标 了解面向对象程序设计的思想,以及软件 开发流程。 学习 Java 语言的基本概念和编程方法,基 本掌握 Java 类库的使用。 能够利用所学的方法开发简单的小型应用 程序.
JAVA 概述 主讲:张雷. J2ME API 地址: 广东科贸信息工程 张雷学习要求 了解各种程序设计语言及其特点 了解各种程序设计语言及其特点 了解 JAVA 的发展史和其特点 了解 JAVA 的发展史和其特点.
1 97 年度新住民子女教育研討會 九十七年十月二十九日 柯伯儒 [1] 詹雅琄 [2] [1] [2] [1] [1] 國立台北教育大學課程與教學研究所博士生、 彰化縣二林鎮廣興國小主任 [2] [2] 國立台中教育大學課程與教學研究所研究生、 彰化縣二林鎮廣興國小教師 有效提升國小新住民子女 語文學習的策略.
語文教學分享心得 組員: B 蘇品綺 B 張慈真 B 陳怡君 B 蕭美玲 B 王雅萍 B 蔡佳珍.
環保 環保問題社會病態行為 從選購產品方面 家庭廢棄物的處理 住家的節約能源方面. 環保問題社會病態行為 社會功利主義過盛,疏忽善盡設備的責任; 缺乏惜福愛物的觀念,以自我為重心,任 意破壞使用資源; 「家」的觀念過度狹隘,只顧裝修生活的 表面,缺乏公同經營人類共有的家 — 地球 的概念; 無正確的理財觀念,而以金錢的謀取為目.
急性腹痛 急性疼痛. 急性疼痛 — 孙树杰、沈洪、 刘保池 (1)(1)(1)(1) 概 述 (2)(2)(2)(2) 重症急性腹痛的临床特点 (3)(3)(3)(3) 急性腹痛的分类及诊治 主要教学内容.
第1章 Java语言概述.
《 Java开发环境配置》 主讲人:耿力.
Java 2实用教程(第3版)教学课件 主讲教师:张国平
宿建德江 內容探究 問題討論 語文小詞典 絕句淺說 借代修辭 (補充說明借代法) 延伸閱讀 應用練習 (二)
母親的教誨 胡適 投影片設計:邱芳芸、謝瑞珍.
 教学要求  本次课小结 4.6 在文档中插入表格 徐水职教中心计算机教研室
市直单位财务明细信息表 填报说明 珠海市财政局 2013年12月 1.
工 业 产 品 设 计 广义的工业设计:产品设计、环境设计、视觉传达设计。 狭义的工业设计:产品设计。
第五章银行负债业务 孙小平 经济教研室.
C语言程序设计 李伟光.
教學經驗分享 吳毅成 國立交通大學資訊工程系 2012年4月.
建设工程保险制度案例分析 班级:建工134 学号: 姓名:韩秀昆.
第5章 排版的高级应用.
岳麓版历史必修一 近代西方资本主义政体的建立 近代西方资本主义政体的建立 山东师大附中 侯新磊.
九十二年度第二次 會計作業實務座談會 主辦單位:會計室.
如何生动形象地 写人记事.
Word高级应用——制作毕业论文 Word高级应用——制作毕业论文 6..
Java程序设计教程 第一讲 Java概述.
中国特色社会主义政党制度 主讲:西南大学 李强 2011年12月28日.
小组工作实训课(1) 第 教案 04.
99年成語200題庫(21-40).
第 2 章 初探 C++.
Java的程式架構與基本觀念 Java語言的歷史 Java程式的開發環境 Java程式的架構 輸出與輸入物件之使用 工具使用方法介紹
四資二甲 第三週作業 物件導向程式設計.
通用技术教学与实践 常德市鼎城区第八中学 刘启红.
模块三、中文 Word 2003 的基本操作 3.1 Word 2003 基本操作 3.2 文档的排版 3.3 页面设置与打印 3.4 表格
欢迎南京市政治学科的教研同仁 光临指导.
第五节 表格处理 创建表格 表格的编辑与格式化.
创业计划书的编写 白城师范学院创业教育 与文化研究中心 陆东辉.
生物学 新课标.
北京科技大学天津学院 信息工程系 面 向 对 象 程 序 设 计 第1讲 Java初探 主讲:于静.
安徽地税机打发票系统培训 2015年3月.
經濟部文書作業實務 報告人:何國金.
第三章 专业化制作演示文稿.
2010年高考语文《考试大纲》对本考点的要求是:“正确使用标点符号。”能力层级为D(表达应用)。
基隆市立八斗高中 102 學年度第二學期 402 班『親師座談』
崇右技術學院 電子公文線上簽核系統教育訓練
簡易送審動態案件網 路報送作業操作訓練 資料來源 銓敘部製作 報告人 饒瑞恭 日 期: 101 年 6 月 15 日.
第 13 章 套件 (Packages).
申請土地徵收注意事項 內政部地政司 邱于蓉.
注重物理基本思想和方法教学 讲究实效 ——2012年高考物理复习备考建议
經國管理學院 電子公文線上簽核系統教育訓練
實作輔導 日期: 3/11 09:10~16:00 地點:臺北市立大學 臺北市中正區愛國西路一號 (中正紀念堂站7號出口)
Java基础入门 第1章 Java开发入门 · Java语言的特点 · Java开发环境的搭建 · 环境变量的配置 · Java的运行机制.
GeoGebra 數學繪圖初級課程.
東部海岸 馬蘭國小 五年己班 閔芳頤 Enter
第1章 Java语言概述 学习目标 本章要点 上机练习 习 题.
國有公用財產管理簡介 總 務 處 保管組 104年04月07日.
注音輸入法教學 大華技術學院資管系 指導老師:陳信如老師 學生:王麗嵐.
Java程式初體驗大綱 大綱 在學程式之前及本書常用名詞解釋 Hello Java!程式 在Dos下編譯、執行程式
合歡山 馬蘭國小 五年己班 何宜倞 ENTER.
聚合型第一種:隱沒帶、島弧 例子:臺灣東方的琉球海溝、南美洲智利海溝. 聚合型第一種:隱沒帶、島弧 例子:臺灣東方的琉球海溝、南美洲智利海溝.
如何制订幼儿园园本培训工作计划 大连亿达世纪城幼儿园 姜承华 2011年3月10日.
大学计算机基础——周口师范学院 第3章 Word字处理软件 3.8页眉与页脚.
霧台--魯凱族祕境.
方格紙上畫正方形.
手机淘宝“变形”产品—微淘 操作流程指南 (内测版).
第4讲 类和对象、异常处理 ggao.
對於成員(member)存取權的限制 成員的資料被毫無限制的存取,任誰都可以指定任意值給成員,Java語言為了防止這種現象的產生,規定:有一種成員的資料不能任由類別外部的任何人隨意存取。
判斷(選擇性敘述) if if else else if 條件運算子.
輸出執行結果到螢幕上 如果要將執行結果的文字和數值都「輸出」到電腦螢幕時,程式要怎麼寫? class 類別名稱 {
走讀台灣旅遊計畫範本.
Presentation transcript:

第 2 章 初探 Java

本章提要 2-1 撰寫第一個 Java 程式 2-2 Java 程式的組成要素

2-1 撰寫第一個 Java 程式 要使用 Java 程式語言, 您必須先將依照 Java 語法撰寫的程式儲存在一個純文字檔案中。 再利用 Java 程式語言的編譯器轉譯程式, 將您所撰寫的 Java 程式轉譯成 Java 虛擬機器的機器碼, 也稱為 Byte Code。 然後再使用 Java 虛擬機器來執行轉譯出來的機器碼。 如果執行結果有問題, 就必須回頭修改程式, 再重複前面所描述的步驟。

撰寫第一個 Java 程式

2-1-1 用文字編輯器撰寫程式 要撰寫 Java 程式, 必須使用文字編輯器 (Text Editor), 像是 Windows 所內附的記事本, 或者是坊間一般流行的 UltraEdit 這類付費軟體來撰寫, 而不是使用 Word 這一類的文書處理軟體。 您也可以在網路上找到許多功能不錯、免費的文字編輯器, 像是 Crimson Editor、VIM 等等。

為什麼不能使用文書處理軟體 撰寫 Java 程式 像是 Word 之類的文書處理軟體, 由於必須記錄段落文字的樣式 (大小、顏色、字體) , 因此除了您鍵入的文字以外, 儲存檔案時還會儲存許多相關文字樣式的資訊, 而且預設會以其自訂的格式儲存文字與相關資訊。 Java 編譯器既不認得這些文書處理軟體的檔案格式, 也無法認得其中所儲存的相關資訊, 因此無法正確編譯程式, 所以請不要使用文書處理軟體來撰寫程式。

使用文字編輯器撰寫程式 請使用文字編輯器, 撰寫如下的程式: 並請儲存為 FirstJava.java 這樣的檔名。

2-1-2 編譯寫好的程式 撰寫好並儲存 FirstJava.java 這個程式檔後, 就可以利用 Java 編譯器來進行編譯。 請執行開始/所有程式/附屬應用程式/命令提示字元命令, 開啟命令提示字元視窗。 先利用 cd 指令切換到您儲存程式檔案的資料夾, 例如若 FirstJava.java 是儲存在 C 磁碟的 test 資料夾下, 就必須先執行以下的指令, 切換到該資料夾:

編譯寫好的程式 然後鍵入以下指令進行編譯: 如果編譯之後發現有錯誤, 請回過頭去檢查您所鍵入的程式, 看看是不是有甚麼地方打錯了? 如果還是有問題, 請參考『 2-1-4 撰寫 Java 程式的注意事項』一節, 仔細檢查的程式。

2-1-3 執行程式 一旦編譯完成, 沒有任何錯誤, 您就可以執行剛剛所撰寫的程式了。 請在您所開啟的命令提示字元視窗中, 鍵入以下指令執行剛剛編譯好的程式:

執行程式 以下就是編譯到執行的實際結果:

2-1-4 撰寫 Java 程式的注意事項 檔案名稱: 檔案名稱必須和第 1 行 public class 之後的 FirstJava 相符, 並且加上 .java 作為副檔名, 以標示這是一個 Java 程式。 因此, 儲存的檔案必須取名為 FirstJava.java, 如果取錯名字, 編譯的時候就會出現錯誤訊息。 例如, 剛剛的程式如果儲存在 First.java 中, 則編譯的結果如下:

撰寫 Java 程式的注意事項 錯誤訊息告訴您必須將程式儲存在一個名為 FirstJava.java 的檔案裡。

撰寫 Java 程式的注意事項 英文字大小寫不同: 全形與半形不同: Java 編譯器會視英文字母的大小寫為不同的字母。 舉例來說, 第 3 行一開頭的 System 不能寫為 system, 也不能寫為 SYSTEM, 否則編譯時一樣都會有錯誤訊息。 全形與半形不同: 在程式中必須使用半形的標點符號以及括號。 舉例來說,『{ 』就不能寫為『{』, 當然,『;』也不能使用全形的『;』。

撰寫 Java 程式的注意事項 執行時不需指定副檔名: 執行編譯好的程式時, 只需要指定主檔名, 也就是檔案名稱中 .java 之前的部分。 如果您連帶列出副檔名的話, 就會出現執行錯誤的狀況, 像是這樣:

撰寫 Java 程式的注意事項 另外, 執行時所指定的主檔名部分大小寫必須相符。 以本例來說, 主檔名必須和第 1 行 public class 之後的名稱一樣, 也就是 FirstJava, 如果您的大小寫不對, 執行就會發生錯誤, 例如:

撰寫 Java 程式的注意事項

撰寫 Java 程式的注意事項 無法執行 javac.exe 或是 java.exe: 這很可能是忘記設定環境變數 path 的值, 請參考附錄 C。

2-2 Java 程式的組成要素 區塊 (Block) Java 程式的起點--main 敘述 (Statement) 為程式加上註解 (Comment)

2-2-1 區塊 (Block) 再來看看剛剛所撰寫的 FirstJava 程式:

區塊 (Block) 程式中以一對大括號 { 與 } 括起來的部分稱為區塊 (Block), 區塊中可以包含其他的區塊, 像是第 1 ~ 5 行的區塊就包含了第 2 ~ 4 行的區塊。 在左大括號 (即 {) 左邊的文字代表的是該區塊的種類與名稱, 不同的區塊構成 Java 程式中的各種元素, 後續的章節會說明每一種區塊的意義。

區塊 (Block) 為了突顯出區塊, 並且方便辨識區塊的包含關係, 在撰寫程式時會把區塊的內容往右邊縮排 (Indent)。 舉例來說, 第 2 ~ 4 行的區塊因為是內含在第1 ~ 5 行的區塊內, 所以將整個區塊往右縮, 這樣在視覺上就可以清楚的區分出區塊間的關係。要注意的是, 這純粹是為了撰寫或閱讀程式時辨識上的方便, 而非必要的作法, 您也可以把相同的程式寫成這樣:

區塊 (Block) 一樣可以正常編譯執行。 至於縮排時要往右移多少空格, 則是憑個人喜好而定, 我們建議以 2 ~ 4 個空格最恰當。在本書中, 所有的程式都是以 2 個空格為縮排的間隔。

2-2-2 Java 程式的起點--main 在範例程式的區塊中, 有一個區塊是每一個 Java 程式都必須要有的, 就是第 2 ~ 4 行的區塊, 這個區塊稱為 main() 方法, 意思是說, 這個區塊構成了一個方法 (Method), 而 main 是這個方法的名字。 至於方法的意義, 會在第 8 章說明, 這裡只要先記住每一個 Java 程式都必須要有一個 main() 方法即可。

main() 方法的名稱 由於 Java 是英文字母大小寫不同, 因此要特別注意 main 是全部小寫。 除此之外, 第一行 public class 之後的名稱也會依據程式的目的不同而命名, 以適度說明程式的內容。

Java 程式的起點--main main() 方法是 Java 程式真正執行時的起點, 當 Java 程式執行時, 會從這個區塊內的程式開始循序執行, 直到這個區塊結束為止。 以 FirstJava.java 來說, main() 方法中只有一行程式, 這行程式的作用就是在螢幕上印出訊息。

Java 程式的起點--main 其中, 以一對雙引號 ("") 所括起來的內容就是要印出的訊息, 在本例中, 就是印出『這是我的第一個 Java 程式。』只要變化用雙引號括起來的內容, 就可以印出不同的訊息。 因此, 只要更改 main() 方法的內容, 程式的執行結果就會不同。 舉例來說, 我們可以修改 FirstJava.java 程式, 讓 main() 方法的內容更加豐富, 例如:

Java 程式的起點--main

Java 程式的起點--main 在 SecondJava.java 這個程式中, main() 方法內有 2 行程式, 分別印出兩段訊息。這樣, 程式就變成印出這 2 行訊息了。 從這一章開始, 範例程式都會依循和 FirstJava.java 相似的架構, 僅有內部的區塊, 也就是 main() 方法有所差別, 來執行不同的動作:

Java 程式的起點--main 除此之外, 第一行 public class 之後的名稱也會依據程式的目的不同而命名, 以適度說明程式的內容。

敘述 (Statement) 如果細部來看單一個區塊, 那麼每個區塊又是由一或多個敘述 (Statement) 所構成。 簡單的敘述是以分號 (;) 結尾, 其他的敘述則是以一個區塊作為結尾。以 SecondJava.java 為例, 在 main() 方法這個區塊中就有兩個敘述, 分別是:

敘述 (Statement) Java 程式基本上就是由敘述組合而成, 而程式在執行時就是以敘述為單元, 由上往下循序進行。

敘述結尾字元 要注意的是, 簡單的敘述是以分號為分隔, 同一個敘述可以分成多行撰寫, 和寫在同一行是一樣的效果。 多個簡單敘述也可以寫在同一行, 結果和每一個敘述單獨撰寫成一行相同。 舉例來說, 以下這個程式就和 SecondJava.java 意義完全相同, 只是斷行的方式不同而已:

敘述結尾字元 其中 3 、4 兩行就是原本的第 3 行 而 5 、6 兩行則是原本的第 4 行。

字符 (Token) 與空白符號(Whitespace) 例如 SecondJava.java 的第 3 行『System.out.println ("這是我所寫的第二個 Java 程式,");』就是由『System』、『.』、『out』、『.』、『println』、『(』、『" 這是我所寫的第二個 Java 程式,"』、『)』、『;』這些字符所組成。

字符 (Token) 與空白符號 (Whitespace) 舉例來說, 以下的程式雖然在 "println" 與 "(" 間加上了額外的空白, 但和SecondJava.java 的意義是相同的:

字符 (Token) 與空白符號 (Whitespace) 但是如果字符間不相隔開會造成混淆的話, 就一定得加上空白符號。 舉例來說, 第 2 行的 public、static、void 與 main 這 4 個字符中間若不以分隔字元隔開, 就變成 publicstaticvoidmain, Java 編譯器就會以為這是單一個字符了。

字符 (Token) 與空白符號 (Whitespace) 在 Java 中, 空白字元、斷行字元 (也就是按 [Enter] ) 以及定位字元 (也就是按 [Tab] ) 都可以作為空白符號, 您可依據實際的需求採用不同的方式。 之前曾經提過, 同一個敘述可以分成多行撰寫, 其實就是利用斷行字元當作空白符號。 換句話說, 同一敘述分成多行撰寫時並不能隨便斷行, 而必須以字符為界線。 像是以下這個程式編譯時就會有錯誤, 因為它把 println 這個字符斷開成兩行了:

字符 (Token) 與空白符號 (Whitespace)

分隔符號 (Separator) 要特別注意的是, "("、")"、"{"、"}"、"["、"]"、";"、","、"." 這些字符在 Java 中稱為分隔符號 (Separator 或 punctuator)。 它們除了可以將其之前與之後的字符隔開以外, 通常也代表了其後的字符 (如果是成對的分隔符號, 像是 "{" 與 "}", 則是指由這對分隔符號所包含的內容) 是其前面字符的附屬部分。

分隔符號 (Separator) 舉例來說, 在 SecondJava.java 中, main() 方法後面由 "{"、"}" 括起來的區塊就是 main() 方法的主體。

2-2-4 為程式加上註解 (Comment) 除了撰寫實際上會有所動作的敘述以外, 您也可以在程式中加上僅有說明用途的註解 (Comment)。 舉例來說, 以下的程式就加上了許多註解, 讓您可以更輕易的看懂程式的內容:

為程式加上註解 (Comment)

為程式加上註解 (Comment) 其中, // 字符開始往後一直到該行文字結束之前的內容都是註解。 當 Java 解譯器看到 "//" 字符後, 就會忽略其後的文字, 一直到下一行開始, 才會繼續轉譯程式的內容。 這種註解稱為單行註解 (End-Of-Line Comment)。

為程式加上註解 (Comment) 另外還有一種可以跨越多行的註解方式, 稱為傳統式註解 (Traditional Comment) 或是區塊式註解 (Block Comment)。 以成對的 /* 與 */ 來包含所要加入的註解說明, 例如:

為程式加上註解 (Comment)

為程式加上註解 (Comment) 第 1 ~ 4 行就是一個跨越 4 行的區塊式註解。 第 7 行則是一個僅在單一行內的區塊式註解。 要注意的是, 區塊式註解可以出現在程式中的任何位置, 但不能出現在字符內, 例如以下的程式在編譯時就會有錯誤:

為程式加上註解 (Comment) 因為在第 2 行中有一個區塊式註解出現在字符中, 這是錯誤的寫法。 註解是一項非必要、但強烈建議使用的工具。 尤其當程式很長或是邏輯比較複雜的時候, 加上適當的註解不但可以讓您自己在一段時間過後能夠知道撰寫程式時的想法, 如果程式往後要交給別的人修改, 那麼註解也是後繼者理解您程式的最佳機會。 總結來說, Java 程式是由字符組成敘述, 再由敘述組成區塊, 然後再由區塊組成整個程式。