2007年1月23日
包裝類、字符、字符串、集合、數(shù)組
?
一)? 包裝類:
????? 看一個例子,思考以下它們二者的區(qū)別
????? char a = 'a';
????? Charactor b = new Charactor('a');
????? 相同處:他們所表示的內(nèi)容是一樣的,都是表示字符a;
????? 不同處:在于Charactor是char的包裝類,類似的還有
????????????? int--Integer,long--Long,double--Double,
????????????? boolean--Boolean,float--Float
????? 那么包裝類起什么作用呢?
????? 它主要用于轉(zhuǎn)換類型,例如 String b = "1";
???????? int a = Integer.parseint(b);
二)? 字符串及相關(guān)方法
????? 繼續(xù)看一個例子:
????? String a = "abc";
????? 它的方法主要有:charAt(),indexOf(),substring(),toupperCase();valueOf();split();trim();
????? 定義一個string類型的變量a, String a ="astgeter";
????? 現(xiàn)在我們要索引e,用a.indexOf("e"),表示e第一次出現(xiàn)的位置在第幾位;
三)? ==與equals的區(qū)別
????? ==表示比較的是引用,而equals比較的是內(nèi)容;
????? 看一個例子:
????????? String a = "abc";
????????? String b = "abc";
????????? String d = new String("abc");
????????? 如果說a==b則是正確的,如果說a==d則是錯誤的,只能說a.equals(b)是正確的;
四)? 集合、數(shù)組
????? 先看看集合
????? 集合分為map,list,set(三者都是接口);
????? map又分為:HashMap,HashTable
????? list分為:ArrayList,LinkedList,Vector
????? set分為:HashSet
????? map,list,set的區(qū)別:
????? map里放置的是一對一對的數(shù)據(jù);
????? 而list,set里放置的是一個一個的數(shù)據(jù);
???
?? 1)集合和數(shù)組的區(qū)別:1,數(shù)組可放基本數(shù)組類型和對象數(shù)???????????????????????????? 據(jù)類型數(shù)組;????
?????????????????????????? 集合放置的全是對象數(shù)據(jù)類型;
??????????????????????? 2,數(shù)組長度一旦定義,就不可改變
?????????????????????????? 而集合長度可以改變;
??
2007年1月22日
今天主要總結(jié)對象的引用和分配內(nèi)存空間!
看一個例子,String hello = "hi";這句表示什么?
???? 表示定義一個類型為String型的對象引用hello, 讓hello指向類型為String型的
對象hi, 即hello一把可以開啟對象hi的鑰匙,這里涉及到分配內(nèi)存空間的問題,
值得一提的就是任何變量和對象都占用內(nèi)存空間,形參也一樣。
也就是當(dāng)定義一個變量或者對象的時候,就給定義的變量或?qū)ο髣?br />分了一塊內(nèi)存空間;
????
????
今天總結(jié)的有以下內(nèi)容:
???? 一、訪問修飾符
???? 二、構(gòu)造方法
???? 三、參數(shù)傳遞
一)4種訪問修飾符:public ,private ,protected,不寫
????? 1,public 訪問權(quán)限最高,private訪問權(quán)限最低;
???????????? protected通常在有繼承關(guān)系時使用;
???????????? 盡量使訪問權(quán)限最小化(規(guī)則)
???????????? 注意: 在方法里,任何修飾符都不能加在變量前,即使是靜態(tài)的也無法使用
??????????? 例如: public void insertBook(){
??????????????? public int a = 100;
?????????????? 或者:static int b = 200;
???????????? }
??????????? 結(jié)果是不能編譯通過
????? 2,構(gòu)造方法:
??????????? 核心用處:用于產(chǎn)生對象,通過new 產(chǎn)生新的對象
????????????????????????????? 例如:DataClass a = new DataClass ();
??????????? 特點:構(gòu)造方法沒有返回類型
?????????????????????? 與類名同名??? 例如:public DataClass(){}
???????????
????? 3,方法重載
??????????? 含義:方法名相同,指在同一個類內(nèi)部,主要針對方法來說,
??????????????????????? 遵循原則:個數(shù)不同,類型不同,順序不同
??????????? 例如:public class DataClass{
????????????????????????????
????????????????????????????? public void access(int a ,String b){}
????????????????????????????? public void access(String a, int b){}
?????????????????????? }
???????????
?????????? 記住:在子類所有構(gòu)造方法的第一行,都會去自動調(diào)用父類
?????????????????????? 不帶參數(shù)的構(gòu)造方法;
三)參數(shù)傳遞
??????? 用一個實例更能說明參數(shù)傳遞,下面我們來看一道題
今天主要總結(jié)有關(guān)數(shù)值型數(shù)據(jù)的內(nèi)容:
1,基本數(shù)據(jù)類型(8種):
???? 數(shù)字:int,short,byte,long,float,double
???? 字符:char,boolean
???? 注意:byte型數(shù)據(jù)類型的數(shù)值范圍是-128~127
??????????????? 如果:定義一個類型為byte型變量byte abc = 200;
????????????????????????? 則編譯不能通過;因為它超出了值的取值范圍
????????????????????
2,下面我們來看看各個數(shù)據(jù)類型所占字節(jié)是多少
????? int?????????? 4個字節(jié)???
????? short??????? 2個字節(jié)
????? byte???????? 1個字節(jié)
????? long???????? 8個字節(jié)
????? 值得注意的是float和double之間的轉(zhuǎn)換:float a = 1.5;
?????? 正確轉(zhuǎn)換應(yīng)該是float a = 1.5f;(加一個f,表示他轉(zhuǎn)化成float型)
?????? 或者這樣也行:float a = (float)1.5;(得到的是相同的結(jié)果)
???????????????????????????????? double a = 1.5f;
????? 定義char類型的時候,注意要加單引號 如:char a ='1';
??????
3,switch(a)??? a的數(shù)據(jù)類型只允許:int,short,char,byte;
??
今天主要總結(jié)一下類,對象,
及類變量,實例變量
下面我們就來理解類到底是什么,以及類和對象的關(guān)系?
???? 對象:是由類產(chǎn)生的一個個個體,是對一個客觀實體的描述;
???? 類:是對對象的概述和抽象;
???? 打一個比方,或許能更清楚理解類和對象的關(guān)系:汽車有很多類,
小汽車,公共汽車,它們都屬于類,而某一輛特定的小汽車就是類的
的對象
???? 看一個例子:
???? 定義一個變量:private int aaa;
????????????????????????????? private static int bbb;
???? 相信大家都看到了他們的區(qū)別:在于是否加了static,這就是我們要
分析的類變量和實例變量
????? 類變量也叫靜態(tài)變量,也就是在變量前加了static 的變量;
????? 實例變量也叫對象變量,即沒加static 的變量;
????? 那么他們的區(qū)別究竟是什么呢?
????? 類變量和實例變量的區(qū)別在于:類變量是所有對象共有,其中一個
對象將它值改變,其他對象得到的就是改變后的結(jié)果;而實例變量則屬
對象私有,某一個對象將其值改變,不影響其他對象;
????? 還有,類變量和實例變量都屬全局變量
?? 不知道總結(jié)的是否正確,或者少了些什么,歡迎大家留言,共同進(jìn)步,謝謝!