国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java基礎部分

2019-11-06 07:39:31
字體:
來源:轉載
供稿:網友

一:java基礎部分

1:基本數據類型

  java語言有8種基本數據類型:六種數字類型(四個整數型,兩個浮點型),一種字符類型,還有一種布爾型。

byte(占1個字節),short(占2個字節),int(占4個字節),long(占8個字節),float(占4個字節),double(占8個字節),char(占2個字節),boolean(占1個字節)。

byte:

byte數據類型是8位、有符號的,以二進制補碼表示的整數;

最小值是-128(-2^7);

最大值是127(2^7-1);

默認值是0;

byte類型用在大型數組中節約空間,主要代替整數,因為byte變量占用的空間只有int類型的四分之一;

例子:byte a = 100,byte b = -50。

short:

short數據類型是16位、有符號的以二進制補碼表示的整數

最小值是-32768(-2^15);

最大值是32767(2^15 – 1);

Short數據類型也可以像byte那樣節省空間。一個short變量是int型變量所占空間的二分之一;

默認值是0;

例子:short s = 1000,short r = -20000。

int:

int數據類型是32位、有符號的以二進制補碼表示的整數;

最小值是-2,147,483,648(-2^31);

最大值是2,147,485,647(2^31 – 1);

一般地整型變量默認為int類型;

默認值是0;

例子:int a = 100000, int b = -200000。

long:

long數據類型是64位、有符號的以二進制補碼表示的整數;

最小值是-9,223,372,036,854,775,808(-2^63);

最大值是9,223,372,036,854,775,807(2^63 -1);

這種類型主要使用在需要比較大整數的系統上;

默認值是0L;

例子: long a = 100000L,int b = -200000L。

float:

float數據類型是單精度、32位、符合IEEE 754標準的浮點數;

float在儲存大型浮點數組的時候可節省內存空間;

默認值是0.0f;

浮點數不能用來表示精確的值,如貨幣;

例子:float f1 = 234.5f。

double:

double數據類型是雙精度、64位、符合IEEE 754標準的浮點數;

浮點數的默認類型為double類型;

double類型同樣不能表示精確的值,如貨幣;

默認值是0.0f;

例子:double d1 = 123.4。

boolean:

boolean數據類型表示一位的信息;

只有兩個取值:true和false;

這種類型只作為一種標志來記錄true/false情況;

默認值是false;

例子:boolean one = true。

char:

char類型是一個單一的16位Unicode字符;

最小值是’/u0000’(即為0);

最大值是’/uffff’(即為65,535);

char數據類型可以儲存任何字符;

例子:char letter = ‘A’。

 

2:Java命名規則:Java是大小寫敏感的

  包名:由字母組成,所有字母必須小寫,比如:com.whir.xxx

  類名,接口名:所有單詞首字母大寫,比如:TestXxx

  變量名,函數名:第一個單詞小寫,其他單詞首字母大寫,比如:xxxYyyZzz

常量名:所有字母大寫,多單詞用下劃線分割,比如,XXX_YYY_ZZZ

 

3:運算符優先級:

下表中具有最高優先級的運算符在的表的最上面,最低優先級的在表的底部。

類別

操作符

關聯性

后綴

() [] . (點操作符)

左到右

一元

+ + – !?

從右到左

乘性

* /%

左到右

加性

+ –

左到右

移位

>> >>>  <<

左到右

關系

>> = << =

左到右

相等

==  !=

左到右

按位與

左到右

按位異或

^

左到右

按位或

|

左到右

邏輯與

&&

左到右

邏輯或

| |

左到右

條件

?:

從右到左

賦值

= + = – = * = / =%= >> = << =&= ^ = | =

從右到左

逗號

左到右

 

4:JKD1.7 switch表達式的值支持字符串,比如swtich("星期一")  

    switch語句判斷一個變量與一系列值中某個值是否相等,每個值稱為一個分支。

語法

switch語法格式如下:

