學前準備工作

真的呆發表於2024-08-10

什麼是計算機

  • computer:全稱電子計算機,簡稱電腦。
  • 能夠按照程式執行,自動、高速處理海量資料的現代化智慧電子裝置
  • 由軟體和硬體組成
  • 常見形式有臺式計算機,筆記本計算機,大型計算機等
  • 廣泛應用在:科學計算、資料處理、自動控制、計算機輔助設計、人工智慧等領域。

計算機硬體

組成:cpu、主機板、記憶體、電源、主機箱、硬碟、顯示卡、鍵盤滑鼠、顯示器等

馮諾依曼體系結構

數學家馮·諾依曼提出了計算機制造的三個基本原則(採用二進位制、程式存>儲、順序執行),以及計算機的五個組成部分(運算器、控制器、儲存器、輸入裝置、輸出裝置),這套理論被稱為馮·諾依曼體系結構,根據這一原理製造的計算機被稱為馮·諾依曼結構計算機。

馮諾依曼體系結構圖

計算機軟體

  • 軟體是指計算機系統中的一系列指令和資料,其目的是使計算機能夠執行特定的任務或解決特定的問題。軟體通常包括應用程式、作業系統和其他支援軟體,它們與硬體協同工作,為使用者和其他軟體提供功能和服務。
  • 軟體可以按照功能、使用方式和授權方式等多種標準進行分類。以下是一些常見的軟體分類:

按功能分類:

  • 應用軟體(Application Software): 用於執行特定任務或解決特定問題的軟體,例如文書處理軟體(Microsoft Word)、電子郵件客戶端(Outlook)、圖形設計軟體(Adobe Photoshop)等。
  • 系統軟體(System Software): 支援計算機硬體執行和應用軟體的軟體,例如作業系統(Windows、macOS、Linux)、驅動程式、工具軟體等。

計算機語言發展史

引用文心一言回答

計算機語言發展史可以清晰地分為幾個主要階段,每個階段都伴隨著技術的進步和程式語言的創新。以下是計算機語言發展的簡要概述:

  1. 機器語言階段:
    時間:20世紀40年代
    特點:計算機剛剛問世時,人們直接透過一系列由“0”和“1”組成的二進位制程式碼(即機器語言)來控制計算機硬體執行特定的任務。這種語言只有計算機能夠理解,對於人類來說極難理解和編寫。
  2. 組合語言階段:
    時間:在機器語言之後
    特點:組合語言用助記符代替了操作碼,用地址符號或標號代替地址碼,從而用符號代替了機器語言的二進位制碼。這使得程式語言對人類來說更加容易理解和記憶,但仍然需要程式設計者將每一步具體的操作用命令的形式寫出來。
  3. 高階語言階段:
    時間:從20世紀50年代中葉開始,一直髮展至今
    特點:高階語言是一種更接近於人類自然語言的程式語言,它允許使用英文編寫程式,並且程式中的符號和算式也與日常使用的數學式子相似。高階語言的發展極大地提高了程式設計的效率和可讀性。

重要事件和人物:

  1. Fortran(公式翻譯)語言的誕生(1957年左右),它是科學和工程計算中常用的程式語言。
  2. C語言的誕生(1972年),由丹尼斯·裡奇(Dennis Ritchie)在貝爾實驗室設計並推出。C語言具有革命性的意義,因為它結合了高階語言的特性和機器語言的效率,成為許多現代程式語言的基礎。
  3. 物件導向程式設計(OOP)的興起,這標誌著程式設計方式的重要轉變。C++、Java和Python等語言都是物件導向程式設計的代表。
    網際網路時代的程式語言,如JavaScript、Python等在網路程式設計中佔據重要地位。
  • 程式語言的發展趨勢:
    物件導向程式設計和元件化程式設計成為主流,使得軟體開發更加靈活和可擴充套件。
    指令碼語言和動態語言(如Python、Ruby等)因其易用性和快速開發能力而受到歡迎。
    跨平臺程式語言和框架(如Java、.NET等)使得應用程式可以在不同作業系統上執行。

