1. 程式人生 > >JAVA SE 第一章

JAVA SE 第一章

第一章

  1. 計算機、程式和JAVA概述
    1.1什麼是計算機
    中央處理器
    中央處理器是一塊超大規模的積體電路,是一臺計算機的運算核心(Core)和控制核心( Control Unit)。它的功能主要是解釋計算機指令以及處理計算機軟體中的資料。
    位元和位元組
    二進位制數系統中,每個0或1就是一個位(bit),位是資料儲存的最小單位。
    其中8bit就稱為一個位元組(Byte)
    記憶體
    計算機的記憶體由一個有序的位元組序列組成用於儲存程式及程式需要的資料。
    儲存裝置
    計算機的記憶體(RAM)是一種易失的資料儲存形式:斷電時儲存在記憶體中的資訊就會丟失。程式和資料被永久地存放在儲存裝置上,當計算機確實要使用它們時再移入記憶體,因為從記憶體讀取比從儲存裝置讀取要快得多。
    輸入和輸出裝置


    輸入裝置和輸出裝置讓使用者可以和計算機進行通訊。最常用的輸人裝置是鍵盤(
    keyboard)和滑鼠(mouse),而最常用的輸出裝置是顯示器(monitor)和印表機(printer)。
    通訊裝置
    計算機可以通過通訊裝置進行聯網,例如,撥號調製解調(modulator/demodulator調製器/解調器)、DSL、電纜調變解調器、有線網路介面卡,或者無線介面卡。

    1.2 什麼是軟體開發
    軟體定義
    軟體是一系列按照特定順序組織的計算機資料和指令的集合。
    軟體分類
    一般來講軟體被劃分為系統軟體、應用軟體和介於這兩者之間的中介軟體。
    軟體開發
    軟體開發是根據使用者要求建造出軟體系統或者系統中的軟體部分的過程。軟體開發是一項包括需求捕捉、需求分析、設計、實現和測試的系統工程。軟體一般是用某種程式設計語言來實現的。通常採用軟體開發工具可以進行開發。
    1.3

    什麼是計算機語言
    人類語言
    語言是人類用來交流的一種工具。
    機器語言
    機器語言(machine language)是一種指令集的體系。這種指令集,稱機器碼(machine code),是電腦的CPU可直接解讀的資料。
    組合語言
    組合語言(assembly language)是一種用於電子計算機、微處理器、微控制器或其他可程式設計器件的低階語言,亦稱為符號語言。
    高階語言
    高階語言(High-level programming language)相對於機器語言(machine language,是一種指令集的體系。這種指令集,稱機器碼(machine code),是電腦的CPU可直接解讀的資料)而言。是高度封裝了的程式語言,與低階語言相對。它是以人類的日常語言為基礎的一種程式語言,使用一般人易於接受的文字來表示(例如漢字、不規則英文或其他外語),從而使程式編寫員編寫更容易,亦有較高的可讀性,以方便對電腦認知較淺的人亦可以大概明白其內容。
    1.4
    什麼是JAVA語言
    JAVA語言簡介
    Java是一門面向物件程式語言,不僅吸收了C++語言的各種優點,還摒棄了C++裡難以理解的多繼承、指標等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向物件程式語言的代表,極好地實現了面向物件理論,允許程式設計師以優雅的思維方式進行復雜的程式設計。
    Java具有簡單性、面向物件、分散式、健壯性、安全性、平臺獨立與可移植性、多執行緒、動態性等特點[2] 。Java可以編寫桌面應用程式、Web應用程式、分散式系統和嵌入式系統應用程式等
    JAVA三大體系
    Java分為三個體系,分別為Java SE(J2SE,Java2 Platform Standard Edition,標準版),JavaEE(J2EE,Java 2 Platform, Enterprise Edition,企業版),Java ME(J2ME,Java 2 Platform Micro Edition,微型版)
    JRE
    JRE是Java Runtime Environment縮寫,指Java執行環境,是Sun的產品。執行JAVA程式所必須的環境的集合,包含JVM標準實現及Java核心類庫。
    JDK
    JDK是 Java 語言的軟體開發工具包,主要用於移動裝置、嵌入式裝置上的java應用程式。JDK是整個java開發的核心,它包含了JAVA的執行環境(JVM+Java系統類庫)和JAVA工具。
    JVM
    JVM是Java Virtual Machine(Java虛擬機器)的縮寫,JVM是一種用於計算裝置的規範,它是一個虛構出來的計算機,是通過在實際的計算機上模擬模擬各種計算機功能來實現的。
    Java語言的一個非常重要的特點就是與平臺的無關性。而使用Java虛擬機器是實現這一特點的關鍵。一般的高階語言如果要在不同的平臺上執行,至少需要編譯成不同的目的碼。而引入Java語言虛擬機器後,Java語言在不同平臺上執行時不需要重新編譯。Java語言使用Java虛擬機器遮蔽了與具體平臺相關的資訊,使得Java語言編譯程式只需生成在Java虛擬機器上執行的目的碼(位元組碼),就可以在多種平臺上不加修改地執行。Java虛擬機器在執行位元組碼時,把位元組碼解釋成具體平臺上的機器指令執行。這就是Java的能夠“一次編譯,到處執行”的原因。
    Eclips配置
    1.編碼集設定
    UTF-8
    Window-Preferences-General
    WorkSpace-Text file encoding-Other-UTF-8
    2.字型
    Window-Preferences-General
    -Appearance-Colors and Fonts-
    最後一個Text Font
    字型:Consolas
    字形:常規
    大小:16~20
    1.5編寫並執行JAVA程式
    ※示例 HelloWorld

