JAVA基礎(chǔ)知識總結(jié) 第一章 Java入門: 1. java誕生: 1995年5月23日Sun公司發(fā)布了jdk1.0版本;作者:James Gosling. JAVAME微型版 手機軟件開發(fā) JAVASE標(biāo)準(zhǔn)版 桌面應(yīng)用程序 JAVAEE企業(yè)版 企業(yè)級應(yīng)用開發(fā) 2. java語言特點: 1.簡單 沒有C、C++中的頭文件,指針,運算符重載 2.面向?qū)ο?/p> 可以開發(fā)出較大型的應(yīng)用程序 3.分布式 通過網(wǎng)絡(luò)訪問應(yīng)用程序,突破空間限制 4.健壯性(編譯時錯誤檢測) 消除有出錯傾向的狀態(tài):指針 5.安全性(蠕蟲病毒) 禁止運行時堆棧溢出、內(nèi)存空間未授權(quán)讀寫 6.可移植性 JVM 3. JAVA的特性、核心機制: 特性:封裝 :對外部不可見,保護類中的操作不被外部直接訪問 屬性私有化,提供公共的get、set方法 封裝的好處: 1.數(shù)據(jù)更安全,可以在方法內(nèi)增加驗證 2.可以讓調(diào)用者不去關(guān)心實現(xiàn)的細節(jié),重用 繼承 :擴張類的功能 多態(tài) : 是允許將父對象引用一個子對象的技術(shù) Employee employee = manager; 允許父類對象來引用子類對象,但是實際運行過程中調(diào)用的是子 類的方法或者屬性 編譯時調(diào)用父類方法,運行時調(diào)用的是實際引用類型的方法,這 種現(xiàn)象叫做動態(tài)綁定 多態(tài)現(xiàn)象:運行時多態(tài)、編譯時多態(tài) 1.編譯時多態(tài):方法的重載(不建議舉例) 2.運行時多態(tài):方法的覆蓋(建議舉例) 核心機制: 虛擬機(JVM java virtual machine) 垃圾回收機制 garbage collector 4.JDK:(Java Development Kit)1995年 SUN公司JDK1.0 98年JDK1.2 接下來是JDK1.3 1.4 目前JDK1.5已經(jīng)更名為JAVA 5.0 正在使用的是java 6.0版本. JDK安裝目錄介紹: Bin 編譯器和工具 Demo 演示 Docs HTML格式的類庫文檔 Include 用于編譯本地方法的文件 Jre java運行環(huán)境文件 Lib 類庫文件 Src 類庫源文件 5.Java運行環(huán)境變量配置: JAVA_HOME:JDK安裝目錄,方便在后面兩個環(huán)境變量的配置中直接被 調(diào)用即可 path:%JAVA_HOME%\bin 列出可執(zhí)行文件的搜素路徑 classpath:%JAVA_HOME%\lib\tools.jar %JAVA_HOME%\lib\dt.jar .(當(dāng)前路徑) 是java加載類的路徑,只有在classpath設(shè)置的路徑中的類才能被加載 6.Java中注釋: 1.單行注釋: // 2.多行注釋: /* */ 3.文檔注釋 /** */ 通過javadoc命令將文檔注釋提取出來生成java幫助文檔:Java的三種注釋: 7.Class 與public class區(qū)別: 如果一個類聲明的時候使用了public進行聲明,則類名稱必須與文件名稱完全一致,如果類的聲明使用了class的話,則類名稱可以與文件名稱不一致,但執(zhí)行的時候肯定執(zhí)行的是生成后的類名稱。 第二章 標(biāo)示符,運算符 1. 標(biāo)示符:在java語言中用來給一個類、變量或方法命名的符號 標(biāo)示符的命名規(guī)則: 1.以字母, “_” 或 “$”符號開頭 2.可以包含字母、 “_” 、“$”和數(shù)字符號 3.大小寫敏感 4.不能與保留關(guān)鍵字沖突 5.沒有長度限制 Java中命名規(guī)范: 1.類名, 接口名 :每個單詞的首字母應(yīng)該大寫 2.字段、方法以及對象:第一個單詞首字母應(yīng)小寫,其他單詞首字母大寫 3.常量:全部用大寫字母表示 4.Java包(Package):它們?nèi)甲帜感?/p> 5.命名要做到見名知意 2.運算符: 1.算數(shù)運算符: 2.自增,自減運算符: 3.關(guān)系運算符:boolean型 運行結(jié)果 true false 4.邏輯運算符:&& || ! 支持短路運算 &&:左邊表達式為false,右邊表達式不會被執(zhí)行 ||:左邊表達式為true,右邊表達式不會被執(zhí)行 5.賦值運算符:= 不要將其與(= =)等號運算符混淆 6.運算符: & 、|、 ~、 ^、 <<、 >> 、>>> 1.~ :取反。1變0,0變1 2.&:按位與。有0為0 3.^:按位異或。相同為0,不同為1 4.|:按位或。有1為1 7.instanceof運算符:左面操作一個對象,右面操作一個類,當(dāng)左面對象是右面的類創(chuàng)建時,該運算符的結(jié)果是true,否則是false。 第三章 表達式,語句: 1. 表達式:算術(shù)表達式 關(guān)系表達式 邏輯表達式 賦值表達式 2. 語句:方法調(diào)用語句 表達式語句 復(fù)合語句 控制語句 package和import語句 控制語句:1.條件控制語句 if if-else 2.switch開關(guān)語句 switch(){case} switch case: 說明: 1.表達式expression可以是以下四種基本數(shù)據(jù)類型和枚舉 類型(byte,short,int,char) 2.case子句中的值必須是常量,而且所有case子句中的值應(yīng)是不同的。 3.case通常與break語句聯(lián)用,以保證多路分支的正確實現(xiàn),多個case可以公用一組執(zhí)行語句。 循環(huán)語句:1.for循環(huán)語句for 2.while循環(huán)語句 3.do-while循環(huán)語句 4.break和continue語句 break語句,跳出它所在的循環(huán)語句或switch 語句,并從緊跟該循環(huán)語句或switch 語句后的第一條語句處執(zhí)行 continue語句,用來結(jié)束本次循環(huán),跳過循環(huán)體中下面尚未執(zhí)行的語句,接著進行終止條件的判斷,以決定是否繼續(xù)循環(huán) 第四章 數(shù)據(jù)類型,字符串,數(shù)組: 1.數(shù)據(jù)類型: 基本數(shù)據(jù)類型: 數(shù)值型 整數(shù)型: 字節(jié)型:byte(1個字節(jié)) 整型:int(4個字節(jié)) 長整型:long (8個字節(jié)) 短整型:short(2個字節(jié)) 實數(shù)型:浮點型: 單精度浮點型:float(4個字節(jié)) 雙精度浮點型: double(8個字節(jié))} 字符型{char(2個字節(jié))} 布爾型{beloon型(1位):true 或者 false} 空類型:NULL; 引用數(shù)據(jù)類型:{數(shù)組 接口 類}:就是將一個堆內(nèi)存的空間使用權(quán)交給了其他對象; 自動類型轉(zhuǎn)換:低優(yōu)先級數(shù)據(jù)轉(zhuǎn)換為高優(yōu)先級數(shù)據(jù): byte-short-char-int-long-float-double 強制類型轉(zhuǎn)換:高優(yōu)先級數(shù)據(jù)強制轉(zhuǎn)換為低優(yōu)先級數(shù)據(jù) 例:double b=3.2222d; int a= (int)b; 3. 字符串: ==與equals的區(qū)別: 在Object類中equals(Object obj)方法與==的比較結(jié)果一致的 但是equals是一個方法可以被重寫,例如在String類中equals比較的就是字符串的內(nèi)容 String本身是一個類,在String類中定義的構(gòu)造方法:public String (String original) 可以接收一個String類的對象,并重新實例化String對象,String還可以采用直接賦值的方式進行對象的實例化 一個字符串是使用 “”括起來的 那么一個字符串的常量實際上本身就屬于String的一個匿名對象 String str = "hello" ; 與 String str = new String("hello"); 有什么區(qū)別?、 String str="hello " 如果內(nèi)存已經(jīng)為"hello"分配了內(nèi)存空間,那么Str只要指向"hello"內(nèi)存對象地址; String str = new String("hello"); 內(nèi)存中重新分配一塊內(nèi)存區(qū)域給"hello",str指向"hello",也就是內(nèi)存中有兩個hello的對象了,而且指向的地址不一樣。 String與StringBuffer的區(qū)別? 他們都可以存儲和操作字符串; StringBuffer 使用來存儲字符串變量,他的對象是可以更改和擴充的,也可以用來存儲字符串常量; String是用來存儲字符串常量,存儲的字符串是不可以更改的 字符串的內(nèi)容一旦聲明之后則無法修改,實際上字符串變量的改變改變的是內(nèi)存空間的地址的指向,而本身的字符內(nèi)容沒有任何的變化。 1.根據(jù)字符串中的索引找到指定位置的字符:public char charAt(int index) 2.將字符串變?yōu)樽址麛?shù)組:public char[]toCharArray() 3.將字符數(shù)組變?yōu)樽址?/p> 將全部的字符數(shù)組變?yōu)镾tring類型:public String(char[]value) 將部分的字符數(shù)組變?yōu)镾tring類型:public String(char[]value,int offset,intcount) 4.String- 字節(jié)數(shù)組:public bute[] gerBytes() 字節(jié)數(shù)組-String: 全部:public String(byte[]bytes) 部分:public String(byte[]byres,int offset,int length) 5. 判斷是否以指定的字符串開頭:public Boolean startsWith(String prefix) 判斷是否以指定的字符串結(jié)尾:public Boolean endsWith(String suffix) 6.替換操作:public String replaceAll(String regex,String replacement) 7.字符串截?。?/p> 全部截?。簆ublic String substring(int beginIndex) 部分截?。簆ublic String substring(int beginIndex.int endIndex) 8.字符串拆分:public String[]split(string regex) 9.字符串查找: 取得指定字符串的位置:public int indexOf(String str),public int indexOf(String str,int fromIndex)此方法返回int型的數(shù)據(jù),如果查找到了怎返回位置,查找不到,返回-1 直接查找:public Boolean contains(String s) 10.字符串的其他操作: 去掉左右空格:public String trim() 取得字符串的長度:public int length() 轉(zhuǎn)大寫:public String toUpperCase() 轉(zhuǎn)小寫:public String toLowerCase() 4.數(shù)組: 屬于引用數(shù)據(jù)類型,使用時需要開辟內(nèi)存空間; 數(shù)據(jù)類型 數(shù)組名稱[]=new 數(shù)據(jù)類型[長度]; 數(shù)據(jù)類型 數(shù)組名稱[]=null; 數(shù)組名稱=new數(shù)據(jù)類型[長度]; 關(guān)鍵字new只要一出現(xiàn),怎肯定表示數(shù)據(jù)類型是是引用數(shù)據(jù)類型,要進行堆-??臻g的開辟 二維數(shù)組:動態(tài)初始化:數(shù)據(jù)類型 數(shù)組名稱[][]=new 數(shù)據(jù)類型[長度][長度] 靜態(tài)初始化: 數(shù)據(jù)類型 數(shù)組名稱[][]={{2,3,2}{2,32,2}}; char[] 缺省值為0所對應(yīng)的字符 boolean[]缺省值為false User[] 自定義類型數(shù)組缺省值為null 求數(shù)組的長度: ar.length 屬性 二維數(shù)組循環(huán)打?。?/p> for(int m=0;m<h.length;m++){ for(int n=0;n<h[m].length;n++){ System.out.print(h[m][n]); } System.out.println(); } 數(shù)組拷貝: System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length); src - 源數(shù)組。 srcPos - 源數(shù)組中的起始位置。 dest - 目標(biāo)數(shù)組。 destPos - 目標(biāo)數(shù)據(jù)中的起始位置。 length - 要復(fù)制的數(shù)組元素的數(shù)量 第五章 類,方法,關(guān)鍵字 保留字: 1. 類: 類的基本概念:是用來封裝一類對象的狀態(tài)和方法,類是用來定義對象的模板。是由屬性和方法組成;類的屬性全部保存在對內(nèi)存中,全部的方法保存在全局代碼中。 抽象類: 包含一個抽象方法的類稱為抽象類,抽象方法是只聲明而未實現(xiàn)的方法,所有的抽象方法必須使用abstract關(guān)鍵字聲明,所有的抽象類也需要使用abstract關(guān)鍵字聲明,對于抽象類,不能直接進行實例化的操作,但是可以聲明,如果要想使用抽象類,則必須依靠子類,抽象類是必須被子類繼承的,而且被繼承的子類需要實現(xiàn)抽象類中的全部抽象方法; 抽象類中允許有構(gòu)造方法,但是構(gòu)造方法是不能直接調(diào)用的,是交給子類去 轉(zhuǎn)載請保留出處,http://www./doc/4e25d94e2b160b4e767fcf7b.html |
|