計(jì)算機(jī)基礎(chǔ)
1.1. 計(jì)算機(jī)
電子計(jì)算機(jī),俗稱電腦,是一種能夠按照程序運(yùn)行,自動(dòng)、高速處理海量數(shù)據(jù)的現(xiàn)代化智能電子設(shè)備。由硬件和軟件所組成,沒有安裝任何軟件的計(jì)算機(jī)稱為裸機(jī)。
1.2. 硬件和軟件
1.2.1. 硬件cpu是一臺(tái)計(jì)算機(jī)的運(yùn)算核心和控制核心。其功能主要是解釋計(jì)算機(jī)指令以及處理計(jì)算機(jī)軟件中的數(shù)據(jù)。CPU由運(yùn)算器、控制器、寄存器、高速緩存及實(shí)現(xiàn)它們之間聯(lián)系的數(shù)據(jù)、控制及狀態(tài)的總線構(gòu)成。作為整個(gè)系統(tǒng)的核心,CPU 也是整個(gè)系統(tǒng)最高的執(zhí)行單元,因此CPU已成為決定電腦性能的核心部件,很多用戶都以它為標(biāo)準(zhǔn)來判斷電腦的檔次。CPU的主頻,即CPU內(nèi)核工作的時(shí)鐘頻率(CPU Clock Speed)。該時(shí)鐘速度越快,時(shí)間段內(nèi)執(zhí)行的指令就越多, 目前酷睿是2G-3G(1G是10000Mhz)例如,2MHz(200萬次/秒),3GHz(三十億次/秒)。
內(nèi)存是數(shù)據(jù)與CPU進(jìn)行溝通的橋梁。計(jì)算機(jī)中所有程序的運(yùn)行都是在內(nèi)存中進(jìn)行的,內(nèi)存(Memory)也被稱為內(nèi)存儲(chǔ)器,其作用是用于暫時(shí)存放CPU中的運(yùn)算數(shù)據(jù),以及與硬盤等外部存儲(chǔ)器交換的數(shù)據(jù)。
存儲(chǔ)設(shè)備:內(nèi)存不能長(zhǎng)久保存數(shù)據(jù)(非ROM),斷電時(shí)信息就丟失,程序和數(shù)據(jù)都會(huì)被保存在存儲(chǔ)設(shè)備中(例如硬盤),當(dāng)程序和數(shù)據(jù)需要使用時(shí),再加載進(jìn)內(nèi)存,注意:內(nèi)存讀取和寫入的速度要比存儲(chǔ)設(shè)備快的多。
存儲(chǔ)設(shè)備主要有:磁盤驅(qū)動(dòng)器,光盤驅(qū)動(dòng)器(cd dvd)USB閃存(U盤)。
1.2.2. 軟件
軟件的概述:按照一定順序組織的計(jì)算機(jī)數(shù)據(jù)與指令的集合。
軟件 = 數(shù)據(jù)+指令+文檔系統(tǒng)軟件
例如:Widows xp Linux Unix應(yīng)用軟件
例如:QQ、WPS、Photoshop、、微軟的Office
軟件開發(fā):制作軟件。
軟件的本質(zhì) :提高人與計(jì)算機(jī)交流效率,方便人與機(jī)器交互。
1.3. 人機(jī)交互的方式:圖形化界面:簡(jiǎn)單直觀,容易操作,用戶的體驗(yàn)好。
dos命令交互方式:需要有一個(gè)控制臺(tái),輸入特定的指令,讓計(jì)算機(jī)完成一些操作。較為麻煩,需要記錄住一些命令,而且只能完成一些比較單一的功能。
控制臺(tái)打開的步驟:開始--?所有程序---?附件--?命令行提示符
或者開始-?輸入cmd即可。
1.4. 常見的dos命令
盤符: 進(jìn)入指定的盤符下。
dir : 列出當(dāng)前目錄下的文件以及文件夾
md : 創(chuàng)建目錄
rd : 刪除目錄 注意:rd不能刪除非空的文件夾,而且只能用于刪除文件夾。
cd : 進(jìn)入指定目錄
cd.. : 退回到上一級(jí)目錄
cd \ : 退回到根目錄
echo "hello java">a.txt 寫入文本到指定文件
type a.txt 顯示文件內(nèi)容命令
del : 刪除文件 注意:不能刪除文件夾,只能刪除文件。
exit : 推出dos命令行
cls : 通知計(jì)算機(jī)將當(dāng)前的命令清空
*: 是通配符。
方向鍵上下是找回上次你寫過的命令。Java簡(jiǎn)介
語言起源
Java是SUN ( Stanford University Network 斯坦福大學(xué)網(wǎng)絡(luò)公司 ) 1995年推出的一門高級(jí)編程語言。 Java名稱的來源 Java最初被命名為Oak,目標(biāo)在于家用電器等小型系統(tǒng)的編程語言,隨著市場(chǎng)的變化,SUN著眼于網(wǎng)絡(luò)應(yīng)用的開發(fā)。Java的名字的來源:Java是印度尼西亞爪哇島的英文名稱,因盛產(chǎn)咖啡而聞名。 1995年5月23日,JAVA語言誕生 1996年,1997分別推出JDK1.0,JDK1.1版 1999年,JAVA被分成J2SE,J2EE,J2ME 2000年,JDK1.4發(fā)布 2004年9月30日18:00PM,J2SE1.5發(fā)布,成為Java語言發(fā)展史上的又一里程碑。為了表示該版本的重要性,J2SE1.5更名為Java SE 5.0 2005年,JAVA版本正式更名為JAVAEE,JAVASE, JAVAME 2006年12月,SUN公司發(fā)布JRE6.0 2009年04月20日,Oracle以74億美元收購(gòu)Sun。取得java的版權(quán)。 2010年9月,JDK7.0已經(jīng)發(fā)布,增加了簡(jiǎn)單閉包功能。 2011年7月,甲骨文公司發(fā)布java7的正式版。
2013年8月計(jì)算機(jī)語言使用排行榜
疑問:學(xué)習(xí)java需要考證嗎?
2.2 java語言重要特性之跨平臺(tái)
2.2.1 跨平臺(tái)
什么是跨平臺(tái)(計(jì)算機(jī)系統(tǒng)),跨平臺(tái)概念是軟件開發(fā)中一個(gè)重要的概念,即不依賴于操作系統(tǒng),也不信賴硬件環(huán)境。一個(gè)操作系統(tǒng)下開發(fā)的應(yīng)用,放到另一個(gè)操作系統(tǒng)下依然可以運(yùn)行。
2.2.2. Java的跨平臺(tái)
“write once run anywhere”
Java的跨平臺(tái)是相對(duì)于其他編程語言而言的,通過Java語言編寫的應(yīng)用程序在不同的系統(tǒng)平臺(tái)上都可以運(yùn)行。一般的高級(jí)語言如果要在不同的平臺(tái)上運(yùn)行,至少需要編譯成不同的目標(biāo)代碼。在windows編譯的c語言程序,在linux下是不能運(yùn)行的。當(dāng)然在linux下編譯的c語言程序在windows下也是不能運(yùn)行的。而Java語言在不同平臺(tái)上運(yùn)行時(shí)不需要重新編譯。
Java跨平臺(tái)的原理:Java的跨平臺(tái)是通過Java虛擬機(jī)(JVM)來實(shí)現(xiàn)的。
2.2.3. Java虛擬機(jī)(JVM)
Java Virtual Machine 一個(gè)軟件模擬的計(jì)算機(jī)。Java源程序想象成我們的C源程序,Java源程序編譯后生成的字節(jié)碼(.class)就相當(dāng)于C源程序編譯后的二進(jìn)制可執(zhí)行文件。JVM虛擬機(jī)相當(dāng)于計(jì)算機(jī)系統(tǒng)(操作系統(tǒng)+硬件環(huán)境),Java解釋器相當(dāng)于CPU。
.exe文件直接在windows操作系統(tǒng)下運(yùn)行,在CPU上運(yùn)行的是機(jī)器碼(.exe文件)
.class字節(jié)碼文件是運(yùn)行在JVM虛擬機(jī)下的,在Java解釋器上運(yùn)行的是Java字節(jié)碼。
Java解釋器相當(dāng)于運(yùn)行Java字節(jié)碼的“CPU”,但該“CPU”不是通過硬件實(shí)現(xiàn)的,而是用軟件實(shí)現(xiàn)的。Java解釋器實(shí)際上就是特定的平臺(tái)下的一 個(gè)應(yīng)用程序。只要實(shí)現(xiàn)了特定平臺(tái)下的解釋器程序,Java字節(jié)碼就能通過解釋器程序在該平臺(tái)下運(yùn)行,這是Java跨平臺(tái)的根本。當(dāng)前,并不是在所有的平臺(tái) 下都有相應(yīng)Java解釋器程序,這也是Java并不能在所有的平臺(tái)下都能運(yùn)行的原因,它只能在已實(shí)現(xiàn)了Java解釋器程序的平臺(tái)下運(yùn)行。
2.3Java的三大平臺(tái)
JavaSE
Java SE(Java Platform,Standard Edition)。Java SE 以前稱為J2SE。它允許開發(fā)和部署在桌面、服務(wù)器、嵌入式環(huán)境和實(shí)時(shí)環(huán)境中使用的Java 應(yīng)用程序。Java SE 包含了支持Java Web 服務(wù)開發(fā)的類,并為Java Platform,Enterprise Edition(Java EE)提供基礎(chǔ)。
例子:類似QQ、掃雷、飛秋、凌波這樣子的桌面應(yīng)用。
Java EE
Java EE(Java Platform,Enterprise Edition)。這個(gè)版本以前稱為J2EE。企業(yè)版本幫助開發(fā)和部署可移植、健壯、可伸縮且安全的服務(wù)器端 Java 應(yīng)用程序。Java EE 是在Java SE 的基礎(chǔ)上構(gòu)建的,它提供Web 服務(wù)、組件模型、管理和通信API,可以用來實(shí)現(xiàn)企業(yè)級(jí)的面向服務(wù)體系結(jié)構(gòu)(service-oriented architecture,SOA)和Web 2.0 應(yīng)用程序。
Java ME
Java ME(Java Platform,Micro Edition)。這個(gè)版本以前稱為J2ME,也叫K-JAVA。Java ME 為在移動(dòng)設(shè)備和嵌入式設(shè)備(比如手機(jī)、PDA、電視機(jī)頂盒和打印機(jī))上運(yùn)行的應(yīng)用程序提供一個(gè)健壯且靈活的環(huán)境。Java ME 包括靈活的用戶界面、健壯的安全模型、許多內(nèi)置的網(wǎng)絡(luò)協(xié)議以及對(duì)可以動(dòng)態(tài)下載的連網(wǎng)和離線應(yīng)用程序的豐富支持。基于Java ME 規(guī)范的應(yīng)用程序只需編寫一次,就可以用于許多設(shè)備,而且可以利用每個(gè)設(shè)備的本機(jī)功能。
3.環(huán)境的搭建
3.1JDK簡(jiǎn)介:
JDK(Java Development Kit)是Sun Microsystems針對(duì)Java開發(fā)員的產(chǎn)品。自從Java推出以來,JDK已經(jīng)成為使用最廣泛的Java SDK。JDK 是整個(gè)Java的核心,包括了Java運(yùn)行環(huán)境、Java工具和Java基礎(chǔ)類庫(kù)。JDK是學(xué)好Java的第一步。從SUN的JDK5.0開始,提供了泛型等非常實(shí)用的功能,其版本也不斷更新,運(yùn)行效率得到了非常大的提高。
3.2JDK的安裝
網(wǎng)址:http://www.oracle.com/index.html 、http://www.java.sun.com
3.3JDK目錄介紹
- bin目錄:存放Java的編譯器、解釋器等工具(可執(zhí)行文件)。
- db目錄:JDK6-7附帶的一個(gè)輕量級(jí)的數(shù)據(jù)庫(kù),名字叫做Derby。
- include目錄:存放用于本地方法的文件。
- jre目錄:存放Java運(yùn)行環(huán)境文件。
- lib目錄:存放Java的類庫(kù)文件。
- src.zip文件:JDK提供的類的源代碼。
安裝JDK需要注意的事項(xiàng): - 安裝路徑中不要包含中文。
- 安裝路徑中不要包含空格。
3.4JRE簡(jiǎn)
JRE Java Runtime Environment Java運(yùn)行環(huán)境。包括Java虛擬機(jī)(JVM Java Virtual Machine)和Java程序所需的核心類庫(kù)等,如果想要運(yùn)行一個(gè)開發(fā)好的Java程序,計(jì)算機(jī)中只需要安裝JRE即可。
3.5配置path環(huán)境變量
問題:目前在控制臺(tái)窗口下只能在jdk安裝目錄的bin目錄下才能使用jdk的開發(fā)工具在控,如果想制臺(tái)窗口下想要在任意目錄下都可以使用javac與java或者jdk其他的開發(fā)工具那應(yīng)該怎么做呢?
1.在dos窗口敲上javac
我們?cè)陔S意的一個(gè)目錄敲javac或者java命令時(shí)候,發(fā)現(xiàn)dos窗口顯示這個(gè)不是內(nèi)部命令,然后我們?cè)谏厦媲蒙蟦otepad命令時(shí),打開了一個(gè)記事本的程序,但是在當(dāng)前目錄下頁(yè)沒有存在notepad.exe的可執(zhí)行文件,那么為什么能啟動(dòng)呢?
錯(cuò)誤原因:原來在dos窗口上寫上一個(gè)命令時(shí)候,如果在當(dāng)前目錄下找不到指定的可執(zhí)行文件,那么它會(huì)根據(jù)path環(huán)境變量保存的路徑去搜索是否存在這個(gè)可執(zhí)行文件,如果存在則啟動(dòng)該程序,否則就沒有這個(gè)命令。
2.解決方法:
1、 進(jìn)入jdk的安裝目錄的bin目錄。
2、 在dos命令上敲javac。(如果出現(xiàn)了以上的圖信息則配置成功)
3.為什么要配置path環(huán)境變量
因?yàn)樵趈dk下bin文件夾中有很多我們?cè)陂_發(fā)中要使用的工具,如java.exe,javac.exe,jar.ex等,那么我們?cè)谑褂脮r(shí),想要在電腦的任意位置下使用這些java開發(fā)工具,那么我們就需有把這些工具所在的路徑配置到系統(tǒng)的環(huán)境變量中,當(dāng)我們使用時(shí),系統(tǒng)可以幫且我們找到這些命令。
4.如何配置path環(huán)境變量
我們將jdk下bin的路徑進(jìn)行復(fù)制
在我們電腦-----?屬性-----?高級(jí)-----?環(huán)境變量---------?path這項(xiàng)
將bin的路徑放置到path的最前邊,別忘記加分號(hào).
5.JAVA_HOME環(huán)境的配置
有時(shí)候可能需要更換Jdk的目錄,但是經(jīng)常修改path的值可能會(huì)不小心修改其他的路徑,解決方法:
1、 創(chuàng)建一個(gè)JAVA_HOME的變量。
2、 JAVA_HOME的值為JDK的安裝目錄。
3、 配置path路徑:%JAVA_HOME%/bin。
以后需要更換JDK的目錄時(shí),只需要更換JAVA_HOME的目錄即可。
設(shè)置臨時(shí)變量:
set : 查看所有的環(huán)境變量信息。
set 變量名 :查看具體一個(gè)環(huán)境變量的值。
set 變量名=:清空一個(gè)環(huán)境變量的值。
set 變量名=具體值 :給指定變量定義具體值。
想要在原有環(huán)境變量值基礎(chǔ)上添加新值呢?
首先,通過%變量名%操作符獲取到原有環(huán)境變量的值。
然后加上新值后在定義給該變量名即可
舉例:給path環(huán)境變量加入新值
set path=新值;%path%
注意:這種配置方式只在當(dāng)前dos窗口有效。窗口關(guān)閉,配置消失。
4.JAVA程序入門
- 1Hello Word程序入門
- 打開一個(gè)記事本在記事本里面寫上class 類名{}
- 一個(gè)類缺少主函數(shù)不能獨(dú)立運(yùn)行。
- 可以獨(dú)立運(yùn)行了,但是沒有效果。輸出語句。
HelloWord 例子剖析:
class java關(guān)鍵字,用于什么一個(gè)類、
{} : 花括號(hào)表示范圍。
main : 是主函數(shù)的如果(固定寫法)。
4.2 helloworld的小細(xì)節(jié) - 缺少main方法
出現(xiàn)提示:缺少一個(gè)名稱為main的方法。
源文件中的大小寫要注意。初學(xué)者請(qǐng)牢記,第一個(gè)hello例子中只有 String和System中兩個(gè)字符是大寫的,其他的都小寫。
配置path和classpath時(shí),里面的路徑是所有查找的目標(biāo)的父目錄, 而不是目標(biāo)自己。
A.java.txt
文本文件默認(rèn)是txt結(jié)尾的,注意要把隱藏已知文件類型擴(kuò)展名去掉。大小寫
只有類名Demo,String和System中三個(gè)個(gè)首字母是大寫的。
public class Demo{
public static void main(String[] args) {
System.out.println("hello java");
}
}path
看path環(huán)境變量配置 ,里面的路徑是所有查找的目標(biāo)的父目錄,而不是目標(biāo)自己。
寫錯(cuò)類名, 源文件名不存在或者寫錯(cuò),或者當(dāng)前路徑錯(cuò)誤。
類文件名寫錯(cuò),或者類文件不在當(dāng)前路徑下,或者不在classpath指定 路徑下。javac 生成的.class 文件的名稱取決于類名跟.java名沒有關(guān)系。
4.3 classpath環(huán)境變量
- classpath的作用: 作用是指定類搜索路徑,要使用已經(jīng)編寫好的類,前提當(dāng)然是能夠找到它們了,一旦配置了classpath路徑信息的時(shí)候,jvm與java編譯器都會(huì)根據(jù)classpath指定的路徑去尋找class文件。
- 如何設(shè)置當(dāng)前目錄(.)
set classpath=.;設(shè)置路徑 與 set classpath=設(shè)置路徑;.有什么區(qū)別?
“.”在前面的時(shí)候,java虛擬機(jī)會(huì)先從當(dāng)前路徑去尋找class文件,然后再到指定的路徑去需找。如果”.”在后面,java虛擬機(jī)則會(huì)先尋找指定好的路徑,然后再在當(dāng)前的路徑去尋找。
設(shè)置classpath的時(shí)候要加上 ; 就會(huì)在當(dāng)前目錄下查找。
5.作業(yè) - 簡(jiǎn)述對(duì)JVM,JRE,JDK的理解。
- 簡(jiǎn)述環(huán)境變量path和classpath的作用?
- 獨(dú)立編寫hello world程序,編譯并運(yùn)行。
- java語言是否區(qū)分大小寫? class的作用,javac,java的作用?
- 簡(jiǎn)述main方法(是什么,什么特點(diǎn),怎么用,何時(shí)用?)