public class hello {
	public static void main(String[] args){
		System.out.println("Hello World");
}
}

1.6 程式設計風格
正確的註釋和註釋風格
正確的縮排和空白
塊的風格
1.7程式設計錯誤
語法錯誤
執行時錯誤
邏輯錯誤
遺漏括號
遺漏分號
遺漏引號
命名拼寫錯誤

本章小結
1.計算機是儲存和處理資料的電子裝置。
2.計算機包括軟體和硬體兩部分。
3.硬體是計算機中可以觸碰到的物理部分。
4.計算機程式,也就是通常所說的軟體,是一些不可見的指令,它們控制硬體完成任務。
5.計算機程式設計就是編寫讓計算機執行的指令(即程式碼)。
6.中央處理器(CPU)是計算機的大腦,它從記憶體中獲取指令並且執行這些指令。
7.一個位元是指二級制0或1。
8.一個位元組是指8位元的序列。
9.千位元組大約是1000位元組,兆宇節大約是100萬字節,千兆位元組大約是10億位元組,萬億宇節大約是 1萬億宇節。
10.記憶體儲存CPU要執行的資料和程式指令。
11.記憶體單元是位元組的有序序列。
12.記憶體是不能長久儲存資料的,因為斷電時資訊就會丟失。
13.機器語言是一套內嵌在每臺計算機的原始指令集。
14.組合語言是一種低階程式設計語言, 它用助記符表示每一條機器語言的指令。
15.高階語言類似英語, 易於學習和編寫程式。
16.用高階語言編寫的程式稱為源程式。
17.編譯器是將源程式翮譯成機器語言程式的軟體。
18.作業系統(OS) 是管理和控制計算機活動的程式。
19.Java 是與平臺無關的, 這意味著只需編寫一次程式, 就可以在任何計算機上執行。
20.Java 程式可以內嵌在 HTML 網頁內, 通過 Web 瀏覽器下載. 給 Web 客戶帶來生動的動畫和靈活的互動性。
21.Java源程式檔名必須和程式中的公共類名一致,並且以副檔名.Java結束。
22.每個類都被編譯成一個獨立的位元組碼檔案, 該檔名與類名相同, 副檔名為 .class。
23.使用 javac 命令可以從命令列編譯 Java 原始碼檔案。使用 java 命令可以從命令列執行 Java 類。
24.每個 Java 程式都是一套類的定義集合。 關鍵字 class 引入類的定義, 類的內容包含在塊內。
25.一個塊以左花括號({)開始, 以右花括號(})結束。
26.方法包含在類中。 每個可執行的 Java 程式必須有一個 main 方法。 main 方法是程式開始執行的入口。
27.Java 中的每條語句都是以分號(;)結束的,也稱該符號為語句結束符。保留字或者稱關楗字,對編譯器而言都有特殊含義, 在程式中不能用於其他目的。
28.在 Java 中, 在單行上用兩個斜槓( //)引導註釋, 稱為行註釋; 在一行或多行用 / * 和 */ 包含註釋, 稱為塊註釋或者段註釋。 編譯器會忽略註釋。
29.Java 源程式是區分大小寫的。
30.程式設計錯誤可以分為三類: 語法錯誤 、 執行時錯誤和邏輯錯誤。 編譯器報告的錯誤稱為語法錯誤或者編譯錯誤。
31.執行時錯誤指引起程式非正常結束的錯誤。 當一個程式沒有按照預期的方式執行時, 產生邏輯錯誤.使用 java 命令可以從命令列執行 Java 類。
32.保留字或者稱關楗字, 對編譯器而言都有特殊含義, 在程式中不能用於其他目的。

程式設計練習題
在這裡插入圖片描述

/*
 * 需求:求兩個數字的除法
 * 第一個數字:9.5*4.5-2.5*3
 * 第二個數字:45.5-3.5
 * 1/2
 * */

public class Demo1_1 {
	public static void main(String[] args){
		System.out.println((9.5*4.5-2.5*3)/(45.5-3.5));
	}
}

在這裡插入圖片描述

public class Demo1_2 {
	public static void main(String[] args){
		//冗餘
		System.out.println(1+2+3+4+5+6+7+8+9);
		//重複步驟-迴圈解決
	}
}

在這裡插入圖片描述

/*
 * 1/3 /整除  0
 * 1.0/3
 * 1/3.0
 * 
 * */
public class Demo1_3 {
	public static void main(String[] args){
		System.out.println(4*(1-1.0/3+1.0/5-1.0/7+1.0/9-1.0/11+1.0/13-1.0/14));
	}
}

在這裡插入圖片描述

/*
 * 資料:半徑 面積 周長 圓周率
 * s=πr^2
 * l=2πr 
 * */
public class Demo1_4 {
	public static void main(String[] args){
		//資料 避免死資料 -輸入 
		System.out.println(2*10*3.14);
		System.out.println(10*10*3.14);
	}
}

在這裡插入圖片描述

/*
資料:時間 長度 
指令:v=s/t
s=14公里->14/1.6
t=45*60+30
v 英里/秒     3/1
 * */
public class Demo1_5 {
	public static void main(String[] args) {
		System.out.println(3600*(14/1.6)/(45*60+30)+"英里/時");
	}
}

在這裡插入圖片描述

public class Demo1_6 {
	public static void main(String[] args) {
		System.out.println(3600*24*1.6/(1*60*60+40*60+35)+"公里/時");
		
	}
}

在這裡插入圖片描述

public class Demo1_7 {
	public static void main(String[] args){
		System.out.println("x="+(44.5*0.55-50.2*5.9)/(3.4*0.55-50.2*2.1));
		System.out.println("y="+(3.4*5.9-44.5*2.1)/(3.4*0.55-50.2*2.1));
	}
}

在這裡插入圖片描述


public class Demo1_8 {
	public static void main(String[] args){
		System.out.println(312032486+365*24*60*60/7-365*24*60*60/13+365*24*60*60/45);
	}

}