陣列概念
陣列是儲存同一種資料型別多個元素的集合。也可以看成乙個容器。
陣列即可以儲存基本資料型別,也可以儲存引用資料型別
定義格式
什麼是陣列初始化
j**a中的必須先初始化,然後才能使用
所謂的初始化,就是為陣列中的陣列元素分配記憶體空間。並為每個陣列元素賦值
初始化分類;
a;動態初始化;指定長度,由系統給出初始值
b;靜態初始化;給出初始化值,由系統決定長度
注意事項;這兩種方式只能使用一種,不能進行動靜結合
動態初始化的格式與獲取
資料型別 陣列名 = new 資料型別[資料長度]
資料長度其實就是陣列中元素的個數
在陣列初始化時,會為每乙個元素索引(角標)這個索引從0開始。通過索引取出某個元素。也是通過索引會給元素重新賦值。
例: int num = arr[1];
陣列的常見操作
1;陣列元素的遍歷
2;陣列常見的角標越界異常
3;陣列元素的反向遍歷
4;獲取陣列元素的最大值最先值
5;陣列元素的反轉
1;陣列遍歷
使用for迴圈來遍歷陣列
public class outer ;for(int i =0;i反向遍歷
public class outer ;for(int i = arr.length-1;i>=0;i--)}}
2;獲取陣列最值
獲取陣列中的最大值或者最小值
public class outer ;//獲取陣列中的最值
//定義乙個參照值
int max=arr[0];
for(int i = 1;i< arr.length;i++)
}system.out.println("陣列最值"+max);
}}
3;反轉陣列元素
public class outer ;//反轉陣列中的元素
// 思路;首尾元素互換
for (int i=0;i< arr.length/2;i++)
}}
4;二維陣列(1)二維陣列的概述
:二維陣列中的每乙個元素為乙個一維陣列
(2)二維陣列的定義格式
: 資料型別變數名 = new 資料型別;
:m表示這個二維陣列中有多少個一維陣列
:n表示每乙個一維陣列的元素個數
public class outer ,,};system.out.println(arr);
system.out.println(arr[0]);
system.out.println(arr[0][0]);
//給二維陣列裡面的每乙個元素賦值
arr[0] = new int[2];
arr[1] = new int[2];
arr[2] = new int[2];
}}
(3)二維陣列的遍歷
//定義方式二。靜態定義int arr1 =,,};
system.out.println(arr);
system.out.println(arr[0]);
system.out.println(arr[0][0]);
//給二維陣列裡面的每乙個元素賦值
arr[0] = new int[2];
arr[1] = new int[2];
arr[2] = new int[2];
//遍歷 雙重for迴圈
for (int i = 0; i < arr1.length; i++)
}
(4)二維陣列的聯絡求和
int arr =,,,};//定義乙個變數用來接受結果
int sum =0;
//遍歷 雙重for迴圈
for (int i = 0; i < arr.length; i++)
楊輝三角
import j**a.util.scanner;public class outer
//新增中間量
for (int i = 2; i < arr.length; i++)
}//遍歷二維陣列
for (int i = 0; i < arr.length; i++)
system.out.println();}}
}
(5)陣列查詢與二等分查詢1;遍歷陣列查詢
public class outer ;//根據元素查詢該元素在陣列中的第一次出現的索引
int index =getindexbyele(arr,20);
system.out.println("該元素在陣列中第一次出現的索引時"+index);
}private static int getindexbyele(int arr,int i)
}return -1;//沒有找到返回-1
}}
2;二等分查詢二分查詢前提時陣列中元素必須有序
import j**a.util.scanner;public class outer ;
int index =getindexbele(arr,10);
system.out.println(index);
}private static int getindexbele(int arr, int i) else if (i > arr[centerindex]) else if (i < arr[centerindex])
//重新計算中間索引
centerindex = (minindex + maxindex) / 2;
}return -1;
}}
物件導向加強1
1 增強for迴圈 增強for迴圈主要用對陣列 集合的遍歷 只能讀不能寫 優點是方便直觀,但不會提高執行效率。2 label語句 label可標識控制需要操作的任何有效語句,它被用來標識迴圈構造的復合語句 只能用來標識for while或if之類的語句,其它的不行 和break或continue配合...
MySQL基礎加強1
1 資料約束 表約束 預設值 default 預設值 非空 not null 唯一 unique 主鍵 primary key 非空 唯一 自增長 auto increment 外來鍵 foreign key 約束兩種表 2 關聯查詢 多表查詢 2.1 交叉連線 產生笛卡爾積 原因 連線條件不足夠 ...
C加強1 (位演算法)
include include include include define red 1 define blue 2 define green 3 列舉裡必須是整型 必須小於等於四個位元組 enum colorc1,c2 如果沒有給值,預設為0,依次遞增 如果初始值,則依次遞增 enum statu...