




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、文檔供參考,可復(fù)制、編制,期待您的好評(píng)與關(guān)注! 1 課程內(nèi)容:JAVA重要基礎(chǔ)知識(shí)推薦教材:面向?qū)ο蟪绦蛟O(shè)計(jì)(第3版),葉乃文等編著,清華大學(xué)出版社推薦參考書:Thinking in JAVA(中文版書名:JAVA編程思想)網(wǎng)上可以下載到電子書2 知識(shí)點(diǎn):3 具體內(nèi)容3.1 JAVA的發(fā)展歷史Java是一門完整的編程語言,包括自己的語法和各種底層的支持。SUN:斯坦福網(wǎng)絡(luò)1991年SUN公司為了競(jìng)爭(zhēng)一個(gè)叫做GREEN的項(xiàng)目,就是利用各種硬件設(shè)備,控制家電的項(xiàng)目,他的技術(shù)人員本來打算用C+來開發(fā)的,但是C+本身比較復(fù)雜,所以他們又自己開發(fā)一個(gè)新的平臺(tái)Oak(橡樹),但是,很遺憾,這個(gè)語言沒有競(jìng)標(biāo)
2、成功,那么這門語言就意味著死亡。后來,Sun公司的開發(fā)人員又開始跟網(wǎng)景學(xué)習(xí)了瀏覽器技術(shù),開發(fā)了一款瀏覽器叫做HOTJAVA,在1995年的時(shí)候?qū)ak重新更名為Java。到了1998年的時(shí)候,SUN正式將JAVA更名為JAVA2,主要是JAVA 2中增加了一系列的輕量級(jí)的開發(fā)包,這些開發(fā)包主要都是用在圖形界面的開發(fā)上,這些個(gè)圖形界面統(tǒng)一稱為JFC,這個(gè)時(shí)代很快就過去了。現(xiàn)在的開發(fā)已經(jīng)基本上不用JFC了,主要是拜微軟所賜。微軟的.net戰(zhàn)略,它開發(fā)出了J#,實(shí)際上就是將JAVA語言進(jìn)行了改寫,他想把JAVA 做成VB的風(fēng)格,但是這樣一來呢,就把JAVA中各種底層API改寫掉了。這樣微軟構(gòu)成侵權(quán),
3、SUN就把微軟告上方法庭,微軟公司進(jìn)行賠付,所以在Windows XP 之后就不再支持JVM加了,這樣SUN又告了微軟,當(dāng)然又得賠錢。后來微軟為了繼續(xù)發(fā)展他的.net戰(zhàn)略,根據(jù)J#重新進(jìn)行了改革,新開發(fā)出了一套C#語言,所以現(xiàn)在看到的.net主推平臺(tái)就是ASP.NET+C#了。SUN其實(shí)對(duì)JAVA的期望還是在于嵌入式系統(tǒng)的開發(fā)上,但現(xiàn)在的嵌入式系統(tǒng)基本都是在做游戲開發(fā)。JAVA的主要分支方向:l J2SE :是Java的標(biāo)準(zhǔn)版本,提供基本的底層支持,圖形界面等等。n 在2005年Java十周年慶祝大會(huì)上,正式更名為JAVA SE。l J2EE:是Java的一個(gè)主要方向,主要用于構(gòu)建企業(yè)的應(yīng)用系
4、統(tǒng)。n 在2005年Java十周年慶祝大會(huì)上,正式更名為JAVA EE。l J2ME:是Java的微型版本,主要就是用于嵌入式系統(tǒng)的開發(fā),現(xiàn)在主要就是做游戲的n 在2005年Java十周年慶祝大會(huì)上,正式更名為JAVA ME。JAVA的最大特點(diǎn)是面向?qū)ο蟆C嫦驅(qū)ο蟮母拍钭钤缡窃?0年代的時(shí)候由Smalltalk語言提出來的,Smalltalk是IBM開發(fā)出來的語言。JAVA語言是屬于編譯型和解釋型的語言,這意味著,所有的JAVA源程序代碼,需要先編譯,編譯之后再在電腦上進(jìn)行解釋,所以JAVA的語言執(zhí)行分為兩步。實(shí)際上 JAVA的基礎(chǔ)語法是和C語言的格式是完全一樣的。在JAVA中不存在指針的概念
5、,但是存在引用的概念,實(shí)際上傳遞的也是內(nèi)存位置。JAVA的安全性也是最高的,因?yàn)樗械牟僮鞫际且宰止?jié)碼(class)文件的形式保存的。JAVA是由C+開發(fā)出來的,它的最大特點(diǎn)是跨平臺(tái)。JAVA的所有程序都是在一臺(tái)虛擬的電腦上執(zhí)行的,就是JVM。Source.Java經(jīng)過編譯之后形成Sourse.class執(zhí)行。 JAVA的運(yùn)行中,會(huì)根據(jù)不同的操作系統(tǒng)提供一個(gè)JVM的版本支持,所有的程序執(zhí)行都知識(shí)找到JVM,由JVM去直接適應(yīng)操作系統(tǒng),這樣一來,所有的程序就可以在任意的操作系統(tǒng)上執(zhí)行。所有的代碼如果可以由A直接到B,這樣的代碼肯定是不好用的,中間加入過渡端ACB3.2 JAVA基礎(chǔ)部分重要知識(shí)3
6、.2.1兩個(gè)環(huán)境屬性JDK安裝完成之后,實(shí)際上所有的命令都在C:Program FilesJavajdk1.7.0_15bin目錄下,但是所有的JAVA程序的編譯和執(zhí)行都必須在命令行窗口中完成,為了讓W(xué)indows知道bin目錄下有執(zhí)行的命令,就需要配置path屬性。范例:編寫一個(gè)簡(jiǎn)單的Java程序。程序編寫完成之后,要用javac和java命令進(jìn)行編譯和執(zhí)行:l 編譯:javac類名稱.javal 執(zhí)行:java 類public class HelloWorld /聲明一個(gè)類,類名稱的命名規(guī)范:所有單詞的首字母必須大寫public static void main(String args)
7、/主方法System.out.print("HelloWorld!"); /系統(tǒng)輸出,在屏幕上打印剛才我們正常執(zhí)行程序,在執(zhí)行HelloWorld類的時(shí)候在testjava目錄下,生成了HelloWorld的class文件。3.2.2 public class 和class的區(qū)別在編寫類的時(shí)候可以使用兩種方法來定義類:l public class 類名稱l class 類名稱如果一個(gè)類聲明的時(shí)候使用了public class進(jìn)行聲明,則類名稱必須與文件名稱完全一致。public class HelloDemo /聲明一個(gè)類,類名稱的命名規(guī)范:所有單詞的首字母必須大寫publ
8、ic static void main(String args) /主方法System.out.print("HelloWorld!"); /系統(tǒng)輸出,在屏幕上打印使用class進(jìn)行聲明的時(shí)候,可以編譯執(zhí)行。此類使用了public class進(jìn)行聲明,類名稱是HelloDemo,但是文件名稱是HelloWorld.java, 所以此時(shí)編譯將產(chǎn)生以下問題:以上的錯(cuò)誤信息表示:因?yàn)槭褂玫氖莗ublic class聲明,所以類名稱應(yīng)該與文件名保持一致,也就是說,我們應(yīng)該用HelloDemo.java來為文件命名。如果類的聲明采用了class,則類名稱可以與文件名稱不一致,但是執(zhí)行
9、的時(shí)候肯定執(zhí)行的是生成后的類名稱。在一個(gè)*.java的文件中,只能有一個(gè)public class的聲明,但是允許有多個(gè)class的聲明。3.2.3 一個(gè)小的注意事項(xiàng)System.out.print()屬于完成屏幕打印的功能,如果后面加上一個(gè)“l(fā)n”則表示輸出之后換行。public class HelloWorld /聲明一個(gè)類,類名稱的命名規(guī)范:所有單詞的首字母必須大寫public static void main(String args) /主方法System.out.println("HelloWorld!");System.out.println("Hell
10、oWorld!");/系統(tǒng)輸出,在屏幕上打印Java中類名稱、變量名等都有標(biāo)識(shí)符的規(guī)范:由字母、數(shù)字、下劃線、$(以后在文件名稱上看到有$符號(hào)的,則在程序中一律使用“.”來表示)組成,其中不能以數(shù)字開頭,不能是java中的保留字。關(guān)于保留字,java中一共存在49個(gè)保留字,關(guān)于保留字有一些說明:l JAVA產(chǎn)生的時(shí)候就預(yù)留了兩個(gè)保留字,goto,constl JDK 1.4時(shí)增加了assert保留字l JDK 1.5時(shí)增加了enum保留字l 在java中以下的內(nèi)容不屬于保留字,但是是有意義的名稱:ture,false,null所有的保留字大家沒必要都記住。3.2.4數(shù)據(jù)類型的劃分Ja
11、va中的數(shù)據(jù)類型主要?jiǎng)澐譃閮深悾簂 基本數(shù)據(jù)類型n 數(shù)值型u 整數(shù):byte, short, int, longu 小數(shù):float, doublen 字符型:charn 布爾型: boolean,取值只能是true 或falsel 引用數(shù)據(jù)類型:實(shí)際上就類似于C語言的指針操作,傳遞的是內(nèi)存的空間位置。n 數(shù)組n 類n 接口3.2.5 數(shù)字的操作中會(huì)存在數(shù)據(jù)的溢出任何一種數(shù)據(jù)類型都有其最大的取值,如果已經(jīng)是最大的值,則加1后變成最小值,最小值減1之后變成最大值。public class SimpleDemo/ 聲明一個(gè)類,類名稱的命名規(guī)范:所有單詞的首字母大寫public static voi
12、d main(String args)/ 主方法int max = Integer.MAX_VALUE;/ 求出整型的最大值int min = Integer.MIN_VALUE ;/ 求出整型的最小值System.out.println("int的最大值:" + max) ;System.out.println("int的最大值 + 1:" + (max+1) ;System.out.println("int的最小值:" + min) ;System.out.println("int的最小值 - 1:" + (m
13、in-1) ;3.2.6 數(shù)據(jù)的默認(rèn)類型在java中,一個(gè)整型數(shù)字的默認(rèn)類型是int型一個(gè)小數(shù)的默認(rèn)類型是double型。Double的取值要比float要打,所以會(huì)出現(xiàn)丟失精度的問題,此時(shí),可以用以下方式來解決:public class SimpleDemo2 /聲明一個(gè)類,類名稱的命名規(guī)范:所有單詞的首字母必須大寫public static void main(String args) /主方法double x=30.3;/聲明小數(shù)float y=30.3f;/聲明小數(shù)3.2.7數(shù)據(jù)類型的轉(zhuǎn)換在Java中存在以下的數(shù)據(jù)類型的轉(zhuǎn)換操作:l Charint互相轉(zhuǎn)換,轉(zhuǎn)換成ASCII碼;publ
14、ic class SimpleDemo03/ 聲明一個(gè)類,類名稱的命名規(guī)范:所有單詞的首字母大寫public static void main(String args)/ 主方法char c1 = 'a' ;/ 使用”'“括起來表示字符int x1 = c1 ;/ 將char變?yōu)閕nt型x1+ ;/ 自增char c2 = (char)x1 ;/ 將int -> char,進(jìn)行強(qiáng)制轉(zhuǎn)換System.out.println(c2) ;l byteshortintlongl intfloatdouble ,double的數(shù)據(jù)長(zhǎng)度是最大的,可以裝下全宇宙所有的數(shù)據(jù)。l
15、但是轉(zhuǎn)換的時(shí)候有一點(diǎn)需要特別注意:如果我們碰到的是字符串,則所有類型都向字符串轉(zhuǎn)換。public class SimpleDemo04/ 聲明一個(gè)類,類名稱的命名規(guī)范:所有單詞的首字母大寫public static void main(String args)/ 主方法String str = "hello " ;/ 表示字符串int i = 10 ;System.out.println(str + (i + 20) ;l此時(shí)并沒有執(zhí)行加法操作,而是將全部的數(shù)字變成字符串,使用“+”完成字符串的連接操作。System.out.println(1l + 11) ;3.3 循環(huán)
16、控制任何語言的循環(huán)控制的基本代碼都是一致的。分支結(jié)構(gòu):if、ifelse if.else循環(huán)結(jié)構(gòu):while、dowhile、for循環(huán)控制:break、continue3.4 數(shù)組數(shù)組是屬于引用型的數(shù)據(jù)類型,使用的時(shí)候需要開辟內(nèi)存空間的。1. 聲明時(shí)直接開辟內(nèi)存空間數(shù)據(jù)類型數(shù)組名稱=new 數(shù)據(jù)類型長(zhǎng)度;如:int i=new int10;數(shù)據(jù)類型 數(shù)組名稱=new 數(shù)據(jù)類型長(zhǎng)度;2. 分步聲明聲明數(shù)組:數(shù)據(jù)類型數(shù)組名稱=null;如:int i=null; i=new int10;實(shí)例化數(shù)組:數(shù)組名稱=new 數(shù)據(jù)類型長(zhǎng)度;關(guān)鍵字new只要一出現(xiàn),則肯定表示數(shù)據(jù)類型是引用的數(shù)據(jù)類型,要進(jìn)行
17、堆-棧空間的開辟。范例:聲明一個(gè)數(shù)組public class ArrayDemo01public static void main(String args)int i=new int10; /開辟了10個(gè)空間大小的數(shù)組System.out.print("數(shù)組開辟之后的內(nèi)容:");for(int x=0;x<i.length;x+)System.out.print(ix+'、');public class ArrayDemo01public static void main(String args)int i= new int10 ;/ 開辟了10個(gè)空間
18、大小的數(shù)組System.out.print("數(shù)組開辟之后的內(nèi)容:") ;for(int x=0;x<i.length;x+)System.out.print(ix + "、") ;i0 = 30 ;/ 為第一個(gè)元素賦值i9 = 60 ;/ 為最后一個(gè)元素賦值System.out.print("n數(shù)組賦值之后的內(nèi)容:") ;for(int x=0;x<i.length;x+)System.out.print(ix + "、") ;開辟的內(nèi)容都用默認(rèn)值表示,如果想要為數(shù)組的元素賦值,則需要通過下面的方式來
19、進(jìn)行訪問:開辟棧內(nèi)存空間Intscore=null;開辟棧內(nèi)存空間的意義在于,就相當(dāng)于表示一個(gè)人的名字開辟堆內(nèi)存空間score=new int3;數(shù)組只有開辟了堆內(nèi)存空間之后才可以使用。之前的代碼數(shù)組的操作屬于動(dòng)態(tài)初始化,因?yàn)槲覀冊(cè)陂_辟數(shù)組的時(shí)候并不知道數(shù)組中的具體內(nèi)容是多少,而只是采用了默認(rèn)值表示,所以,我們還可以采用另一種方式叫做靜態(tài)初始化的操作:數(shù)據(jù)類型數(shù)組名稱=若干取值,;范例:使用靜態(tài)初始化完成public class ArrayDemo02public static void main(String args)int i = 1,2,3,4,6,7 ;/ 此時(shí)屬于靜態(tài)初始化Syst
20、em.out.print("數(shù)組開辟之后的內(nèi)容:") ;for(int x=0;x<i.length;x+)System.out.print(ix + "、") ;之前的數(shù)組都屬于一維數(shù)組。動(dòng)態(tài)初始化:數(shù)據(jù)類型數(shù)組名=new 數(shù)據(jù)類型行的個(gè)數(shù)列的個(gè)數(shù)靜態(tài)初始化數(shù)據(jù)類型數(shù)組名=11,22,33,21,22,23;范例:二維數(shù)組public class ArrayDemo03public static void main(String args)int i = 1,2,2,3,4,3,4,5,6,7 ;/ 此時(shí)屬于靜態(tài)初始化System.out.pri
21、nt("數(shù)組開辟之后的內(nèi)容:") ;for(int x=0;x<i.length;x+)for(int y=0;y<ix.length;y+)System.out.print(ixy + "、") ;System.out.println("") ;3.5 方法方法就是一段可以重復(fù)調(diào)用的代碼段,但是,現(xiàn)在的方法是使用主方法直接調(diào)用的,所以,定義格式為:public static 返回值類型|void 方法名稱(參數(shù)列表)return 返回內(nèi)容;范例:public class MethodDemo01public static
22、 void main(String args)print(); /調(diào)用方法print(); /調(diào)用方法print(); /調(diào)用方法print(); /調(diào)用方法public static void print()System.out.println("HelloWorld!");以上的代碼在類中定義了一個(gè)print()方法,之后我們?cè)谥鞣椒ㄖ羞B續(xù)重復(fù)調(diào)用了四次,所以輸出了四條語句。Void表示這個(gè)方法是沒有任何的返回值類型,不需要使用return語句。(判斷題)范例:完成一個(gè)加法操作。public class MethodDemo02public static void main(String args)System.out.println(add(10,20);System.out.println(add(20,20);public static int add(int x, int y)int temp=x+y;return temp;在方法的使用中,還存在一種概念,叫方法的重載。重載:
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 商業(yè)視頻模特合同協(xié)議
- 品拍聯(lián)營(yíng)合同協(xié)議
- 快遞加盟合同補(bǔ)充協(xié)議
- 含貨商鋪轉(zhuǎn)讓合同協(xié)議
- 檳榔招商加盟合同協(xié)議
- 交通搬遷協(xié)議范本
- 咖啡供應(yīng)合作合同協(xié)議
- 民事授權(quán)委托合同協(xié)議
- 咖啡店合伙合同協(xié)議
- 商務(wù)改裝出售合同協(xié)議
- 銷售預(yù)包裝食品經(jīng)營(yíng)者備案信息采集表
- 付款協(xié)議合同范本格式樣本案例
- 幼兒園大班主題音樂《想拍就拍》課件
- 西方哲學(xué)智慧2024-西方哲學(xué)智慧超星爾雅答案
- 《物業(yè)保安培訓(xùn)》課件
- 醫(yī)療機(jī)構(gòu)安全生產(chǎn)獎(jiǎng)勵(lì)與舉報(bào)制度
- 檔案管理方案
- 2024至2030年中國(guó)手打釘槍數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2024年全國(guó)數(shù)控車工高級(jí)技師技能考試題庫(kù)(含答案)
- 《PBR次世代游戲建模技術(shù)》(微課版)課件 邱雅慧 3 高模制作、4 UV展開
- 中醫(yī)經(jīng)絡(luò)完整課件
評(píng)論
0/150
提交評(píng)論