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

正文內(nèi)容

[計(jì)算機(jī)軟件及應(yīng)用]4、數(shù)組、字符串、向量和哈希表(已修改)

2025-01-31 17:19 本頁面
 

【正文】 1 第四章 數(shù)組、字符串、向量和哈希表 浙江工業(yè)大學(xué) 陸佳煒 Email: 手 機(jī): 60013777802052 : 363650043 2 ? 數(shù)組 ? 數(shù)組的應(yīng)用 ? 字符串 String ? 可變字符序列 StringBuffer 本章內(nèi)容 : 回顧關(guān)鍵詞 :封裝性、繼承性、多態(tài)性、 abstract、 static、 final 、接口、包、內(nèi)部類 3 數(shù)組 ? 數(shù)組是相同類型的數(shù)據(jù)元素按順序組成的一種復(fù)合數(shù)據(jù)類型,元素在數(shù)組中的相對位置由下標(biāo)來指明。 ? 例如 :public static void main(String args[]) 其中 args是 String類型的數(shù)組 ? 占用連續(xù)的內(nèi)存地址 ? 數(shù)組的靜態(tài)性 ? 一旦創(chuàng)建就不能修改數(shù)組的長度 4 數(shù)組聲明 ? 一維數(shù)組變量的聲明格式有如下兩種 : (1) 數(shù)組元素的數(shù)據(jù)類型 [ ] 變量名 。 (2) 數(shù)組元素的數(shù)據(jù)類型 變量名 [ ]。 ? 示例 : int [ ] c。 String[ ] names。 int c[ ]。 String names[ ]。 5 數(shù)組的實(shí)例化 ? Java數(shù)組實(shí)際上也是對象,所以可通過 new 關(guān)鍵字來創(chuàng)建。 ? 示例 : int[ ] c。 // 聲明 ,不必指定數(shù)組的大小 c = new int[12]。 // 創(chuàng)建對象,并分配內(nèi)存 上面的兩個(gè)語句可以簡化成一個(gè)語句 : int[ ] c = new int[12]。 ? 數(shù)組的長度用數(shù)組名 .length,如 ? 數(shù)組元素用數(shù)組名 [下標(biāo) ]表示,下標(biāo)的范圍是 0~數(shù)組長度- 1,如 c[0] 6 初始化數(shù)組 ? 基本數(shù)據(jù)類型的元素初始化為 0值或 false ? 非基本數(shù)據(jù)類型的元素初始化為 null ? 可以采用循環(huán)結(jié)構(gòu)初始化數(shù)組 ? 示例 : double[ ] squares。 squares = new double[100]。 for (int i=0。 i 。 i++){ squares[i] = i*i。 } 7 通過初始化語句創(chuàng)建數(shù)組 ? Java語言允許通過數(shù)組的初始化語句創(chuàng)建數(shù)組 ? 示例 : int[ ] n = { 10, 20, 30, 40, 50 }。 ? 上面語句創(chuàng)建了一個(gè)含有五個(gè)元素的數(shù)組 ? 下標(biāo)值分別為 0, 1, 2, 3, 4 ? 這時(shí)不需要運(yùn)算符 new 8 數(shù)組的內(nèi)存分配示例 9 數(shù)組的注意事項(xiàng) ? 當(dāng)通過循環(huán)遍歷數(shù)組時(shí) ? 下標(biāo)永遠(yuǎn)不要低于 0 ? 下標(biāo)永遠(yuǎn)要比數(shù)組元素個(gè)數(shù)小 ? 當(dāng)數(shù)組下標(biāo)出錯, Java 產(chǎn)生 ArrayIndexOutOfBoundsException異常 ? 數(shù)組一旦創(chuàng)建后,不能調(diào)整大小 ? 可使用相同的引用變量來引用一個(gè)全新的數(shù)組 int []a = new int[6]。 a = new int[10]。 10 多維數(shù)組 ? 最常用的多維數(shù)組是二維數(shù)組 int[ ][ ] a = new int[3][4]。 ? 二維數(shù)組可以理解成如下圖示的表格 a[ 0 ][ 0 ] a[ 1 ][ 0 ] a[ 2 ][ 0 ] a[ 0 ][ 1 ] a[ 1 ][ 1 ] a[ 2 ][ 1 ] a[ 0 ][ 2 ] a[ 1 ][ 2 ] a[ 2 ][ 2 ] a[ 0 ][ 3 ] a[ 1 ][ 3 ] a[ 2 ][ 3 ] 行的下標(biāo)值 列的下標(biāo)值 11 二維數(shù)組的創(chuàng)建(內(nèi)存分配) (1)直接為每一維分配空間 , 如: int a[ ][ ] = new int[2][3]。 ? 該語句創(chuàng)建了一個(gè)二維數(shù)組 a, 其較高一維含兩個(gè)元素 , 每個(gè)元素為由 3個(gè)整型數(shù)構(gòu)成的整型數(shù)組 。 ? 此時(shí)該數(shù)組的元素為: a[0][0] a[0][1] a[0][2] a[1][0] a[1][1] a[1][2] 12 二維數(shù)組的創(chuàng)建(內(nèi)存分配) (2)從最高維開始 , 分別為每一維分配空間 ? 二維數(shù)組的實(shí)際上是數(shù)組的數(shù)組,即創(chuàng)建以數(shù)組為元素的數(shù)組,意味著 : 二維數(shù)組的每一行可以具有不同的列數(shù),如: int b[ ][ ] = new int[2][ ]。 // 最高維含 2個(gè)元素 , 每個(gè)元素為一個(gè)整型數(shù)組 b[0] = new int[3]。 b[1] = new int[5]。 此時(shí)該數(shù)組的元素為: b[0][0] b[0][1] b[0][2] b[1][0] b[1][1] b[1][2] b[1][3] b[1][4] 13 二維數(shù)組元素的初始化 (1)先創(chuàng)建二維數(shù)組,然后通過循環(huán)直接對每個(gè)元素進(jìn)行賦值,如: int[ ][ ] matrix = new int[4][5]。 for (int row=0。 row 。 row++){ for (int col=0。 col matrix[row].length。 col++){ matrix[row][col] = row + col。 } } 注:二維數(shù)組的長度指的是二維數(shù)組的行數(shù),用數(shù)組名 .length表示,某 i行的數(shù)組長度(該行的列數(shù))用數(shù)組名 [i].length表示 14 二維數(shù)組元素的初始化 (2)在聲明數(shù)組的同時(shí)進(jìn)行初始化 。 如: int a[ ][ ]={{2,3},{1,5},{3,4}}。 聲明了一個(gè) 3 2的數(shù)組 , 并對每個(gè)元素賦值 , 即: a[0][0] = 2 a[0][1] = 3 a[1][0] = 1 a[1][1] = 5 a[2][0] = 3 a[2][1] = 4 15 例:構(gòu)造楊輝三角形 1. class Yanghui{ 2. public static void main(String[] args){ 3. int yanghui[ ][ ]={{1},{1,1},{1,2,1},{1,3,3,1}, {1,4,6,4,1}}。 4. for(int i=0。i。i++){ 5. for(int j=0。jyanghui[i].length。j++){ 6. (\t+yanghui[i][j])。 7. } 8. ()。 9. } 10. } 11. } 16 ? 復(fù)制數(shù)組 ? 數(shù)組的封裝類 Arrays ? 數(shù)組用作參數(shù)和返回值 ? main方法的數(shù)組參數(shù)獲取命令行輸入 17 復(fù)制數(shù)組 ? Java在 System類中提供了一個(gè)特殊的方法 arraycopy(),用于實(shí)現(xiàn)數(shù)組之間的復(fù)制 1. public class ArrayCopy{ 2. public static void main(String args[]){ 3. int i。 4. int arr1[]={1,2,3,4,5,6,7,8,9,10}。 5. int arr2[]=new int[10]。 1. //把 arr1中所有元素復(fù)制到 arr2中 , 下標(biāo)從 0開始 2. (arr1,0,arr2,0,)。 3. //arr2如果長度短于 arr1, 會出現(xiàn)異常 。 如果長度長于 arr1, 后面的元素將使用默認(rèn)值 4. for(i=0。i。i++) 5. (arr2[i]+ )。 6. ()。 7. } 8. } 18 數(shù)組的封裝類 Arrays ? Arrays類,可實(shí)現(xiàn)數(shù)組操作的查找、復(fù)制和排序 ? static int binarySearch(int[] a, int fromIndex, int toIndex, int key) ? static int[] copyOf(int[] original, int newLength) ? static int[] copyOfRange(int[] original, int from, int to) ? static void sort(int[] a) //ascending… 19 例 :數(shù)組元素排序 1. import 。 2. public class ArraySort { 3. public static void main(String []args){ 4. int []hold={10,1,8,3,6,5,4,7,2,9}。 5. (hold)。 6. for(int i=0。i。i++){ 7. (hold[i]+ )。 8. } 9. } 10. } 20 數(shù)組用作參數(shù)和返回值 ? 數(shù)組可以作為參數(shù)傳遞給方法,也可以作為方法的返回值 ? 在調(diào)用的方法中的數(shù)組對象與調(diào)用者中的是同一個(gè)。 ? 如果在方法中修改了任何一個(gè)數(shù)組元素,因?yàn)檫@個(gè)數(shù)組與方法之外的數(shù)組對象是同一個(gè),所以方法之外的數(shù)組也將發(fā)生改變。 21 例 :數(shù)組作為調(diào)用方法的傳遞參數(shù) 1. public class CallArray{ 2. static void updateArray (int[ ] arrays){ 3. arrays[3]=10。 4. } 5. public static void main(String []args){ 6. int [ ]hold={0,1,2,3,4,5,6,7,8,9}。 7. updateArray(hold)。 8. for(int i=0。i。i++){ 9. (hold[i]+ )。 10. } 11. } 12. } 運(yùn)行時(shí), hold數(shù)組的內(nèi)容如下 : 0,1,2,10,4,5,6,7,8,9 22 例:數(shù)組作為方法的返回結(jié)果 1. public class ReturnArray{ 2. static int[ ] updateArray(int[] arrays){ 3. for(int i=0。i。i++){ 4. arrays[i]=i。 5. } 6. return arrays。 7. } 8. public static void main(String []args){ 9. int [ ]hold={9,8,7,3,5,6,4,2,1,0}。 10. hold= updateArray(hold)。 11. for(int i=0。i。i++){ 12. (hold[+i+]=+hold[i])。 13.
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1