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