陣列加強1

2022-10-11 05:24:09 字數 3128 閱讀 1446

陣列概念

陣列是儲存同一種資料型別多個元素的集合。也可以看成乙個容器。

陣列即可以儲存基本資料型別,也可以儲存引用資料型別

定義格式

什麼是陣列初始化

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...