一维数组的创建及使用
數(shù)組是具有相同類型的一組數(shù)據(jù)的集合。例如,球類的集合——足球、籃球、乒乓球等;在程序設計中,可以將這些集合稱之為數(shù)組。數(shù)組中的每個元素具有相同的數(shù)據(jù)類型。在Java中同樣將數(shù)組看做是一個對象,雖然基本數(shù)據(jù)類型不是對象,但是由基本數(shù)據(jù)類型組成的數(shù)組卻是對象。一維數(shù)組實質(zhì)上是一組相同類型數(shù)據(jù)的線性集合,當在程序中需要處理一組數(shù)據(jù),或者傳遞一組數(shù)據(jù)時,可以用這種類型的數(shù)據(jù)。
####1. 創(chuàng)建一維數(shù)組
數(shù)組作為對象允許使用new關鍵字進行內(nèi)存分配。在使用數(shù)組之前,必須首先定義數(shù)組變量所屬的類型。一維數(shù)組的創(chuàng)建有兩種形式。
a. 先聲明,再用new運算符進行內(nèi)存分配
聲明一維數(shù)組有以下兩種方式:
數(shù)組元素類型 數(shù)組名字[]; 數(shù)組元素類型[] 數(shù)組名字;數(shù)組元素類型決定了數(shù)組的數(shù)據(jù)類型。它可以是Java中任意的數(shù)據(jù)類型,包括簡單類型和組合類型。數(shù)組名字為一個合法的標識符,符號“[ ]”指明該變量是一個數(shù)組類型變量。單個"[ ]"表示要創(chuàng)建的數(shù)組是一個一維數(shù)組。
int arr[]; //聲明是int型數(shù)組,數(shù)組中的每個元素都是int型值 String str[]; //聲明String數(shù)組,數(shù)組中的每個元素都是String型數(shù)值聲明數(shù)組后,還不能立即訪問他的任何元素,因為聲明數(shù)組只是給出了數(shù)組名字和元素的數(shù)據(jù)類型,要想真正的使用數(shù)組,還要為它分配內(nèi)存空間。在為數(shù)組分配空間時必須指明數(shù)組的長度,為數(shù)組分配內(nèi)存的語法格式為:
數(shù)組名字 = new 數(shù)組元素的類型[數(shù)組元素的個數(shù)];數(shù)組名字:被連接到數(shù)組變量的名稱。
數(shù)組元素的個數(shù):指定數(shù)組中的個數(shù),即數(shù)組的長度。
使用new關鍵字分配數(shù)組時,必須指定數(shù)組元素的類型和數(shù)組元素的個數(shù),即數(shù)組的長度。
//為數(shù)組分配內(nèi)存 arr = new int[5];以上代碼表示要創(chuàng)建一個有5個元素的整型數(shù)組,并且將創(chuàng)建的數(shù)組對象賦給引用變量arr,即引用變量arr引用這個數(shù)組。如下圖所示:
在圖中arr為數(shù)組名稱,方括號“[ ]" 中的值為數(shù)組的下標。數(shù)組通過下標來區(qū)分數(shù)組中的不同元素。數(shù)組的下標是從0開始的。由于創(chuàng)建的數(shù)組arr中有5個元素,因此數(shù)組中元素的下標為0~4.
使用new關鍵字為數(shù)組分配內(nèi)存時,整型數(shù)組中各個元素的初始值都為0。
#####2. 聲明的同時為數(shù)組分配內(nèi)存
這種創(chuàng)建數(shù)組的方法是將數(shù)組的聲明和內(nèi)存的分配合在一起執(zhí)行。語法如下所示:
上面代碼創(chuàng)建數(shù)組month,并指定了數(shù)組的長度為12。
####2. 初始化一維數(shù)組
數(shù)組與基本數(shù)據(jù)類型一樣可以進行初始化操作。數(shù)組的初始化操作可分別初始化數(shù)組中的每個元素。數(shù)組的初始化有以下兩種形式:
int arr[]=new int[]{1,2,3,4,5}; //第一種初始化方式 int arr2[] ={12,34,29,22}; //第二種初始化方式從中可以看出,數(shù)組的初始化就是包括大括號之內(nèi)用都好分開的表達式列表。用括號( , )分割數(shù)組中的元素,系統(tǒng)自動為數(shù)組分配一定的空間。用第一種初始化方式,將創(chuàng)建5個元素的數(shù)組,依次為1、2、3、4、5。第二種初始化方式,會創(chuàng)建4個元素的數(shù)組,依次為12、34、29、22。
####3. 使用一維數(shù)組
在Java集合中一維數(shù)組是常見的一種數(shù)據(jù)結構。通過使用一維數(shù)組來對其進一步了解。
運行結果如下:
我們可以看到一個結果是:false,可以得出是不相等的。
Java字符串就是Unicode字符序列,例如串“Java”就是4個Unicode字符J,a,v,a組成的。Java沒有內(nèi)置的字符串類型,而是在標準的Java類庫中提供了一個預定義的類String,每個用雙引號括起來的字符串都是String類的一個實例。
public class TestString{public static void main(String[] args){String str = new String("abcd");String str2 = new String("abcd");System.out.println(str.charAt(2));System.out.println(str2.equals(str)); //比較內(nèi)容是否相等 System.out.println(str2== str); String str3 = "def";sString str4 = "def"'System.out.println(str3.equals(str4));System.out.println(str3 == str4); String str6 = "abcd,ede,dede,de,deded";//按逗號進行切割String[] strArray = str6.split(",");for(i=0;i<strArray.length;i++){System.out.println(strArray[i]);}String str7 = " aa bb ";//去除首尾空格進行計算String str77 = str7.trim();System.out.println(str77.length()); } }補充String中的幾個方法:
public class TestString{public static void main(String[] args){//忽略大小寫的區(qū)別System.out.println("Abc".equalsIgnoreCase("abc"));//從左向右進行查找System.out.println("Abcbd".indexOf('b'));//從左向右進行查找,找到最后一個的System.out.println("Abcbd".lastIndexOf('b'));//以什么開始System.out.println("Abcbd".startsWith('Ab'));//以什么結束System.out.println("Abcbd".endsWith('bd'));//轉小寫System.out.println("Abcbd".toLowerCase());//轉大寫System.out.println("Abcbd".toUpperCase());} }總結
以上是生活随笔為你收集整理的一维数组的创建及使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 企业参加社保须知(缴费比例表)
- 下一篇: 与、或、非、异或,运算符巩固