freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

javaee基礎(chǔ)教程第2章java編程基礎(chǔ)ppt-資料下載頁

2025-10-09 14:23本頁面
  

【正文】 星期三 ? ? Java語言支持兩種語法格式來定義數(shù)組: ? type[] arrayName。 ? type arrayName[]。 ? 對這兩種語法格式而言,通常推薦使用第一種格式。因為第一種格式 不僅具有更好的語意,也具有更好的可讀性:對于 type[] arrayName。方式,很容易理解這是定義一個變量,其中變量名是 arrayName,而變量類型是 type[]。 type[]是一種新類型,與 type類型完全不同,例如int類型是基本類型,但 int[]是引用類型。因此,這種方式既容易理解,也符合定義變量的語法。 ? 對第二種格式: type arrayName[];它的可讀性就差些,看起來好像定義了一個類型為 type的變量,而變量名是 arrayName[],這與真實的含義相去甚遠(yuǎn)。 ? 定義數(shù)組時不能指定數(shù)組的長度,這是因為數(shù)組是一種引用類型,因此使用它定義一個變量時,僅僅表示定義了一個引用變量,這個引用 變量還未指向任何有效的內(nèi)存,因此定義數(shù)組時不能指定數(shù)組的長度。 Java EE基礎(chǔ)教程 78 2021年 11月 10日星期三 ? 只有對數(shù)組進(jìn)行初始化后,才可以使用。所謂初始化,就是為數(shù)組的數(shù)組元素分配內(nèi)存空間,并為每個數(shù)組元素賦初始值。數(shù)組的初始化 有兩種方式: ? 靜態(tài)初始化:初始化時由程序員顯式指定每個數(shù)組元素的初始值,由系統(tǒng)決定需要的數(shù)組長度。 ? 動態(tài)初始化:初始化時程序員只指定數(shù)組長度,由系統(tǒng)為數(shù)組元素分 配初始值。 ? 靜態(tài)初始化的語法格式如下: ? arrayName = new type[]{element1, element2 , element3 , element4 ...} //初始化時給出數(shù)組的元素 ? 在上面的語法格式中, type是數(shù)組元素的數(shù)據(jù)類型,此處的 type必須與定義數(shù)組變量時所使用的 type相同,也可以是定義數(shù)組時所使用的type的子類;并使用花括號把所有的數(shù)組元素括起來,多個數(shù)組元素之間以英文逗號( ,)隔開,定義初始化值的花括號緊跟 []之后。 Java EE基礎(chǔ)教程 79 2021年 11月 10日星期三 ?值得指出的是:執(zhí)行靜態(tài)初始化時,顯式指定的數(shù)組元素值的類型也必須與 new關(guān)鍵字后 type類型相同,或者是其子類的實例。 ?動態(tài)初始化的語法格式如下: ? arrayName =new type [5]。 //初始化時定義數(shù)組的長度 ?上面的語句通過運(yùn)算符 new創(chuàng)建數(shù)組 arrayName 的對象,實際上就是為 arrayName分配所需的內(nèi)存單元。其中數(shù)組的長度為 5,每個元素都是 type 型變量。 ?也可以將對數(shù)組的聲明和分配內(nèi)存的過程結(jié)合成一個語句,例如: ? int[] AB = new int[5]。 Java EE基礎(chǔ)教程 80 2021年 11月 10日星期三 ?數(shù)組創(chuàng)建后,可以通過以下方式對元素賦值: ?AB[0]= 135。 ?AB[1]= 1520。 ?AB[2]= 2210。 ?AB[3]= 85255。 ?AB[4]= 999。 ?也可以用一個語句代替上述所有語句,即創(chuàng)建數(shù)組和為元素賦值在一個語句中完成: ?int[] AB={6, 80, 2, 55, 451}。 Java EE基礎(chǔ)教程 81 2021年 11月 10日星期三 例 26 用三種不同方式創(chuàng)建 AB、 AC、 AD三個數(shù)組。其中 AB是 char型數(shù)組, AC和 AD都是 int型數(shù)組。 程序清單: ch02/ public class ArrayDemo { public static void main(String[] args) { char[] AB。 AB=new char[3]。 AB[0]=39。a39。 AB[1]=39。b39。 AB[2]=39。c39。 (AB[0])。 (AB[1])。 (AB[2])。 int[] AC=new int[2]。 int[] AC=new int[2]。 AC[0]=100。 AC[1]=200。 (AC[0])。 (AC[1])。 int[] AD={10,20,30,40}。 (AD[0])。 (AD[1])。 (AD[2])。 (AD[3])。 ()。 ()。 ()。 } } Java EE基礎(chǔ)教程 82 2021年 11月 10日星期三 ?數(shù)組元素的訪問是通過在數(shù)組引用變量后緊跟一個方括號下標(biāo),方括號里的下標(biāo)是數(shù)組元素的索引值,數(shù)組索引是從 0開始的。可以把一個數(shù)組元素當(dāng)成一個普通變量使用,包括為該變量賦值和取出該變量的值,這個變量的類型就是定義數(shù)組時使用的類型。 ?如果訪問數(shù)組元素時指定的索引小于 0,或者大于等于數(shù)組的長度,雖然編譯程序不會出現(xiàn)任何錯誤,但運(yùn)行時將出現(xiàn)異常: : 2(數(shù)組索引越界異常),在這個異常提示信息后有一個int整數(shù),這個整數(shù)就是程序員試圖訪問的數(shù)組索引。 Java EE基礎(chǔ)教程 83 2021年 11月 10日星期三 ? 下面代碼試圖訪問的數(shù)組元素索引等于數(shù)組長度,將引發(fā)數(shù)組索引越 界異常(程序清單同 ): ? (AC[2]) 。 ? 因為訪問數(shù)組元素指定的索引等于數(shù)組長度,所以代碼運(yùn)行時出現(xiàn)異 常。 ? 所有數(shù)組都提供了一個 length屬性,通過這個屬性可以訪問到數(shù)組的長度,一旦獲得了數(shù)組的長度后,就可以通過循環(huán)來遍歷該數(shù)組的每 個數(shù)組元素,下面代碼示范了輸出 prices數(shù)組的每個元素的值: ? for (int i = 0。 i 。 i ++ ) //使用循環(huán)輸出 pricese數(shù)組的每個數(shù)組元素的值 ? { ? (prices[i])。 ? } Java EE基礎(chǔ)教程 84 2021年 11月 10日星期三 ?例 27 分析以下代碼,指出其中的問題。 ? public int searchAccount(int[15] num){ ? num =new int[15]。 ? for(int i=0。i。i++) ? num[i]=num[i1]+num[i+1]。 ? return num。 ? } ?該段程序存在如下問題: ?數(shù)組的參數(shù)說明中不能每含有長度 (15)的信息。 ? for循環(huán)中,當(dāng) i=0時, num[i1]=num[1];越界,產(chǎn)生數(shù)組下標(biāo)越界例外錯誤。 ? return返回類型不是 int類型,而是 int[]類型,因為 num是數(shù)組。 Java EE基礎(chǔ)教程 85 2021年 11月 10日星期三 ? 下面代碼將示范為動態(tài)初始化的數(shù)組元素進(jìn)行賦值,并通過循環(huán)方式 輸出每個數(shù)組元素: ? String[] books=new String[4]。 ? books[0] = JavaEE實用教程 。 ? books[1] = Web 程序設(shè)計 。 ? for (int i = 0 。 i 。 i++ ){ ? (books[i])。 ? } ? 上面代碼將先輸出字符串 JavaEE實用教程 和 Web 程序設(shè)計 ,然后輸出兩個 null,因為 books使用了動態(tài)初始化,系統(tǒng)為所有數(shù)組元素都分配一個 null作為初始值,后來程序又為前兩個元素賦值,所以看到程序的輸出結(jié)果。 ? 從上面代碼中不難看出,初始化一個數(shù)組后,相當(dāng)于同時初始化了多個相同類型的變量,通過數(shù)組元素的索引就可以自由訪問這些變量(實際上都是數(shù)組元素)。使用數(shù)組元素與使用普通變量并沒有什么 不同,一樣可以對數(shù)組元素進(jìn)行賦值,或者取出數(shù)組元素的值。 Java EE基礎(chǔ)教程 86 2021年 11月 10日星期三 ? ? Java語言里的數(shù)組類型是引用類型,數(shù)組變量其實是一個引用,這個引用指向真實的數(shù)組內(nèi)存。數(shù)組元素的類型也可以是引用,如果數(shù)組元素的為引用類型,它再次指向真實的數(shù)組內(nèi)存,這種存儲結(jié)構(gòu)就是多維數(shù)組。 ?前面定義數(shù)組的語法: type[] arrayName;這是典型的一維數(shù)組的定義語法,其中 type是數(shù)組元素的類型。如果希望數(shù)組元素也是一個引用,而且是指向 int數(shù)組的引用,那可以把上面 type具體成為 int[], int[]就是一種類型, int[]類型的用法與普通類型并無任何區(qū)別,那么上面定義數(shù)組的語法就是 int[][] arrayName。 Java EE基礎(chǔ)教程 87 2021年 11月 10日星期三 ? 如果把 int這個類型擴(kuò)大到 Java的所有基本類型(不包括數(shù)組類型),則出現(xiàn)了定義二維的數(shù)組的語法: ? type[][] arrName; ? Java語言采用上面的語法格式來定義二維數(shù)組,但它的實質(zhì)還是一維數(shù)組,只是其數(shù)組元素也是引用,數(shù)組元素里保存的引用指向一維數(shù)組。 ? 接著對這個“二維數(shù)組”執(zhí)行初始化,執(zhí)行初始化同樣可以把這個數(shù)組當(dāng)成一維數(shù)組來初始化,把這個“二維數(shù)組”當(dāng)成一個一維數(shù)組, 其元素的類型是 type[]類型,則可以采用如下語法進(jìn)行初始化: ? arrayName = new type[length][]; ? 上面的初始化語法相當(dāng)于初始化了一個一維數(shù)組,這個一維數(shù)組的長 度是 length。同樣,因為這個一維數(shù)組的數(shù)組元素是引用類型(數(shù)組類型)的,所以系統(tǒng)為每個數(shù)組元素都分配初始值: null。 Java EE基礎(chǔ)教程 88 2021年 11月 10日星期三 ?這個二維數(shù)組實際上完全可以當(dāng)成一維數(shù)組使用:使用new type[length]初始化一維數(shù)組后,相當(dāng)于定義了 length個 type類型的變量;類似的,使用 new type[length][]初始化這個數(shù)組后,相當(dāng)于定義了 length個 type[]類型的變量,當(dāng)然,這些 type[]類型的變量都是數(shù)組類型,因此必須再次初始化這些數(shù)組。 ?二維數(shù)組的元素可排列成一個矩陣,它的元素用兩個下標(biāo)表示。下面是一個 3行 4列矩陣,共有 12個元素,行號和列號都從 0開始 : ?float[][] a = new float[3][4]。 //創(chuàng)建一個 3行 4列的數(shù)組,每個元素都為 float類型數(shù)據(jù)。 ?二維數(shù)組的賦值方法和一維數(shù)組類似,例如: ?a[0][0]=。 ?a[0][1]=。 ?a[2][1]=。 Java EE基礎(chǔ)教程 89 2021年 11月 10日星期三 例 28 把二維數(shù)組當(dāng)成一維數(shù)組處理。 程序清單: ch02\ public class TestTwoDimension {public static void main(String[] args) {int[][] a。 //定義一個二維數(shù)組 //初始化 a是一個長度為 3的數(shù)組 , a數(shù)組的數(shù)組元素又是引用類型 a = new int[3][]。 //把 a數(shù)組當(dāng)成一維數(shù)組,遍歷 a數(shù)組的每個數(shù)組元素 for (int i = 0。 i 。 i++ ) {(a[i])。} a[0] = new int[2]。 //初始化 a數(shù)組的第一個元素 a[0][1] = 6。 //訪問 a數(shù)組的第一個元素所指數(shù)組的第二個元素 for (int i = 0 。 i a[0].length 。 i ++ ) //a數(shù)組的第一個元素是一個一維數(shù)組,遍歷這個一維數(shù)組 {(a[0][i])。} } } Java EE基礎(chǔ)教程 90 2021年 11月 10日星期三 ? 下面結(jié)合示意圖來說明程序 。 ? 程序的第一行 int[][] a。,將在棧內(nèi)存中定義一個引用變量,這個變量并未指向任何有效的內(nèi)存空間,此時的堆內(nèi)存中還未為這行代碼分配任 何存儲區(qū)。 ? 程序?qū)?a數(shù)組執(zhí)行初始化: a = new int[3][]。 這行代碼為讓 a變量指向一塊長度為 3的數(shù)組內(nèi)存,這個長度為 3數(shù)組里每個數(shù)組元素都是引用類型(數(shù)組類型),系統(tǒng)為這些數(shù)組元素分配默認(rèn)初始值: null。此時 a數(shù)組在內(nèi)存中的存儲示意如圖 : ? 從圖 ,雖然聲明 a是一個二維數(shù)組,但這里絲毫看不出它是一個二維數(shù)組的樣子,完全是一維數(shù)組的樣子。這個一維數(shù)組的長度是 3個,只是這三個數(shù)組元素都是引用類型,它們的默認(rèn)值是 null。所以程序中可以把 a數(shù)組當(dāng)成一維數(shù)組處理,依此遍歷 a數(shù)組的每個元素,將看到每個數(shù)組元素的值都是 null。 Java EE基礎(chǔ)教程 91 2021年 11月 10日星期三 Java EE基礎(chǔ)教程 92 2021年 11月 10日星期三 ? 因為 a數(shù)組的元素必須是 int[]數(shù)組,所以接下來的程序?qū)?a[0]元素執(zhí)行初始化,也就是讓圖 效的數(shù)組內(nèi)存,指向一個長度為 2的 int數(shù)組。因為程序采用動態(tài)初始化 a[0]數(shù)組,因此系統(tǒng)將為 a[0]的每個數(shù)組元素分配默認(rèn)初始值 0,然后程序顯式為 a[0]數(shù)組的第二個元素賦值為 6。此時在內(nèi)存中的存儲示意如圖 。圖 組元素值。 a[0]數(shù)組的每個數(shù)組元素,將看到輸出 0和 6。是否可以讓圖 再次指向另一個數(shù)組?這樣不就可以擴(kuò)展成三維數(shù)組嗎?甚至
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1