一、目標
1、陣列的基本概念及作用
2、陣列的創建
3、陣列的訪問與迭代
4、陣列排序
5、二維陣列
二、陣列的基本概念及作用
陣列的基本概念及作用 ? 陣列是相同資料型別元素的集合 ? 陣列本身是參考資料型別,即物件,但是陣列可以存盤基本資料型別, 也可以存盤參考資料型別,
三、陣列的創建
● 陣列創建的三種方式:
● 宣告陣列的同時,根據指定的長度分配記憶體,但陣列中元素值都為默認 的初始化值
int[] ary0 = new int[10];
● 宣告陣列并分配記憶體,同時將其初始化
int[] ary1 = new int[]{1, 2, 3, 4, 5};
● 與前一種方式相同,僅僅只是語法相對簡略
int[] ary2 = {1, 2, 3, 4, 5};
● 從另一個角度,陣列創建可以分為動態和靜態兩種
? 動態創建陣列(沒有為元素賦值,可以結合for回圈進行賦值)
char[] chAry = new char[10];
? 靜態創建陣列,在創建的時候,即為每個元素賦初值
int[] ary1 = new int[]{1, 2, 3, 4, 5};
● 陣列的長度:length屬性
int [] b1 = new int []{1,2,3,4,5,6,7};
System.out.println(b1.length)
import java.util.Arrays;
public class JavaArrays1 {
public static void main(String[] args) {
int []a=new int [10];
System.out.println(Arrays.toString(a));
int []b=new int []{1,2,3,4,5};
System.out.println(Arrays.toString(b));
int []c={1,2,3,4,5};
System.out.println(Arrays.toString(c));
int []d=new int [5];
for(int i=0;i<5;i++){
d[0]=1;
d[1]=2;
}
System.out.println(Arrays.toString(d));
int []e={1,2,3,4,5};
// e[0]=3;
// e[1]=2;
// System.out.println(Arrays.toString(e));
for(int t:e) {
System.out.print(t);
}
}
}
四、陣列的訪問與迭代
● 陣列元素的訪問:
? 陣列名字[索引] 例如:a[0],a[1];
? 注意:
? 陣列的索引從0開始,
? 索引的資料型別是整型 ? 索引最大值和陣列長度始終差1
陣列迭代的兩種方式:
第一種:for回圈
int [] b1 = new int []{1,2,3,4,5,6,7};
for(int i =0;i<b1.length;i++){
System.out.println(b1[i]);
}
第二種:增強for回圈
int [] b1 = new int []{1,2,3,4,5,6,7};
for(陣列元素的型別 臨時變數名字 :陣列的名字){
System.out.println(臨時變數名字 );
}
即:
for(int x:b1){
System.out.println(x);
}
import java.util.Arrays;
public class Demo1 {
public static void main(String[] args) {
int[] a = new int[]{ 5, 11, 15, 24, 36, 47, 59, 66,3 };
for(int i=0;i<a.length;i++){
for(int j=0;j<a.length-1;j++){
if(i<j){
int temp=a[j];
a[j]=a[i];
a[i]=temp;
}
}
}
System.out.println(Arrays.toString(a));
}
}
五、陣列排序
1、冒泡排序
import java.util.Arrays;
//冒泡排序
public class SortDemo1 {
public static void main(String[] args) {
int [] a={4,5,3,2,1};
//4 3 2 1 5
//3 2 1 4 5
//1 2 3 4 5
for( int i=0;i<a.length-1;i++){
for(int j=0;j<a.length-1-i;j++) {
if(a[j]>a[j+1]) {
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
System.out.println(Arrays.toString(a));
}
}
2、選擇排序
import java.util.Arrays;
//選擇排序1
public class SortDemo2 {
public static void main(String[] args) {
int []a={2,3,1,5,6};
//1、3、2、5、6
//1 2 3 5 6
for(int i=0;i<a.length-1;i++){
for(int j=i+1;j< a.length;j++){
if(a[i]>a[j]){
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
System.out.println(Arrays.toString(a));
}
}
import java.util.Arrays;
//選擇排序2
public class SortDemo3 {
public static void main(String[] args) {
int[] a = {2, 1, 6, 5, 3};
for (int i = 0; i < a.length - 1; i++) {
int minIndex=i;
for (int j = i + 1; j < a.length; j++) {
if(a[minIndex]>a[j]){
minIndex=j;
}
}
int temp=a[i];
a[i]=a[minIndex];
a[minIndex]=temp;
}
System.out.println(Arrays.toString(a));
}
}
3、插入排序
import java.util.Arrays;
public class SortDemo4 {
//插入排序
public static void main(String[] args) {
int []a={2,1,6,4,3};
for(int i=1;i< a.length;i++){
for(int j=i;j>0;j--){
if(a[j]<a[j-1]){
int temp=a[j];
a[j]=a[j-1];
a[j-1]=temp;
}
}
}
System.out.println(Arrays.toString(a));
}
}
import java.util.Arrays;
public class SortDeno5 {
public static void main(String[] args) {
int []a={2,1,6,4,3};
int currentvalue=0;
for(int i=0;i<a.length-1;i++){
currentvalue =a[i+1];
int preIndex=i;
while (preIndex>= 0&& currentvalue <a[preIndex]) {
a[preIndex+1] =a[preIndex];
preIndex--;
}
a[preIndex+1]=currentvalue;
}
System.out.println(Arrays.toString(a));
}
}
六、二維陣列
1、二維數1組的定義:
陣列的陣列—二維陣列的每一個元素是一個一維數 組例如:
int [][]a = {{1,2,3},{1,2,3},{1,2,3}};
2、二維陣列的宣告:
int [][] a;
int a2[][];
3、陣列創建
int [][]a = new int[][]{{1,2,3},{1,2,3},{1,2,3}};
int [] [] b = {{1,2,3},{1,2,3},{1,2,3}};
int [][] c = new int[3][5];
● int[][] arr = new int[3][5];
---定義了一個整型的二維陣列 ,這個二維陣列有3 個一維陣列,每一個一維陣列包含5個元素.
4、二維陣列的迭代:
public class SortDemo6 {
public static void main(String[] args) {
int [][]a=new int[3][3];
System.out.println(a[1][1]);
int [][]b=new int [3][];
b[0]=new int b[2];
b[1]=new int b[3];
b[2]=new int b[4];
System.out.println(Arrays.toString(b));
}
}
public class SortDemo7 {
public static void main(String[] args) {
int[][] a = new int[][]{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
System.out.print(a[i][j] + "\t");
}
System.out.println();
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/273226.html
標籤:java
下一篇:爬蟲實習生面試題
