Java總結(1)

JDK,JRE,JVM的區別

圖片

JDK:Java Development Kit(Java開發工具包)

Java開發工具包,亦是Java開發者必須安裝的軟件環境。JDK包含了JRE與開發Java程序所需所需的工具,如編譯器、調試器、反編譯器、文檔生成器等。

JRE:Java Runtime Environment(Java運行環境)

Java程序運行的必要環境,包含類庫和JVM。

JVM:Java Virtual Machine(Java虛擬機)

JVM是Java的虛擬機,引入Java語言虛擬機後,Java語言在不同平臺上運行時不需要重新編譯。Java語言使用Java虛擬機屏蔽了與具體平臺相關的信息,使得Java語言編譯程序只需生成在Java虛擬機上運行的目標代碼(字節碼),就可以在多種平臺上不加修改地運行。

Java的基本組成

Java的基本組成包含數據類型、變量、標識符、運算符、字符串、數組、流程控制、註釋

數據類型

Java的數組類型分爲原始類型和引用類型。

原始類型:

1.整數類型:byte、short、int和long。

2.浮點類型:float和double。

3.字符類型:char。

4.布爾類型:boolean。

引用類型:

包括類,接口和數組。

比起c語言,Java的原始類型多了byte和布爾類型的boolean,byte是最小的整數類型,所佔位數爲8位。布爾類型boolean只包含True和False兩個值。

Java使用Unicode碼錶示字符(C則使用ASCLL碼錶示),所以在Java中字符類型char佔了16位,C中的char則佔8位。

在Java中,若在變量聲明時沒有給變量賦初值,則會給該變量賦默認值。

Java的類型轉換和C基本相同。

註釋

單行註釋 //

多行註釋 //

文檔註釋 /**、*/,文檔註釋會包含在javadoc生成的文檔中。

標識符

Java語言中,標識符是以字母、下劃線(_)和美元符($)開始的一個字符序列,後面可以跟字母、下劃線、美元符和數字。建議最好以字母開頭、儘量不要包含其他符號,如程序中的類名“Circle” “TestJavaStructure”等。

元素 規範 實例
類名、接口名 首字母大寫 Person Student SystemManager
變量名、數組名 Camel規則,小寫開頭 ageValue salary printInformation
函數名(方法名) Camel規則,小寫開頭 setCourse getAge setUserName
包名 全部小寫 com_zknu.czw sam.gover
常量名 全部大寫 MAX_VALUE

C中標識符以字母,數字,下劃線組成,都不能以數字開頭。

變量

變量,即值可以改變的量。變量利用聲明的方式將內存中的某個內存塊保存下來以供程序使用。變量可以用來存放數據,而使用前必須先聲明它的數據類型,也可以在聲明時立即爲其賦值,如程序中變量的聲明和初始化(與C語言相同)。

運算符

運算符分爲賦值運算符、算術運算符、位運算符和關係運算符

賦值運算符:=。

算術運算符:+、-、*、/、%。

常用:+=、-=、*=、/=、%=、++、–。

Java的賦值運算符和算術運算符使用方式和C中基本一致。

位運算符:~、&、|、、>>、<<、>>>、&=、|=、=、>>=、<<=、>>>=。

含義 C語言 Java
按位與 a & b a & b
按位或 a | b a | b
按位異或 a ^ b a ^ b
按位取反 ~a ~a
左移 a << b a << b
帶符號右移 a >> b a >> b
無符號右移 / a>>> b

關係運算符:==、!=、>、<、>=、<=。

三元運算符:?:。

Java的運算符優先級與C中的一致。

流程控制

流程控制語句可分爲選擇、循環和跳轉三大類。

選擇語句包括if-else語句和switch-case語句。

循環語句包括for語句、while語句和do-while語句。

中斷語句包括break語句和continue語句。

Java的流程控制與C基本相同。

在for語句中,JDK1.5以上版本可以使用foreach語句

for each(數據類型 變量名稱 : 數組名稱){
  // 語句序列;
}

數組

數組包含一維數組,二維數組和多維數組。

一維數組

數組名 = new 數據類型 [數組大小];
buffer = new int[5];
數據類型 數組名[] = new 數據類型[數組大小];
數據類型[] 數組名 = new 數據類型[數組大小];
int []buffer = new int[50];//聲明數組的同時創建數組
int []buffer1 =new int[]{10,20,30,40,60};//因格式比較煩瑣,所以很少使用
使用關鍵字new創建數組時,元素都是默認值,這種初始化叫做“動態初始化”。
還有一種不使用關鍵字new,在聲明數組的同時就完成了創建和初始化的工具,稱爲“靜態初始化”。
int [] buffer = {2,3,4,1,9}//不使用new,必須寫在一行。
Java中數組的下標也是和C一樣,從0開始到數組大小-1。不同於C的是,Java中會進行數組越界檢查。
Java中,只開闢了棧內存空間的數組是永遠無法使用的,必須有指向的堆內存纔可以使用。要想開闢新的堆內存,必須使用關鍵字new,然後將此堆內存的使用權交給對應的棧內存空間,並且一個堆內存可以同時被多個棧內存空間指向。

二維數組

聲明方法:

數據類型 數組名[][] 或者 數據類型[][] 數組名;

二維數組分配內存方法如下:

數組名 = new 數據類型 [行數組大小][列數組大小];

二維數組在分配內存時,必須告訴編譯器二維數組的行與列個數。(C語言中二維數組聲明大小時行個數可以省略)。

String類(字符串)

String是用於聲明字符串的類,在Java中是一個特殊的類。

String類中有兩種實例化對象的方法。

//直接實例化String對象
String s1 = "abc";
String s2 = "abc";
//調用String類中的構造方法實例化對象
String s3 = new String("abc");
String s4 = new String("abc");

在上述實例化對象中,s1 == s2, s3 != s4。
String的常用方法

方法名 功能
boolean equals (Object anObject) : 將此字符串與指定對象進行比較
boolean equalsIgnoreCase (String anotherString) : 將此字符串與指定對象進行比較,忽略大小寫。
int length () : 返回此字符串的長度。
String concat (String str) : 將指定的字符串連接到該字符串的末尾。
char charAt (int index) : 返回指定索引處的 char值。
int indexOf (String str) : 返回指定子字符串第一次出現在該字符串內的索引。
String substring (int beginIndex) : 返回一個子字符串,從beginIndex開始截取字符串到字符串結尾。
String substring (int beginIndex, int endIndex) : 返回一個子字符串
char[] toCharArray () : 將此字符串轉換爲新的字符數組。
byte[] getBytes () : 使用平臺的默認字符集將該 String編碼轉換爲新的字節數組。
String replace (CharSequence target, CharSequence replacement) : 將與target匹配的字符串使用replacement字符串替換。
String[] split(String regex) : 將此字符串按照給定的regex(規則)拆分爲字符串數組。
boolean contains(CharSequence s): 判斷字符串中是否包含指定字符。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章