版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、java 基礎(chǔ)學(xué)習(xí)總結(jié)java 基礎(chǔ)學(xué)習(xí)總結(jié)】java 基礎(chǔ)學(xué)習(xí)總結(jié)第一階段任務(wù):搭建環(huán)境,學(xué)習(xí)myeclipse 的使用,java 基礎(chǔ)語(yǔ)法的掌握。從 10 月 28 日到公司,在技術(shù)總監(jiān)為我安排明確每一階段的學(xué)習(xí)任務(wù)后,我就進(jìn)入相關(guān)知識(shí)的補(bǔ)充,現(xiàn)在將第一階段的學(xué)習(xí)情況做一個(gè)總結(jié)匯報(bào)。之前接觸java 較少,只是簡(jiǎn)單了解過,這幾天主要對(duì)java 的語(yǔ)法知識(shí)進(jìn)行了相關(guān)的學(xué)習(xí),在學(xué)習(xí)中相對(duì)來說,由于之前系統(tǒng)的學(xué)習(xí)過 c+ 面向?qū)ο笳Z(yǔ)言,因此學(xué)習(xí)起來并不覺得有多大困難,學(xué)習(xí)也是采用二者的不同點(diǎn)來進(jìn)行參考學(xué)習(xí),并且對(duì)于java 的特殊地方予以特別的注意。并且對(duì)于每一個(gè)知識(shí)點(diǎn),都嘗試寫有實(shí)驗(yàn)代碼,通過
2、補(bǔ)充理論知識(shí)與實(shí)際動(dòng)手,希望能夠快速的將其基本掌握?,F(xiàn)在總結(jié)一些自己總結(jié)的知識(shí)點(diǎn)。java 與 c+ 不同點(diǎn):(1)、 java 屬于解釋型語(yǔ)言,但是它還是需要編譯,但它并不是將源代碼編譯成二進(jìn)制代碼,而是編譯為字節(jié)碼,然后解釋執(zhí)行字節(jié)碼,因此具有很好的跨平臺(tái)性。這與c+ 的編譯型(編譯成二進(jìn)制代碼)語(yǔ)言是不同的。(2)、在java中不區(qū)別定義與聲明,C+中需要使用extern來聲明一個(gè)已經(jīng)定義過的變量。并且在java 中如果變量沒有初始化,就直接使用的話,程序在編譯時(shí)就會(huì)報(bào)錯(cuò),而C+ 中只會(huì)在執(zhí)行時(shí)給出一個(gè)隨機(jī)值。(3)、在java 中 Const 成為保留關(guān)鍵字,并不使用它,在定義一個(gè)常量
3、的時(shí)候,java 中使用 final 。而 C+ 中可以使用Const 、 #define 、enum 來定義常量。final 修飾的表示只能夠被賦值一次,賦值后便不可更改。(4)、在java中g(shù)oto 也被作為保留關(guān)鍵字,當(dāng)需要跳出循環(huán)時(shí),可以使用break、Continue都可以用來帶標(biāo)簽,而跳出當(dāng)前循環(huán)體。而在 C+ 中 break 與 Continue 不具備此功能。(5)、在java中不能在嵌套的兩個(gè)塊中聲明名字相同的變量與常量,而在 C+ 中不存在此限制,C+ 中會(huì)依據(jù)不同的塊,給予變量不同的作用范圍與生命周期。(6)、 java 中沒有運(yùn)算符重載的功能,但是我們?cè)谑褂谩?+”來連
4、接字符串的時(shí)候,這確實(shí)又體現(xiàn)了運(yùn)算符的重載,可并不能因此就說它具有運(yùn)算符重載的功能。而運(yùn)算符重載是c+ 的一大特點(diǎn)與難點(diǎn)。(7)、java與c+的內(nèi)聯(lián)機(jī)制不同,C+中使用inline關(guān)鍵字來聲明內(nèi)聯(lián)函數(shù),而java 是否內(nèi)聯(lián),是交由虛擬機(jī)來決定的。(8)、 java 中,一個(gè)構(gòu)造器可調(diào)用另外一個(gè)構(gòu)造器,使用this(.) 與super (.) C+中是不能夠這樣的。并且 java的垃圾回收是由java虛擬機(jī)來進(jìn)行操作,因此它沒有析構(gòu)器。這與C+ 需要手動(dòng)回收資源也是不同的。(9)、java與C+的繼承也是有些不同,最大的區(qū)別是java不支持多繼承,只能夠單繼承。java 中繼承使用的關(guān)鍵字是e
5、xtends 代替了 C+ 中的 “: ”,并且 java 中的所有繼承都是publiC 的,而 C+ 可以設(shè)置多種權(quán)限的繼承。(10) 、 java 中一個(gè)類只能繼承一個(gè)父類,但是可以實(shí)現(xiàn)多個(gè)接口,它提供了接口的概念,而C+ 中沒有此概念,C+ 中使用純虛基類實(shí)現(xiàn)了接口的功能。但是二者是有很大差別的。(11)、java中的數(shù)組與C+的數(shù)組也是不盡相同的。在 java中比如定義一個(gè)數(shù)組int a; 首先是在棧區(qū)分配了一段空間,名字為a,當(dāng)再次使用a = new int10 ;的時(shí)候,它會(huì)在堆區(qū)分配10個(gè)位置,名字分別是 a0、a1這與C+中是有很大差別的,C+ 中一維數(shù)組分配的位置都在棧區(qū),并
6、且可以通過a+這種方式來遍歷數(shù)組,它定義數(shù)組也不需要new,可以直接給出數(shù)組的大小。(12) 、在參數(shù)傳遞方面,二者也略有不同,java 中都是值傳遞,而C+ 中有值傳遞與引用傳遞(指針傳遞實(shí)質(zhì)上也是值傳遞,只不過傳的是地址)。由于java中都是值傳遞,它具備以下幾個(gè)特點(diǎn):一個(gè)方法不能修改一個(gè)基本數(shù)據(jù)類型的參數(shù)(即數(shù)值型與布爾型);一個(gè)方法可以改變一個(gè)對(duì)象參數(shù)的狀態(tài),一個(gè)方法不能讓對(duì)象參數(shù)引用一個(gè)新的對(duì)象。java 的特性:(1)、 java 具有兩大類的數(shù)據(jù)類型,分別是:8 種基本數(shù)據(jù)類型,對(duì)象引用數(shù)據(jù)類型。其中java 將布爾類型,原來在C+ 中 false 就是0,true 就是 1 。
7、 java 中直接定義為false 與 true 。(2)、 java 中 string 的字符串為不可變字符串,stringbuffer 為可變字符串,也就是string 的值一旦被創(chuàng)建它就不可被修改。因?yàn)檫@個(gè)類前面使用了final 來修飾。(3)、在一個(gè)java 源文件中,只能有一個(gè)公有類(public ),但可以有任意數(shù)目的非公有類。如果在其中此時(shí)再定義接口,接口的屬性也只能是默認(rèn),不能是public 。(4)、在類中的靜態(tài)方法,沒有this 指針,因?yàn)樗菍儆谝粋€(gè)類的,而不是某個(gè)對(duì)象。在靜態(tài)方法中不能直接訪問非靜態(tài)變量(可通過調(diào)用方法來訪問變量),但是可以直接訪問本類中的靜態(tài)變量。非靜
8、態(tài)方法可以直接訪問靜態(tài)變量。(5)、 java 中的 super 與 this 的區(qū)別:super 不是一個(gè)對(duì)象的引用,不能將 super 賦給另外一個(gè)對(duì)象的變量,它只是一個(gè)指示編譯器調(diào)用父類方法的特有關(guān)鍵字。而this 是一個(gè)對(duì)象的引用,它指向它自身,同一個(gè)類不同對(duì)象擁有不同的this 。(6)、關(guān)于 final 的幾個(gè)重點(diǎn):final 定義的類,不能夠被繼承。如果在某個(gè)類中(非final 類)某個(gè)方法使用了final 來修飾,那么在子類中不能使用重寫這個(gè)方法。final 類中所有方法自動(dòng)地成為final 方法,但是其中的變量并不是final 的。(7)、在 java 中有一個(gè)關(guān)鍵字,ins
9、tanceof 來判斷一個(gè)類b 是否屬于類 a 的子類,常常用于在類型轉(zhuǎn)換時(shí),進(jìn)行檢查類的匹配問題。(8)、不能構(gòu)造接口對(duì)象,但是可以聲明接口變量;不能構(gòu)造抽象類對(duì)象,但是可以聲明抽象類變量。(9)、接口的修飾符只能為默認(rèn)的default 或者 public ,它其中的所有方法都是抽象的,被自動(dòng)設(shè)為public ,變量自動(dòng)設(shè)為publicstatic final 。(10)、java中抽象類與接口的差別:抽象類用 class來修飾,接 口用interface來修飾,抽象類可以繼承,接口也可以繼承;一個(gè) 類可以實(shí)現(xiàn)多個(gè)接口,但是只能繼承一個(gè)抽象類;抽象類可以有 非抽象的方法,繼承它的子類可以對(duì)這
10、些方法重寫;但是接口中的方法全部為抽象方法,實(shí)現(xiàn)這個(gè)接口的類,必須全部用重寫接口中的方法;在抽象類中定義的方法,他們的修飾符可有這些選擇:public protected default private 。而接口中的方法全部是public的;抽象類可以有構(gòu)造函數(shù),而接口沒有構(gòu)造器。(11) 、 java異常處理用trycatch 來?yè)渥剑话阍赾atch 末尾 finally 來釋放掉一些稀有資源,不管釋放撲捉到異常,finally 中的語(yǔ)句一定會(huì)被執(zhí)行的。一般來說,對(duì)于異常也可不出,某個(gè)方法有異常,在調(diào)用它的方法中繼續(xù)用thows 繼續(xù)拋出異常,讓上一級(jí)處理。一般規(guī)定除 runtimeexc
11、eption 以外其他的異常,在程序中出現(xiàn)時(shí),都必須處理。以上內(nèi)容,是我這幾天學(xué)習(xí)整理所得,由于初學(xué),有些地方不準(zhǔn)確、不嚴(yán)謹(jǐn),希望劉老師給予指正與指導(dǎo)。很多更深入的java 知識(shí),需要在實(shí)踐中得到不斷的補(bǔ)充,在后面實(shí)際工作中,希望得到劉老師劉總監(jiān)幫助。何磊2013 年 10 月 31 日【篇二:java 基礎(chǔ)部分學(xué)習(xí)心得】一java數(shù)據(jù)結(jié)構(gòu),鏈表1 java 簡(jiǎn)介java 核心機(jī)制:java 虛擬機(jī) (實(shí)現(xiàn)了一處編程,到處運(yùn)行),因?yàn)槠溥\(yùn)行過程是先編譯成.class 字節(jié)碼文件,然后在jvm ( java virtualmachines )運(yùn)行,不同的操作系統(tǒng)有不同的虛擬機(jī),所以實(shí)現(xiàn)了一處編程
12、,到處運(yùn)行。垃圾收集機(jī)制(: 幫助解決了一些健壯性的問題,不像c/c+ 那樣內(nèi)存管理那樣麻煩),在編程過程中,會(huì)創(chuàng)建許多對(duì)象,存儲(chǔ)在堆空間里,占用內(nèi)存,但是java 的垃圾回收機(jī)制,會(huì)不定時(shí)的自動(dòng)回收在堆空間里沒有任何引用指向的對(duì)象,所以在編程時(shí)應(yīng)習(xí)慣性及時(shí)將不用的引用設(shè)置為null 。可以通過system.gc(); 來快速執(zhí)行垃圾回收機(jī)制。j2sdk(jdk): java devleopment kit 軟件開發(fā)包,開發(fā)需要 jdk (包含 jre ,編譯運(yùn)行開發(fā)工具)。jre : java runtime environment 運(yùn)行環(huán)境,用戶只需要jre (包含系統(tǒng)類庫(kù)和jvm )。
13、軟件格式:每一個(gè)類都對(duì)應(yīng)一個(gè)class 文件如果一個(gè)源文件文件中包含public 類,則該文件名必須以該類命名,每個(gè)源文件中最多有一個(gè)public 類java 的執(zhí)行入口是main() 方法,固定格式:public static voidmain (string args) 數(shù)|名字可以改變。區(qū)分大寫小2 java 語(yǔ)言基礎(chǔ)變量取名:標(biāo)識(shí)符選取取名:一定要注意“見名知意”,但不能和java 語(yǔ)言的關(guān)鍵字重合字符常量 “ 字符串常量”變量使用:先聲明,再賦值,才可以使用變量基本類型:4 類 8 種 ;boolean 類型 :邏輯運(yùn)算,用于程序流程控制,只能取true ,falsechar 類型
14、: 字符類型eg: char echar= 中 , unicode 編碼(每個(gè)字符對(duì)應(yīng)有一個(gè)編碼)每個(gè)字符占兩個(gè)字節(jié),無論中午,英語(yǔ),數(shù)字,每個(gè)字符都是占兩個(gè)字節(jié)。整數(shù)類型:byte 占一個(gè)字節(jié)-128-127short 2 個(gè)字節(jié)int 4 個(gè)字節(jié) 對(duì)應(yīng)包裝類integerlong8 個(gè)字節(jié)浮點(diǎn)類型flaot 4 個(gè)字節(jié)double 8 個(gè)字節(jié)對(duì)應(yīng)包裝類double格式 很重要1. 大括號(hào)對(duì)齊2. 遇到 用 tab or shift+tab3. 程序塊之間加空行4. 運(yùn)算符兩側(cè)加空格有特定的條件5. 并排語(yǔ)句之間加空格6. 前面有空格7. 成對(duì)編程異或八相異為true邏輯和邏輯| 無論結(jié)果如
15、何,后面的表達(dá)式一定會(huì)計(jì)算短路和短路| 第一個(gè)表達(dá)式已經(jīng)可以得到結(jié)果了,后面的不算了分支循環(huán)語(yǔ)句if 語(yǔ)句ifelse ifelse ifelse ifelse 當(dāng)只有一句語(yǔ)句要執(zhí)行的時(shí)候,可以省略大括號(hào) 但是目前無論是否可以省略,都寫上循環(huán)語(yǔ)句for 循環(huán), for (表達(dá)式1 ;表達(dá)式2;表達(dá)式3) 語(yǔ)句;.; while 循環(huán) while (邏輯表達(dá)式)語(yǔ)句;.; do while 循環(huán) do (語(yǔ)句;.;)while (邏輯表達(dá)式);注意,do while 循環(huán) while (邏輯表達(dá)式);的分號(hào)if 語(yǔ)句后面注意不要加分號(hào),不容易被查錯(cuò)continue 語(yǔ)句,用在循環(huán)中,終止當(dāng)前循環(huán)
16、中下面的語(yǔ)句,到下一次循環(huán)switch ()case xx:語(yǔ)句;case xx :語(yǔ)句;default :語(yǔ)句;這里注意case 和 break 的搭配使用,如果沒有break ,則程序會(huì)一直向下執(zhí)行。方法 public ( static ) 返回值類型方法名稱(形式參數(shù);.) 方法體; java 語(yǔ)句; return 返回值當(dāng)出現(xiàn)return 時(shí),立即返回。無返回值時(shí),類型為voidstatic 是靜態(tài)方法,直接使用類名調(diào)用,非靜態(tài)方法,需要使用對(duì)象調(diào)用。方法只有當(dāng)調(diào)用的時(shí)候,才會(huì)執(zhí)行,方法中涉及的局部變量,在方法被調(diào)用時(shí),出現(xiàn)在??臻g,一旦方法結(jié)束,所占用內(nèi)存消失。.method (實(shí)參
17、;.) /調(diào)用(面試)遞歸三面向?qū)ο竺嫦驅(qū)ο缶幊?運(yùn)用人類正常思維方式構(gòu)造系統(tǒng),常使用的原則和思想方法:抽象,繼承,分類,聚合,多態(tài)1. 使用人類自然語(yǔ)言,描述這個(gè)業(yè)務(wù)的需求2. 根據(jù)業(yè)務(wù)需求尋找涉及的事物類-對(duì)象3. 數(shù)據(jù)模型設(shè)計(jì):利用數(shù)據(jù)描述對(duì)象,以及對(duì)象之間的關(guān)系,將對(duì)象數(shù)據(jù)化。4. 概要設(shè)計(jì)類的設(shè)計(jì)(概要設(shè)計(jì)):定義類的屬性數(shù)據(jù)如何初始化:構(gòu)造器,工廠方法。詳細(xì)設(shè)計(jì)5. 利用分析數(shù)據(jù)6. 根據(jù)數(shù)據(jù)設(shè)計(jì)算法實(shí)現(xiàn)功能7. 逐一實(shí)現(xiàn)算法8. 實(shí)現(xiàn)用戶響應(yīng)9. 界面狀態(tài)管理用面向?qū)ο罂紤]問題時(shí),不應(yīng)該考慮第一步,第二部要做什么,1.首先考慮的是,這個(gè)問題涉及哪些類和對(duì)象,2.考慮這些類和對(duì)象,
18、每一種應(yīng)該具有哪些行為和屬性3.每類和類之間具備了什么關(guān)系。類是一類事物的一個(gè)抽象對(duì)象這個(gè)類具體的一個(gè)實(shí)例類和對(duì)象多為關(guān)系:關(guān)聯(lián)關(guān)系繼承關(guān)系:一般和特殊的關(guān)系,eg:游泳運(yùn)動(dòng)員是運(yùn)動(dòng)員的一種,足球運(yùn)動(dòng)員是球類運(yùn)動(dòng)員的一種。聚合關(guān)系:整體和部分的關(guān)系,eg: 隊(duì)長(zhǎng)和隊(duì)員是球隊(duì)的一部分,是聚集關(guān)系,頭和手是身體的一部分,是組合關(guān)系。實(shí)現(xiàn)關(guān)系:多態(tài):成員變量可以不初始化,java 默認(rèn)會(huì)初始化對(duì)象的創(chuàng)建和使用:使用 new 關(guān)鍵詞來創(chuàng)建對(duì)象對(duì)象 .成員變量來調(diào)用對(duì)象的成員變量(引用)對(duì)象 .方法 來調(diào)用對(duì)象的方法(引用)同一類的每個(gè)對(duì)象有不用的存儲(chǔ)空間同一類的每個(gè)對(duì)象共享該類的方法構(gòu)造方法:構(gòu)造方法
19、的名字和類名要完全一樣,和new 一起使用來創(chuàng)建新對(duì)象,對(duì)對(duì)象進(jìn)行初始化的。在類中用來初始化對(duì)象的一個(gè)方法(函數(shù))eg : public class person / 創(chuàng)建一個(gè)person 類int id ;int age = 20 ;/定義成員變量person ( int _id , int _age ) /定義一個(gè)構(gòu)造方法,方法名必須與類名完全一樣id = _id;age = _age;public static void main (string args) person tom = new person ( 1 , 20);/創(chuàng)建一個(gè)對(duì)象tom, 利用構(gòu)造方法進(jìn)行了初始化沒有指定構(gòu)造方
20、法時(shí),編譯器自動(dòng)指定一個(gè)空的,一旦自己定義了,編譯器就不定義了,構(gòu)造方法前面沒有返回值類名首字母大寫,方法名變量名小寫,后面的每一個(gè)單詞的首字母都要大寫方法一旦執(zhí)行完畢,為這個(gè)方法所分配的局部變量的存儲(chǔ)空間將消失方法重載,構(gòu)造方法的重載:方法名相同,類型相同,但是參數(shù)變量類型不同的,可以構(gòu)成重載,構(gòu)成多個(gè)方法,調(diào)用時(shí)會(huì)根據(jù)不同的參數(shù)選擇相應(yīng)的方法構(gòu)造方法與普通方法一樣,可以進(jìn)行重載關(guān)鍵字:this在那個(gè)對(duì)象,this 就指向那個(gè)對(duì)象,指向?qū)ο蟊旧碜约旱囊胹tatic : 在類中用static 聲明的成員變量是靜態(tài)成員變量,分布在data seg 內(nèi)存空間里,在第一次使用時(shí)被初始化并且只有一份
21、,整個(gè)類的所有對(duì)象都可以使用,可以用類名.靜態(tài)成員變量,來直接調(diào)用。用 static 聲明的方法叫靜態(tài)方法,動(dòng)態(tài)方法通過某一個(gè)對(duì)象來調(diào)用,靜態(tài)方法沒有對(duì)象照樣可以使用,eg :類名.靜態(tài)方法,來調(diào)用,不用寫對(duì)象名字,所以在static 方法里不能訪問非static 的成員static 里不會(huì)隱式傳遞this 關(guān)鍵字,即調(diào)用不了對(duì)象屬性所以當(dāng)一個(gè)方法只和參數(shù)相關(guān),則使用static 方法,如果和成員變量相關(guān),則不使用。靜態(tài)的方法不針對(duì)某個(gè)對(duì)象調(diào)用,非靜態(tài)成員專屬于某個(gè)對(duì)象,所以靜態(tài)方法,不能訪問,可以通過對(duì)象引用,或者類名來訪問靜態(tài)成員static 塊:在類加載期間就被執(zhí)行的語(yǔ)句塊,軟件運(yùn)行時(shí),
22、會(huì)先在jvm 上加載類,則static 塊可以用來加載許多初始化資源。包: package 和 import 、【篇三:java 入門基礎(chǔ)知識(shí)總結(jié)學(xué)習(xí)教程大全【必看經(jīng)典】第一講 java 語(yǔ)言入門一 有一種學(xué)習(xí)叫無論你身處何地,都可以來看java 現(xiàn)場(chǎng)直播其實(shí)別看我說的頭頭是道的,其實(shí)在我剛準(zhǔn)備學(xué)java 的時(shí)候,也老迷茫了,當(dāng)然有時(shí)候迷茫是因?yàn)椴湃A配不上夢(mèng)想,身邊的朋友總是叨叨那誰誰做java 工資多么多么的高,整的我心里癢癢的羨慕妒忌恨,所以就找了很多學(xué)習(xí)java 的機(jī)構(gòu),后來在我們濟(jì)南這邊選擇了一家學(xué)習(xí),學(xué)了半年,就學(xué)了一些不著調(diào)的基礎(chǔ)知識(shí),勉強(qiáng)的能編點(diǎn)小程序,其實(shí)啥實(shí)戰(zhàn)能力也沒有,老師
23、教學(xué)的時(shí)候他自己講的都云里霧里的,讓我們這小新入行的小白更是摸不著頭腦了。我一看,這樣下去,我的java 夢(mèng)也就蔫吧了。后來我一哥們?cè)诰W(wǎng)上給我說了一個(gè)地方讓我去學(xué)習(xí),他們那里每天晚上都有公開課,老師現(xiàn)場(chǎng)講的,于是我就抱著玩的態(tài)度,去聽了幾天他們的公開課,聽的我是豁然開朗,老師講的是通俗易懂,把抽象的 java ,講解的形象生動(dòng),我就覺得和講故事似的,這才是我想要的課程,從那時(shí)候開始,我就每天晚上去學(xué)習(xí),如果各位小伙伴也想去學(xué)習(xí)的話,你們可以加一下他們這個(gè)群就可以去學(xué)習(xí)了,前面的第一組數(shù)字是:一四三,中間的第二組數(shù)字是:五一零,結(jié)束的一組數(shù)字是:一六八。按照順序組合就可以了,反正我通過自己的經(jīng)歷
24、發(fā)現(xiàn)一個(gè)道理,選擇不對(duì),努力白費(fèi)。1.1 java 的特點(diǎn)1.1.1 面向?qū)ο螅? 與 c+ 相比, java 是純的面向?qū)ο蟮恼Z(yǔ)言C+為了向下兼容c,保留了很多c里面的特性,而c,眾所周知是面向過程的語(yǔ)言,這就使c+ 成為一個(gè)混血兒。而java 語(yǔ)法中取消了 c 里為兼容c 所保留的特性,如取消了頭文件、指針?biāo)惴?、結(jié)構(gòu)、單元等。1.1.2 可移植(平臺(tái)無關(guān)性):? 生成中間字節(jié)碼指令與其他編程語(yǔ)言不同,java 并不生成可執(zhí)行文件(.exe 文件),而是生成一種中間字節(jié)碼文件(.class 文件)。任何操作系統(tǒng),只要裝有 java 虛擬機(jī)(jvm ),就可以解釋并執(zhí)行這個(gè)中間字節(jié)碼文件。這正
25、是 java 實(shí)現(xiàn)可移植的機(jī)制。? 原始數(shù)據(jù)類型存儲(chǔ)方法固定,避開移植時(shí)的問題java 的原始數(shù)據(jù)類型的大小是固定的。比如,在任何機(jī)器上,整型都是 32 位,而 c+ 里整型是依賴于目標(biāo)機(jī)器的,對(duì)16 位處理器(比如 8086 ),整數(shù)用兩個(gè)字節(jié)表示;在像sun sparc 這樣的 32位處理器中,整數(shù)用4 個(gè)字節(jié)表示。在intel pentium 處理器上,整數(shù)類型由具體的操作系統(tǒng)決定:對(duì)于dos 和 win32 來說,整數(shù)是2個(gè)字節(jié);對(duì)于windows 9x 、 nt 和 2000 ,整數(shù)是4 個(gè)字節(jié)。當(dāng)然,使整數(shù)類型平臺(tái)無關(guān)之后,性能必然有所下降,但就java 來說,這個(gè)代價(jià)是值得的。j
26、ava 的字符串,則采用標(biāo)準(zhǔn)的unicode 格式保存??梢哉f,沒有這個(gè)特性,java 的可移植性也不可能實(shí)現(xiàn)。1.1.3 簡(jiǎn)單? java在語(yǔ)法上與c+類似java的語(yǔ)法與C+很接近,有過c或者C + +編程經(jīng)驗(yàn)的程序員很容易就可以學(xué)會(huì)java 語(yǔ)法;? 取消了 c+ 的一些復(fù)雜而低效的特性比如:用接口技術(shù)代替了c+ 的多重繼承。c 中,一個(gè)類允許有多個(gè)超類,這個(gè)特性叫做多重繼承,多重繼承使得編譯器非常復(fù)雜且效率不高;java 的類只允許有一個(gè)超類,而用接口( interface )技術(shù)實(shí)現(xiàn)與c 的多繼承相類似的功能其它被取消的特性包括:虛擬基礎(chǔ)類、運(yùn)算符過載等? java 的基本解釋器和類
27、支持模塊大概僅40k即使加入基本的標(biāo)準(zhǔn)庫(kù)和支持線程的模塊,也才220k 左右。與gui(圖形用戶界面)相比,明顯小很多1.1.4 健壯? 取消了指針?biāo)惴╟ 的最關(guān)鍵的一個(gè)特性是它的強(qiáng)大指針?biāo)惴?,比如可以用指針訪問字符串、數(shù)組甚至文件,很容易產(chǎn)生指針溢出,意外地改寫內(nèi)存和損毀數(shù)據(jù)。java 里有一個(gè)指針模型,對(duì)于普通的任務(wù),如訪問字符串、數(shù)組,根本不用指針,而一旦需要,比如訪問對(duì)象、文件時(shí),也可以獲得指針的強(qiáng)大能力,但java 同時(shí)有高度的指針安全保障,用戶永遠(yuǎn)不可能訪問一個(gè)壞掉的指針、不可能造成內(nèi)存分配錯(cuò)誤,也用不著專門提防可能出現(xiàn)的內(nèi)存漏洞。1.1.5 多線程? 強(qiáng)大的多線程能力多線程可以使
28、程序有更好的交互性和實(shí)時(shí)性,并可以最大限度地利用多處理器系統(tǒng)。java 有著強(qiáng)大的多線程處理能力,因?yàn)楦髦髁鞑僮飨到y(tǒng)平臺(tái)在線程的實(shí)施方面有重大的差異,所以java 為不同的操作系統(tǒng)實(shí)現(xiàn)了專門的多線程機(jī)制。在這點(diǎn)上來說,java 沒有做到平臺(tái)無關(guān)。1.2 java 簡(jiǎn)史? 首次亮相-1995 年 5 月java 技術(shù)起先是作為小型的計(jì)算機(jī)語(yǔ)言,用于消費(fèi)類設(shè)備,比如有線電視交換盒等。因?yàn)檫@些設(shè)備的功能和內(nèi)存均不足以運(yùn)行大程序,所以程序要盡可能?。涣硗?,由于不同的廠商可能選用不同的cpu ,所以要求這種語(yǔ)言不能受限于任何一種獨(dú)立的體系結(jié)構(gòu)。1995 年 5月 23 日召開的sunworld 95大會(huì)
29、上,一種全新的瀏覽器(今天的hotjava 的前身)亮相,標(biāo)志著 java 的誕生。? 開始流行-1996 年 1 月那時(shí)網(wǎng)景公司決定在netscape2.0 加入對(duì) java 的支持,netscape2.0 在 1996 年 1 月發(fā)布,從這一版本開始,所有netscape 瀏覽器均支持java 。注冊(cè)了java 使用許可證的還有ibm 、symantec 、 inprise 和其他許多公司。就連微軟,也加入了這一行列(盡管他們支持的java 和標(biāo)準(zhǔn)的java 稍有不同)。? sun 的第一個(gè)java 版本 -1996 年初sun 公司于 1996 年初發(fā)布了java 1.02 ,遺憾的是,
30、java1.02 還未擺脫其小型語(yǔ)言的影子,只適合用來做諸如網(wǎng)頁(yè)上一個(gè)隨機(jī)移動(dòng)的文字之類的工作,并不適合用來做正規(guī)的程序開發(fā)。java1.02 作為一種正規(guī)的編程語(yǔ)言,可以說,準(zhǔn)備得很不充分。? 成熟 -1998 年1998 年 12 月, java1.2 問世了。它是一個(gè)功能全面的、具有高度擴(kuò)展能力的新版本。3 天后, java1.2 被改進(jìn)成java2 ,向一次編寫,到處運(yùn)行的目標(biāo)前進(jìn)了一大步。? 現(xiàn)狀現(xiàn)在最新的java 版本是 jdk1.4 ,它是一個(gè)測(cè)試版,穩(wěn)定的正式版是jdk1.3 。用戶可以到 免費(fèi)下載。微軟在它的最新瀏覽器ie6.0中不再支持java ,為java的發(fā)展帶來陰影。
31、1.3 jdk 的安裝與編程環(huán)境的設(shè)定1.3.1 java 程序的開發(fā)過程經(jīng)典的 java 工具包是jdk 。盡管可以用任何文本編輯器,如記事本,都可以直接編寫java 程序然后用jdk 的命令編譯和運(yùn)行,為了調(diào)試方便,也為了初學(xué)者容易上手,本教程課件將使用一個(gè)叫jpadpro的 java 編寫工具來調(diào)用jdk 的工具。用戶可以到下載這個(gè)工具。1.3.2 jdk 的安裝1.3.3 安裝運(yùn)行之后,應(yīng)該首先設(shè)置jdk 工具包所在的路徑。菜單欄的jdk- select jdk directory- 選擇剛才安裝的jdk 路徑 -ok 。1.3.4 新建一個(gè)project菜單欄的file-new projects- 選擇路徑, 輸入 project 的名字。1.4 兩個(gè)簡(jiǎn)單的程序示例1.4.1 java 應(yīng)用程序:hello.java? 編寫新建一個(gè).java 文件。 file- new- java file- 輸入一個(gè)名字:hello- 點(diǎn) creat file. 出現(xiàn)了一個(gè)空的j
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 七年級(jí)英語(yǔ)Whatisyourfavorite課件
- 駕考題庫(kù)-70歲以上老年人C2駕照年審三力測(cè)試題
- 《證券銷戶寶典》課件
- 單位管理制度集粹選集【職工管理篇】十篇
- 2024服務(wù)合同范文(32篇)
- 單位管理制度合并選集【人員管理】
- 單位管理制度范例選集人事管理十篇
- 七年級(jí)英語(yǔ)Nationalheroes課件
- 3ds Max動(dòng)畫制作實(shí)戰(zhàn)訓(xùn)練(第3版)教學(xué)教案
- 2024年醫(yī)院個(gè)人工作總結(jié)范文
- 肌萎縮側(cè)索硬化癥查房課件
- 數(shù)學(xué)與語(yǔ)言學(xué)、語(yǔ)言藝術(shù)的交叉研究
- 醫(yī)院“無陪護(hù)”病房試點(diǎn)工作方案
- 清華大學(xué)大學(xué)物理-光的偏振
- 心理健康教育-網(wǎng)絡(luò)與青少年
- 高中英語(yǔ)人教版(2019) 選擇性必修一 Unit 3 課文語(yǔ)法填空(含答案)
- 2021-2022學(xué)年陜西省寶雞市陳倉(cāng)區(qū)北師大版六年級(jí)上冊(cè)期末考試數(shù)學(xué)試卷(含答案解析)
- 水工-建筑物課件
- 應(yīng)用PDCA提高入院宣教的知曉率
- 線性系統(tǒng)理論鄭大鐘307張課件
- 2019-2020學(xué)年第一學(xué)期廣東省廣州市天河區(qū)3年級(jí)數(shù)學(xué)期末考試卷
評(píng)論
0/150
提交評(píng)論