總結來說,計算機語言的發展經歷了從機器語言到組合語言,再到高階語言的演變過程。每個階段都伴隨著技術的進步和程式語言的創新,使得人與計算機之間的互動變得更加容易和高效。隨著技術的不斷髮展,未來的程式語言將繼續朝著更加人性化、高效化和智慧化的方向發展。

c語言的優點及缺點

引用文心一言回答:

  1. 高效性:C語言是一種用於系統程式設計的低階語言,因此非常高效。它能夠直接訪問記憶體和硬體,允許開發者進行底層操作,這使得C語言在嵌入式系統、作業系統等領域有著廣泛的應用。
  2. 可移植性:C語言的標準庫是高度可移植的,因此可以輕鬆地在不同的作業系統上編譯和執行。這使得C語言編寫的程式具有廣泛的適用性。
  3. 結構化程式設計:C語言支援函式、指標、結構體等結構化程式設計元素,使得程式更加易於理解和維護。這些特性有助於開發者編寫清晰、可讀的程式碼。
  4. 靜態型別:C語言是一種靜態型別語言,在編譯期間進行型別檢查,可以避免一些潛在的型別錯誤。這有助於提高程式碼的穩定性和安全性。
  5. 底層訪問:C語言允許直接訪問記憶體、硬體和底層系統資源,這使得它非常適合嵌入式系統和作業系統開發。
  6. 指標:C語言具有強大的指標功能,可以從多個角度處理資料,提高程式效率。指標是C語言的重要特性之一,也是其區別於其他高階語言的重要方面。
  7. 開放性:C語言的開放性使得它具有廣泛的應用,可以編寫各種型別的程式,如作業系統、編譯器、裝置驅動程式、資料庫、圖形介面等。

優點:

  1. 貼近硬體,高效。
  2. 指標功能強大

缺點:由於指標和記憶體管理的複雜,需要新手一定的學習成本,可移植性事實上並不正確,需要每次移植都需要調整。

Java語言的特性及優點

Java語言的特性

  1. 物件導向:
    Java是一種完全物件導向的程式語言,支援類和物件的概念,允許程式設計師以優雅的思維方式進行復雜的程式設計。
    Java中的萬物皆物件,所有元素都要透過類和物件來訪問。
  2. 平臺無關性(跨平臺性):
    Java編寫的程式可以在任何安裝了Java虛擬機器(JVM)的計算機上執行,實現了“一次編寫,到處執行”的承諾。
    Java編譯器將原始碼編譯為位元組碼,這些位元組碼在JVM上執行,與底層作業系統無關。
  3. 簡單性:
    Java相對於C++等語言更為簡單,去除了多繼承、指標等複雜和難以理解的概念。
    Java的語法清晰明瞭,易於學習和使用。
  4. 健壯性:
    Java在開發初期便能透過編譯檢查出程式碼錯誤,有助於開發過程的順利進行。
    Java提供了豐富的異常處理機制,可以捕獲並處理執行時錯誤,提高程式的健壯性。
  5. 安全性:
    Java內建了多種安全機制,如類載入器、安全管理器和沙箱機制,可以防止惡意程式碼的執行。
    Java不支援指標操作,避免了非法記憶體訪問等安全問題。
  6. 多執行緒支援:
    Java內建對多執行緒程式設計的支援,允許程式設計師編寫併發程式,更好地利用多核處理器的優勢。
    Java提供了豐富的同步機制,確保多執行緒程式的正確執行。
  7. 高效能:
    儘管Java是解釋型語言,但透過即時編譯(JIT)和最佳化技術,Java程式可以獲得接近甚至超過編譯型語言的效能。
    Java還提供了豐富的庫和工具,用於進一步最佳化效能。
  8. 動態性:
    Java可以在執行時動態地載入、連結和執行類,這使得Java具有更強的適應性和靈活性。
    Java支援動態型別檢查和反射機制,可以在執行時獲取類的資訊並操作物件。

