day01-计算机操作系统java编程入门
java基礎開始
1.計算機基礎
1.1.什么是計算機
計算機(computer)俗稱電腦,是一種用于高速計算的電子計算機器,可以進行數值計算, 又可以進行邏輯計算,還具有存儲記憶功能。是能夠按照程序運行,自動、高速處理海量數 據的現代化智能電子設備。由硬件系統和軟件系統組成,沒有安裝任何軟件的計算機稱為裸 機。軟件提供看不見的指令。這些指令控制硬件并且使得硬件完成特定的任務。
1.2.計算機硬件系統和軟件系統
軟件包含了指令,告訴計算機做什么
1.3.計算機主要硬件介紹
1.3.1. cpu
cpu 是一臺計算機的運算核心和控制核心。是計算機的大腦。它從內存中獲取指令,然后執 行這些指令。其功能主要是解釋計算機指令以及處理計算機軟件中的數據。CPU 由運算器、 控制器、寄存器、高速緩存及實現它們之間聯系的數據、控制及狀態的總線構成。作為整個 系統的核心,CPU 也是整個系統最高的執行單元,因此 CPU 已成為決定電腦性能的核心部 件,很多用戶都以它為標準來判斷電腦的檔次。 CPU 的主頻,即 CPU 內核工作的時鐘頻率(CPUClockSpeed)。該時鐘速度越快,時間段內執行的指令就越多, 目前酷睿是 2G-3G(1G 是 10000Mhz)例如,2MHz(200 萬次/秒),3GHz(三十億次/秒)。
1.3.2. 內存
內存:存儲數據的,軟件在運行過程中所需要的數據會先加載到內存 中,然后 cpu 獲取 的 數據都是直接從內存中獲取,并不是直接從硬盤中獲取的。 優點: 存取速度快。 缺點: 一旦斷電或者是程序退出,內存中的數據會馬上丟失。
一個程序和它的數據在被 CPU 執行前必須移到計算機的內存中。每個字節都有一個唯一的 地址。使用這個地址確定字節的位置,以便于存儲和獲取數據。一個計算機具有的 RAM 越 多,它的運行速度越快。內存存取數據的速度比硬盤的存取速度快 10 倍,在某些環境里, 硬盤和內存之間的速度差距可能會更大。而 CPU 的速度比內存不知還要快多少倍。當我們 把程序從硬盤放到內存以后,CPU 就直接在內存運行程序,這樣比 CPU 直接在硬盤運行程 序就要快很多。內存解決了一部分 CPU 運行過快,而硬盤數據存取太慢的問題。提高了我 們的電腦的運行速度。內存就如同一條“高速車道”一般,數據由傳輸速度較慢的硬盤通過這 條高速車道傳送至 CPU 進行處理!但內存是帶電存儲的(一旦斷電數據就會消失),而且容量 有限,所以要長時間儲存程序或數據就需要使用硬盤。
內存在這里起了兩個作用: 1.保存從硬盤讀取的數據,提供給 CPU 使用 2. 保存 CPU 的一些臨時執行結果,以便 CPU 下次使用或保存到硬盤
1.3.3. 數據是如何存儲在計算機中的
計算機就是一系列的電路開關。每個開關存在兩種狀態:關(off)和開(on)。如果電路是 開的,它的值是 1。如果電路是關的,它的值是 0。 一個 0 或者一個 1 存儲為一個比特(bit),是計算機中最小的存儲單位。 計算機中是最基本的存儲單元是字節(byte) 。每個字節由 8 個比特構成。
1.3.4. 硬盤
硬盤(機械硬盤, 固態硬盤): 用于永久保存數據和程序 優點:可以永久性保持數據,即使斷電或者是程序退出,保存在硬盤中的數據是不會丟失的。 缺點: 存取的速度慢。
1.4.計算機軟件系統
計算機軟件系統通常被分為系統軟件和應用軟件兩大類。計算機系統軟件能保證計算機按照 用戶的意愿正常運行,滿足用戶使用計算機的各種需求,幫助用戶管理計算機和維護資源執 行用戶命令、控制系統調度等任務。軟件系統分為兩大類,雖然各自的用途不同,但他們的 共同點是都存儲在計算機存儲器中,以某種格式編碼書寫的程序或數據。 (1)系統軟件 系統軟件是指擔負控制和協調計算機及其外部設備、支持應用軟件的開發和運行的一類計算 機軟件。系統軟件一般包括操作系統、語言處理程序、數據庫系統和網絡管理系統。控制和 監視系統的活動。分配和調配系統資源。調度操作
(2)應用軟件 應用軟件是指為特定領域開發、并為特定目的服務的一類軟件。應用軟件是直接面向用戶需 要的,它們可以直接幫助用戶提高工作質量和效率,甚至可以幫助用戶解決某些難題。應用 軟件一般分為兩類:一類是為特定需要開發的實用型軟件,如會計核算軟件、工程預算軟件 和教育輔助軟件等:另一類是為了方便用戶使用計算機而提供的一種工具軟件,如用于文字 處理的 Word、用于輔助設計的 AutoCAD 及用于系統維護的瑞星殺毒軟件等。
1.5.windows 操作系統
1.6.什么是軟件
軟件,即一系列按照特定順序組織的計算機數據和指令的集合
1.7.人機交互的方式
1) 圖形化界面:簡單直觀,容易操作,用戶的體驗好。 圖形化界面(GraphicalUser InterfaceGUI)這種方式簡單直觀,使用者易于接受,容易上 手操作。 2 )dos 命令交互方式:需要有一個控制臺,輸入特定的指令,讓計算機完成一些操作。較 為麻煩,需要記錄住一些命令,而且只能完成一些比較單一的功能。命令行方式(Command LineInterfaceCLI):需要有一個控制臺,輸入特定的指令,讓計算機完成一些操作。較為麻 煩,需要記錄住一些命令。
1.8.DOS 系統
DOS 是一個早期的操作系統,現在已經被 Windows 系統取代,對于我們開發人員,目前需 要在 DOS 中完成一些事情,因此就需要掌握一些必要的命令
1.9.常見的 DOS 命令
1.10. 計算機語言
通過 DOS 命令行的演示,發現原來操作計算機就如同和計算機說話一樣。 我們告訴它做什么,它就可以做什么。前提是,我們和它說的內容它必須識別才可以。這就 是計算機語言
語言:是人與人之間用于溝通的一種方式。 例如:中國人與中國人用中文溝通。而中國人要和韓國人交流,就要學習韓語。 計算機語言:人與計算機交流的方式。如果人要與計算機交流,那么就要學習計算機語。計 算機語言有很多種。如:C,C++,Java,PHP,Kotlin,Python,Scala 等如:C,C++,Java 等。這 里,我們選擇其中的一種:Java 語言
1.10.1. 第一代語言
機器語言。指令以二進制代碼形式存在
1.10.2. 第二代語言
匯編語言。使用助記符表示一條機器指令。
1.10.3. 第三代語言:高級語言
C、Pascal、面向過程的語言 C++面向過程/面向對象 Java 跨平臺的純面向對象的語言 .NET 跨語言的平臺 Python、Scala…
2.Java 簡介
2.1.為什么學習 java
錢途
2.2.語言歷史概述
2.3.Java 之父
任首席軟件架構師
2.4.Java 技術體系平臺
從 Java 的應用領域來分,Java 語言的應用方向主要表現在以下幾個方面:
企業級應用:主要指復雜的大企業的軟件系統、各種類型的網站。Java 的安全機制以及它的 跨平臺的優勢,使它在分布式系統領域開發中有廣泛應用。應用領域包括金融、電信、交通、 電子商務等。
Android 平臺應用:Android 應用程序使用 Java 語言編寫。Android 開發水平的高低很大程度 上取決于 Java 語言核心能力是否扎實。
大數據平臺開發:各類框架有 Hadoop,spark,storm,flink 等,就這類技術生態圈來講,還 有各種中間件如 flume,kafka,sqoop 等等,這些框架以及工具大多數是用 Java 編寫而成, 但提供諸如 Java,scala,Python,R 等各種語言 API 供編程。
移動領域應用:主要表現在消費和嵌入式領域,是指在各種小型設備上的應用,包括手機、 PDA
Java 語言是易學的。Java 語言的語法與 C 語言和 C++語言很接近,使得大多數程序員很容易 學習和使用 Java。 Java 語言是強制面向對象的。Java 語言提供類、接口和繼承等原語,為了簡單起見,只支持 類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實現機制(關鍵字為 implements)。
Java 語言是分布式的。 Java 語言支持 Internet 應用的開發,在基本的 Java 應用編程接口中有一個網絡應用編程接口(java net),它提供了用于網絡應用編程的類庫,包括 URL、 URLConnection、Socket、ServerSocket 等。Java 的 RMI(遠程方法激活)機制也是開發分布 式應用的重要手段。
Java 語言是健壯的。Java 的強類型機制、異常處理、垃圾的自動收集等是 Java 程序健壯性 的重要保證。對指針的丟棄是 Java 的明智選擇。
2.5.Java 語言的特點:跨平臺性
1) 什么是跨平臺性? 通過 Java 語言編寫的應用程序在不同的系統平臺上都可以運行。
2) 原理是什么? 只要在需要運行 java 應用程序的操作系統上,先安裝一個 Java 虛擬機(JVM JavaVirtual Machine)即可。由 JVM 來負責 Java 程序在該系統中的運行
java 是利用 JVM(java 虛擬機)實現跨平臺的,不同的平臺有不同的 JVM,Java 代碼(.java 文件),通過編譯器編譯成字節碼(.class 文件),字節碼文件再通過不同平臺的 JVM 解釋為具 體平臺的具體指令。也就是說 java 的字節碼是跨平臺的。
JVM 是一個虛擬的計算機,具有指令集并使用不同的存儲區域。負責執行指令,管理數據、 內存、寄存器。對于不同的平臺,有不同的虛擬機。只有某平臺提供了對應的 java 虛擬機, java 程序才可在此平臺運行。Java 虛擬機機制屏蔽了底層運行平臺的差別,實現了“一次編 譯,到處運行”
3.Java 語言的環境搭建
3.1.什么是 JRE,JDK?
3.2.什么是 JVM
JVM 是 JavaVirtualMachine(Java 虛擬機)的縮寫,JVM 是一種用于計算設備的規范,它是一個虛構出來的計算機,是通過在實際的計算機上仿真模擬各種計算機功能來實現的。
Java 語言的一個非常重要的特點就是與平臺的無關性。而使用 Java 虛擬機是實現這一特點 的關鍵。一般的高級語言如果要在不同的平臺上運行,至少需要編譯成不同的目標代碼。而 引入 Java 語言虛擬機后, Java 語言在不同平臺上運行時不需要重新編譯。 Java 語言使用 Java 虛擬機屏蔽了與具體平臺相關的信息,使得 Java 語言編譯程序只需生成在 Java 虛擬機上運 行的目標代碼(字節碼),就可以在多種平臺上不加修改地運行。Java 虛擬機在執行字節碼 時,把字節碼解釋成具體平臺上的機器指令執行。這就是 Java 的能夠“一次編譯,到處運行” 的原因。
JRE=JVM+類庫文件 JDK=JRE+java 開發工具
3.3.下載 JDK
3.4.安裝 JDK
傻瓜式安裝,下一步即可。 建議:安裝路徑不要有中文或者特殊符號如空格等。 當提示安裝 JRE 時,可以選擇不安裝
3.5.配置環境變量
3) 所以進入到 jdk 安裝路徑\bin 目錄下,執行 javac。看到 javac 參數提示信息。
4) 每次執行 java 的工具都要進入到 bin 目錄下,是非常麻煩的。 可不可以在任何目錄下都可以執行 java 的工具呢? 根據 windows 系統在查找可執行程序的原理,可以將 java 工具所在路徑定義到 path 環境變 量中,讓系統幫我們去找運行執行的程序。
5) 配置技巧 為了不因為 jdk 的目錄或者目錄名稱的改變,而不斷更改 path 的值,而導致對 path 變量值 的誤操作,可以通過以下技巧完成。 新創建一個環境變量 JAVA_HOME 記錄住 jdk 的目錄。 在 path 中通過%%動態的獲取 JAVA_HOME 的值即可。 JAVA_HOME=E\jdk9.0 path=%JAVA_HOME%\bin;%path% %path%:動態獲取 path 環境變量的值。 %JAVA_HOME%:動態獲取名稱為 JAVA_HOME 環境變量的值。
3.6.驗證是否安裝成功
重新打開的命令行中輸入 javac 看到如下圖則說明安裝成功
4.Java 程序開發體驗–HelloWorld
4.1.開發步驟
1) 將 Java 代碼編寫到擴展名為.java 的文件中。 2) 將文件保存成 Demo.java,這個文件是存放 java 代碼的文件,稱為源文件 3) 通過 javac 命令對該 java 文件進行編譯。 4) Javac 文件名.后綴名—產生一個.class 文件 5)通過 java 命令對生成的 class 文件進行運行。java 類名
4.2.具體步驟
步驟一:編寫 選擇最簡單的編輯器記事本。 敲入代碼 classDemo {} 將文件保存成 Demo.java,這個文件是存放 java 代碼的文件,稱為源文件。
步驟二:編譯 有了 java 源文件,將其編譯成 JVM 可以識別的文件。 在該源文件目錄下,通過 javac 編譯工具對 Demo.java 文件進行編譯。 如果程序沒有錯誤,沒有任何提示,但在當前目錄下會出現一個 Demo.class 文件,該文件 稱為字節碼文件,也是可以執行的 java 的程序。 字節碼文件 是一種與平臺無關的二進制文件
步驟三:運行 有了可執行的 java 程序(Demo.class 字節碼文件) 通過運行工具 java.exe對字節碼文件進行執行。 出現提示:缺少一個名稱為 main 的方法
因為一個程序的執行需要一個起始點或者入口,所以在 Demo 類中的加入 publicstaticvoidmain(String[]args){} 對修改后的 Demo.java 源文件需要重新編譯,生成新的 class 文件后,在進行執行。 發現沒有編譯失敗,但也沒有任何效果,因為并沒有告訴 JVM 要幫我們做什么事情,也就 是沒有可以具體執行的語句。 想要和 JVM 來個互動,只要在 main 方法中加入一句 System.out.println(“helloworld”);因為程序進行改動,所以再重新編譯,運行即可。
4.3.動手操作
文件名必須是 HelloWorld ,保證文件名和類的名字是一致的,注意大小寫。 每個字母和符號必須與示例代碼一模一樣。 第一個 HelloWord 源程序就編寫完成了,但是這個文件是程序員編寫的,JVM 是看不懂的, 也就不能運行,因此我們必須將編寫好的 Java 源文件 編譯成 JVM 可以看懂的 字節碼文 件 。
4.4.知識總結
編譯:是指將我們編寫的 Java 源文件翻譯成 JVM 認識的 class 文件,在這個過程中,javac 編譯器會檢查我們所寫的程序是否有錯誤,有錯誤就會提示出來,如果沒有錯誤就會編譯成 功。 運行:是指將 class 文件 交給 JVM 去運行,此時 JVM 就會去執行我們編寫的程序了 main 方法:稱為主方法。寫法是固定格式不可以更改。main 方法是程序的入口點或起始點, 無論我們編寫多少程序,JVM 在運行的時候,都會從 main 方法這里開始執行。
4.5.常見問題
1) 缺少 main 方法 2) 源文件中的大小寫要注意 3) 拓展名(例子:A.java.txt) 4) 沒有配置 path 5) 類文件名寫錯
4.6.配置 classpath
1) 既然 class 文件(字節碼文件)是 java 的運行文件,可不可以實現,在任意目錄下都可以執行 某一目錄下的 class 文件呢? 根據 path 環境變量的原理,可以定義一個名為 classpath 環境變量,將要運行的 class 文件所 在目錄定義在該變量中。 例:setclasspath=c:\ classpath 變量值是 java 類文件的目錄 path 變量是 windows 程序文件的目錄
2) JVM 查找類文件的順序: 如果沒有配置 classpath 環境變量,JVM 只在當前目錄下查找要運行的類文件。如果配置了 classpath 環境, JVM 會先在 classpath 環境變量值的目錄中查找要運行的類文件。 值的結尾處如果加上分號,那么 JVM 在 classpath 目錄下沒有找到要指定的類文件,會在當 前目錄下在查找一次。 值的結尾出如果沒有分號,那么 JVM 在 classpath 目錄下沒有找到要指定的類文件,不會在 當前目錄下查找,即使當前目錄下有,也不會運行。 建議:配置 classpath 環境變量時,值的結尾處不要加分號,如果需要訪問當前目錄可以用 “.” 表示。
5.常見的 java 開發工具
Java 集成開發環境(IDE): JBuilder NetBeans Eclipse MyEclipse IntelliJIDEA
6.今日作業
1.簡述對 JVM,JRE,JDK 的理解。
2.簡述環境變量 path 和 classpath 的作用?
3.獨立編寫 helloworld 程序,編譯并運行。
4.java 語言是否區分大小寫?class 的作用,javac,java 的作用?
5.簡述 main 方法(是什么,什么特點,怎么用,何時用?)
6.簡述今天遇到不理解的知識點。
總結
以上是生活随笔為你收集整理的day01-计算机操作系统java编程入门的全部內容,希望文章能夠幫你解決所遇到的問題。