switch(exPRession){    case value :       //語句       break; //可選    case value :       //語句       break; //可選    //你可以有任意數量的case語句    default : //可選       //語句}

switch語句有如下規則:

switch語句中的變量類型只能為byte、short、int或者char。

switch語句可以擁有多個case語句。每個case后面跟一個要比較的值和冒號。

case語句中的值的數據類型必須與變量的數據類型相同,而且只能是常量或者字面常量。

當變量的值與case語句的值相等時,那么case語句之后的語句開始執行,直到break語句出現才會跳出switch語句。3

當遇到break語句時,switch語句終止。程序跳轉到switch語句后面的語句執行。case語句不必須要包含break語句。如果沒有break語句出現,程序會繼續執行下一條case語句,直到出現break語句。

switch語句可以包含一個default分支,該分支必須是switch語句的最后一個分支。default在沒有case語句的值和變量值相等的時候執行。default分支不需要break語句。

 

5:增強for循環(遍歷集合時很好用)

 

  格式:for(數據類型 變量名:被遍歷的集合(Collection)或數組)   {} 

二:類、對象及特性

1:類和對象

    對象:對象是類的一個實例,有狀態和行為。例如,一條狗是一個對象,它的狀態有:顏色、名字、品種;行為有:搖尾巴、叫、吃等。

        類:類是一個模板,它描述一類對象的行為和狀態。

 

2:權限修飾符

 

Java語言的修飾符主要分為以下兩類:

訪問修飾符

非訪問修飾符

 

訪問控制修飾符:

Java中,可以使用訪問控制符來保護對類、變量、方法和構造方法的訪問。Java支持4種不同的訪問權限。

默認的,也稱為default,在同一包內可見,不使用任何修飾符。

私有的,以private修飾符指定,在同一類內可見。

共有的,以public修飾符指定,對所有類可見。

受保護的,以protected修飾符指定,對同一包內的類和所有子類可見。

 

訪問控制和繼承:

請注意以下方法繼承的規則:

父類中聲明為public的方法在子類中也必須為public。

父類中聲明為protected的方法在子類中要么聲明為protected,要么聲明為public。不能聲明為private。

父類中默認修飾符聲明的方法,能夠在子類中聲明為private。

父類中聲明為private的方法,不能夠被繼承。

非訪問修飾符:

為了實現一些其他的功能,Java也提供了許多非訪問修飾符。

static修飾符,用來創建類方法和類變量。

Final修飾符,用來修飾類、方法和變量,final修飾的類不能夠被繼承,修飾的方法不能被繼承類重新定義,修飾的變量為常量,是不可修改的。

Abstract修飾符,用來創建抽象類和抽象方法。

Synchronized和volatile修飾符,主要用于線程的編程。

 

3:this關鍵字:代表本類對象,哪個對象調用this所在的函數,this就代表哪個對象

 

4:構造函數

  一個類中默認會有一個空參數的構造函數,其權限和所屬類的權限一致

  作用是給對象進行初始化,對象一建立就會調用與之對應的構造函數。  

5:Java語言的特性

  封裝:隱藏對象屬性和實現細節,僅對外提供公共訪問方式,提高復用性和安全性

  繼承:必須類與類間有關系才能繼承,提高代碼復用性,java只支持單繼承,但是可以有多層繼承,但是可以用實現來彌補

  子類為什么一定要訪問父類的構造函數呢:因為父類中的數據,子類是可以直接獲取的,所以子類對象在建立的時候,需要先查看父類是如何對這些數據進行初始化的,如果要指定父類中指定的構造函數,可以手動定義super語句來實現。

  多態:某一類事物的多種存在形態

  多態的實現:父類的引用指向了自己的子類對象(向上轉型)

  多態的前提:類與類之間有關系,繼承或實現,通常還存在覆蓋

  多態的好處:提高程序擴展性,弊端:父類引用只能訪問父類中成員。

 

6:抽象類

  抽象方法一定在抽象類中

  抽象方法和抽象類必須被關鍵字abstract修飾

  抽象類不能用new創建對象,不能實例化,因為沒意義,方法沒內容

  抽象類中的抽象方法要被使用,必須由子類重寫所有的抽象方法后,建立子類對象調用

 

7:接口

  接口是對外暴露的規則,是程序的功能擴展,接口可以用來多實現,類與接口是實現關系,類可以繼承一個類的同時實現多個接口,接口與接口間可有繼承關系。

  接口是特殊的抽象類,接口成員有固定修飾符,常量:public static final 方法:public abstract

接口不能創建對象,被子類實現后,子類需重寫接口中所有抽象方法,這樣子類才能實例化,否則子類還是一個抽象類。

 

8:重寫與重載

  重寫:是對父類方法的重寫,子父類方法要一模一樣

  重載:同名函數的參數列表不同

9:內部類

  描述事物時,事物內部還有事物,該事物可用內部類描述,比如人體類里有器官類,

Java的內部類構造時持有對外部類的應用,C++不會,這一點和C++不一樣。這點容易引起內存泄露,要注意.

  在Java中,非靜態的內部類和匿名內部類都會隱式地持有其外部類的引用。靜態的內部類不會持有外部類的引用。可以參考這里:

"失效"的private修飾符:

  內部類訪問規則:

  內部類可直接訪問外部類(這里的意思當然就是包含內部類的類)中成員,包括私有

  外部類要訪問內部類,必須建立內部類對象

  內部類可被static修飾,此時其只能訪問靜態成員了。但是內部類定義在局部時,也就是在外部類的方法中定義一個類,此時的內部類是不能被成員修飾符修飾的,此時仍能訪問外部類中的成員,并只能訪問其所在的局部中的被final關鍵字修飾的局部變量。

匿名內部類,這個在開發中也是可以用的,這個一般是繼承或實現一個類,調用或重寫其方法時方便的使用,缺點是可讀性較差。。。

 

10:異常處理機制

  java兩個重要特性,垃圾回收機制和異常處理機制,使得java沒有內存泄露,實現平臺無關。

 這個地方注意catch捕捉到異常后要有個處理,不要不寫也不要直接toString,printStackTrace(),要處理哦。還有一些必須執行的語句要放到finally代碼塊中,比如數據庫的關閉等。

  throws和throw區別:

     throws使用在函數上,throw使用在函數內

     throws后面跟異常類名,可以跟多個,逗號隔開,throw后跟異常對象。

  自定義異常類,只需繼承Exception類,自定義輸出內容的話,在構造函數里調用Exception類的構造函數,寫super(str)即可,這個str就是你構造函數參數,也就是你自定義的輸出內容,哈哈。。。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 多伦县| 太原市| 湘潭市| 石狮市| 延吉市| 屏南县| 南京市| 资源县| 九寨沟县| 望都县| 灵寿县| 甘谷县| 安图县| 三江| 临猗县| 焉耆| 邻水| 那曲县| 磐石市| 大理市| 乌拉特后旗| 宜川县| 滦平县| 廊坊市| 轮台县| 灵石县| 新绛县| 营山县| 安龙县| 巴南区| 贵州省| 牙克石市| 西乌| 江安县| 营口市| 南宁市| 云阳县| 凤台县| 馆陶县| 桐柏县| 腾冲县|