Java語言的優點

  1. 廣泛的應用領域:
    Java在桌面應用程式、Web應用程式、分散式系統和嵌入式系統等領域都有廣泛的應用。
    Java是Android應用開發的主要語言之一。
  2. 強大的社群支援:
    Java擁有龐大的開發者社群和豐富的資源,為開發者提供了強大的支援。
    Java的開源專案眾多,如Spring、Hibernate等,為開發者提供了豐富的工具和框架。
  3. 穩定性與可靠性:
    Java語言本身的設計保證了其程式的穩定性和可靠性。
    Java的垃圾回收機制避免了記憶體洩漏等問題,提高了程式的健壯性。
    豐富的庫和API:
    Java標準庫提供了豐富的功能和API,可以滿足大多數開發需求。
    Java還有大量的第三方庫和框架可供選擇,如JDBC、Servlet等。

Java三大版本

Java平臺包含三個主要版本:Java SE(Java Platform, Standard Edition)、Java EE(Java Platform, Enterprise Edition)和Java ME(Java Platform, Micro Edition)。

Java SE(Java Platform, Standard Edition)

也稱為J2SE,是Java的標準版本。
提供Java語言的核心庫、虛擬機器和工具,用於開發普通桌面應用、企業級應用和嵌入式系統等。
特點:
平臺無關性:提供跨平臺的解決方案。
物件導向:完全支援物件導向程式設計。
強大的庫支援:提供豐富的類庫,如輸入輸出、網路通訊、圖形介面、資料庫訪問等。

Java EE(Java Platform, Enterprise Edition)

也稱為J2EE,主要用於開發和部署可移植、健壯、可伸縮且安全的伺服器端Java應用程式。
包含Java SE的所有特性,並增加了許多用於企業級開發的元件和API,如EJB(Enterprise JavaBeans)、JMS(Java Message Service)、JNDI(Java Naming and Directory Interface)等。
應用:
廣泛應用於大型企業級應用的開發,如銀行系統、電子商務平臺和供應鏈管理系統等。

Java ME(Java Platform, Micro Edition)

也稱為J2ME,主要用於在移動裝置和嵌入式裝置上執行的應用程式。
提供一個精簡的Java虛擬機器(KVM)和一組核心類庫,用於處理移動裝置的特定功能,如電話通訊、裝置控制、使用者介面等。
特點:
適用於資源有限的裝置。
提供在移動裝置和嵌入式裝置上執行Java程式的能力。

JDK、JRE、JVM

包含關係
alt text
alt text

安裝與解除安裝環境

解除安裝jdk:

  1. 刪除java安裝目錄
  2. 刪除Java_HOME
  3. 刪除path裡關於java的目錄
  4. cmd進入命令視窗,輸入java -v,檢視是否刪除。

安裝jdk:

  1. 百度搜尋jdk8,下載對應32位或64位,windows或者Linux。
  2. 下載完成,雙擊安裝jdk。
  3. 開始安裝,點選下一步,選擇安裝路徑。建議不要放c盤,自己在起停牌新建目錄,並記住安裝路徑,後續配置環境變數要用到。
  4. 配置環境變數。
    1. 我的電腦->高階系統設定->環境變數->系統環境變數,
    2. 新建,JAVA-HOME,貼上路徑。
    3. 配置path變數。
  5. cmd進入命令視窗,輸入java -v,檢視是否安裝成功。

HELLO,WORLD!!!

  1. 新建一個目錄,用來存放程式碼
  2. 在目錄裡,新建檔案,改名為Hello.java
  3. 寫程式碼。
public class Hello(){
    public static void main(String args[]){
        System.out.print("Hello,World!");
    } 
}
  1. 編譯。在該目錄下開啟命令視窗。
    輸入javac Hello.java ,沒有出現問題。
    目錄下出現新檔案Hello.class。
  2. 執行。輸入java Hello,出現執行結果Hello,World!

可能出現的問題:

  1. 程式碼段單詞大小寫出錯。Java是大小寫敏感的
  2. 儘量使用英文。
  3. 檔名與類名一致。首字母大寫,養成程式碼書寫習慣。
  4. 符號使用了中文,如括號分號等

java執行機制

編譯型和解釋型,編譯型先全部編譯再執行,解釋型,編譯部分執行部分,再編譯部分執行部分。
java檔案先編譯成class檔案,再在虛擬機器jvm裡進行程式碼檢查,編譯執行。
Java檔案執行是兩種都有的。

idea安裝與使用

不想寫了。

相關文章