Java語言程式設計基礎篇 day01
第1章 計算機程式和Java概述
1.1 什麼是計算機 計算機包括硬體(hardware)和軟體(software)兩部分,一般來說硬體包括計算機中可以看見的部分,而軟體提供看不見的指令,這些指令控制硬體並且使得硬體完成特定的任務。一臺計算機中央處理器,位元和位元組,記憶體,儲存裝置,輸入和輸出裝置,通訊裝置組成。 1.1.1 中央處理器 (CPU,Center Processing Unit) 中央處理器是計算機的大腦。它從記憶體中獲取指令,然後執行這些指令。CPU通常由兩部分組成:控制單元(control unit)和算術/邏輯單元(logic unit)。控制單元用於控制和協調其他元件的動作。算術/邏輯單元用於完成數值運算和邏輯比較。 1.1.2 位元和位元組
1.1.4 儲存裝置 計算機的記憶體(RAM)是一種易失的資料儲存形式:斷電時儲存在記憶體中的資訊就會丟失。程式和資料將會永遠的存放在儲存裝置上,當計算機確實要使用它們的時再移入記憶體,因為從記憶體讀取比從儲存裝置讀取要快的多。 儲存裝置主要有以下三種類型: ① 磁碟驅動器 ② 光碟驅動器(CD和DVD) ③ U快閃記憶體驅動器SB 驅動器(drive)對儲存介質進行是操作的裝置,例如,磁碟和光碟。儲存介質物理的儲存資料和 程式指令。驅動器從介質讀取資料並將資料寫在介質上。 磁碟:每臺計算機上至少有一個硬碟驅動器。硬碟永久地儲存資料和程式。在角新的個人計算機上,硬碟容量一般為500GB到1TB。磁碟驅動器通常安裝在計算機內。此外還有行動硬碟。 光碟和數字化視訊磁碟 CD的全稱是緻密的碟片(compact disc)。光碟驅動器的型別有兩種:只讀光碟(CD-RW)。只讀光碟上的資訊只能用於讀取,內容一旦記錄到光碟上,使用者是不能修改它們的。可讀寫光碟可以像硬碟一樣使用。也就說可以將資料寫到光碟上,然後用新的資料將這些資料覆蓋掉。單張光碟的容量可以達到700MB。大多數新型的個人計算機都安裝了可讀寫光碟機,它支援只讀寫光碟也支援可讀寫光碟。 USB快閃記憶體驅動器 通用序列匯流排介面允許使用者將多種外部裝置連線到計算機上 。可以使用USB將印表機,數碼相機,滑鼠,外部硬碟驅動器,以及其他裝置連線到計算機上。 USB快閃記憶體驅動器是用於儲存和傳輸資料的裝置。快閃記憶體驅動器很小。它像行動硬碟一樣,可以插入計算機的USB埠。USB快閃記憶體的驅動器目前可用的最大儲存量為256GB。 1.1.5 輸入和輸出裝置
1.2 程式語言 計算機不理解人類的語言,所以,計算機程式必須使用計算機可以使用的語言編寫。 1.2.1 機器語言 計算機的原生語言因計算機的型別不同而又差異,計算機的原生語言及時機器語言,即一套內嵌的原子指令集。因為這些 指令都是以二進位制程式碼的形式存在,所以,為了以機器原生語言的形式給計算機指令,必須以二進位制程式碼輸入指令。例如兩數相加,必須寫成二進位制形式。 1.2.2 組合語言 機器語言的代替品,組合語言使用短的描述性單詞(稱為助記符)來表示每一條機器語言指令。 例如 add 2,3 ,result 組合語言的出現降低了程式的設計難度。然而由於計算機不理解組合語言,所以需要使用一種彙編器(assembler)的程式轉換為機器程式碼 組合語言原始檔→彙編器→機器程式碼檔案 使用匯編語言編寫程式碼比機器語言容易,然而,用匯編語言編寫程式碼依然很不方便。組合語言中的一條指令對應機器程式碼中的一條指令。用匯編語言寫程式碼需要知道CPU是如何工作的。組合語言被認為是低階語言,因為組合語言本質上非常接近機器語言,並且是與機器相關的。 1.2.3 高階語言 高階語言類似英語, 易於學習和編寫程式。用高階語言編寫的程式稱為源程式。它們是平臺相獨立的,這意味著可以使用高階語言程式設計,然後在各種不同型別的機器上執行。高階語言中的指令稱為語句。用高階語言編寫的程式稱為源程式或原始碼。由於計算機不能用於源程式,源程式必須翻譯成可執行的機器程式碼。翻譯可以由另外一種稱為解譯器或編譯器的程式設計工具來完成。 高階語言原始檔→直譯器→輸出(直譯器一次翻譯並且執行程式的一條語句) 高階語言原始檔→ 編譯器→ 機器程式碼檔案→ 執行器→ 輸出(編譯器將整個源程式翻譯為機器語言檔案以執行) 例; area=553.14159; 1.3 作業系統 作業系統(Operating System, OS)是執行在計算機上的重要程式,它可以管理和控制計算機的活動。流行的作業系統有Microsoft Windows, Mac OS,以及Linux。如果沒有計算機上沒有安裝和執行作業系統,像Web瀏覽器或者字處理程式這樣的應用程式就不能執行。 作業系統的主要任務有: 控制和監視系統的活動 分配和調配系統的資源 排程操作 1.3.1 控制和監視系統的活動 作業系統的執行基本任務,例如,識別來自鍵盤的輸入,向顯示器傳送輸出結果,跟蹤儲存裝置中的檔案和資料夾的動態,控制似硬碟驅動器和印表機這樣的外部裝置。作業系統還要確保不同的程式和使用者同時使用計算機時不會互相干擾。另外作業系統還負責安全處理,以確保未經授權的使用者和程式無法訪問系統。 1.3.2 分配和調配系統資源 作業系統負責確定一個程式需要使用那些計算機資源(例如CPU,記憶體,磁碟,輸入和輸出裝置),並進行資源分配和調配以執行程式。
1.3.3 排程操作 作業系統負責程式排程活動,以便有效的利用系統資源。為了提高系統的效能,目前許多作業系統都支援多道程式設計,多執行緒和多處理這樣的技術。 多道程式允許多個程式通過共享CPU同時執行,CPU的速度比其他的元件快很多,這樣多數時間它都處於空閒狀態,例如,在等待資料從磁碟或其他資源傳入,或者其他系統資源響應時。多到程式設計利用這一特點,允許多個程式同時使用CPU,一旦CPU空閒就讓別的程式使用它。例如,在web瀏覽器下載檔案的同時,可以用字吃力程式來編輯檔案。 多執行緒允許單個程式同時執行任務。例如,字處理程式允許使用者在編輯文字的同時,將其儲存到檔案。編輯和儲存是一個程式中的兩個不同任務,這兩個任務可能同時併發執行。 多處理也稱為並行處理,是指用兩個或多個處理器共同並行執行子任務,然後將子任務的結果合併以得到整個任的結果。就像在外科手術中多名醫生同時給一個病人手術。 1.4 Java,全球資訊網以及其他 Java是功能完善的通過程式設計語言,可以用來開發健壯的任務關鍵的應用程式。Java是由SunMicrosystems公司推出的。Java的原始碼 .java經過編譯之後生成的是 .class 機器碼 位元組碼但是 Java的特點 Java是不直接執行在計算機上的跨平臺特點 本質就是.class檔案跨平臺的 JVM Java Virtual Machine Java虛擬機器
全球資訊網(World Wide Web)是從世界任何地方的Internet都可以訪問的電子資訊寶庫。 1.5 Java語言規範,API,JRE,JDK和IDE Java語言規範(Java language specification)是對語言的技術定義,包括Java程式設計語言的語法和語義。 應用程式介面(Application Program Interface. API)也稱為庫,包括為開發Java程式而定義的類和介面。 JRE:軟體 Java Runtime Environment Java執行環境 如果 你想 僅僅 執行 java 程式 裝! JRE=JVM+核心類庫(圖書館) JDK:軟體 Java Development Kit Java開發工具包 如果 你想 開發 Java 裝! JDK=開發工具+JRE 1.6 一個簡單的Java程式 第 1 行定義了一個類。每個 Java 程式至少應該有一個類。每個類都有一個名宇。按照慣例,類名都是以大寫字母開頭的。本例中,類名(class name) 為 Welcome。 第 2 行定義主方法( main method)。程式是從 main 方法開始執行的。一個類可以包含幾個方法。main 方法是程式開始執行的人口。方法是包含語句的結構體。本程式中的 main 方法包括了 System.out.println 語句。該語句在控制檯上列印訊息 “ Welcome to 3ava!"(第 4 行)。字元(string) 是一個程式設計術語,表示一個字元序列。一個字串必須放人雙引號中。Java 中的每條語句都以分號( ;)結束,也稱為語句結束符(statement terminator)。 保留字(reserved word) 或關鍵字(keyword) 對編譯器而言都是有特定含義的,所以不 能在程式中用於其他目的。例如,當編譯器看到字 class 時,它知道 class 後面的字就是這個類的名字。這個程式中的其他保留字還有 Public、static 和 void。 第 3 行是註釋(comment), 它標註該程式是幹什麼的,以及它是如何構建的。 1.7 建立,編譯和執行Java程式
1.8 程式設計風格和文件 1.8.1 正確的註釋和註釋風格 1.8.2 正確的縮排和空白 1.8.3 塊的風格 1.9 程式設計錯誤 1.9.1 語法錯誤 1.9.2 執行時錯誤 1.9.3 邏輯錯誤 1.9.4 常規錯誤 1.10 使用NetBeans開發程式 1.10.1 建立Java工程 建立 Java 程式前,首先需要建立一個工程。工程類似於一個資料夾,用於包含 Java 程式以及所有的支援檔案。你只需要建立工程一次。這裡是建立 Java 工程的步驟: 1 ) 選擇 File New Project 來顯示 New Project 對話方塊; 2 )在 Categories 部分選擇 Java, Projects 部分選擇;JavaApplication, 然後單擊 Next 來顯示 New Java Application 對話方塊 3 ) 在 Pr oject Name 域中輸入 demo, 在 Project Location 域中輸入 c:\michael。去掉 UseDedicated Folder for Storing Libraries 的勾選,並且去掉 Create Main Class 的勾選。 1.10.2 建立Java類 工程建立後,可以採用以下步驟在工程中建立 Java 程式: 1 )右鍵單擊工程面板的 demo 節點,顯示一個上下文選單。選擇 New -Java Class 來顯示 New Java Class 對話方塊; 2 ) 在 Class Name 域輸人 Welcome , 在 Location 域中選擇 Source Packages。Package 域保留為空白,這樣將在預設包中建立一個類。 3 ) 單擊 Finish 來建立 Welcome 類。原始碼檔案 Welcome.〗ava 放置在〈default package〉節點下面。 1.10.3 編譯和執行類 要執行 Welcome.java, 右鍵單擊 Welcome.java 以顯示一個上下文選單,選擇 Run File,或者簡單地按下 Shift+F6。輸出顯示在輸出面板中 程式設計練習題
public class demo1 { public static void main(String[]Args){ System.out.println((9.54.5-2.53)/(45.5-3.5)); } }
public class demo2 { public static void main(String[]args){ System.out.println(1+2+3+4+5+6+7+8+9); } }
public class demo3 { public static void main(String[]args){ System.out.println(4*(1.0-1.0/3+1.0/5-1.0/7+1.0/9-1/11)); } } public class demo4 { public static void main(String[]args){ System.out.println(25.53.14); } } public class demo5{ public static void main(String[]args){ System.out.println((14/1.6)/(4560+30)3600); } } public class Demo1_6 { public static void main(String[] args) { System.out.println(3600241.6/(16060+40*60+35)+“公里/時”);
}
} public class Demo1_7 { public static void main(String[] args) { System.out.println(“x=”+(44.50.55-50.25.9)/(3.40.55-50.22.1)); } } /*
- 365天->秒 3652460*60
- 312032486+365246060/7-365246060/13+3652460*60/45
- / public class Demo1_8 { public static void main(String[] args) { System.out.println(312032486+365246060/7-365246060/13+365246060/45); } }