陣列操作知識點小結

2021-10-05 11:04:14 字數 3099 閱讀 9005

陣列操作知識點小結

陣列位址轉移問題

​ 陣列名是乙個引用資料型別的變數,其中儲存的是陣列占用堆空間首位址,陣列名之間的賦值操作,如:

int

arr1 =

newint[10

];int[

] arr2 =

newint[10

];arr2 = arr1;

詳見圖例:

/** * 該方法對傳入陣列進行迴圈遍歷並列印輸出陣列元素

* * @param arr int型別陣列

*/public

static

void

printarray

(int

arr)

system.out.

println();}}

結果為:

arr1 :

100000

05000

00arr2 :

100000

05000

00

陣列作為方法的引數

​ 在main方法中 (string args)就是給陣列作為方法引數格式,main方法需要的引數是乙個string型別陣列。

格式:public static 返回值型別 方法名(資料型別 陣列名)

例1:找出元素30對應的下標位置

/*

需求:找出元素30對應的下標位置

方法分析:

固定格式:public static 不要問

返回值型別:int型別,返回指定元素的下標位置,沒有找到返回-1

方法名:indexof 獲取指定元素對應下標

形式引數列表:

int arr:查詢資料的源陣列,在哪乙個陣列中進行查詢操作,這裡需要乙個int型別陣列

int find:指定在陣列中查詢的元素

(int arr, int find)

方法宣告:

public static int indexof(int arr, int find)

*/class

demo2

;int find =30;

//呼叫方法,傳入陣列名,與查詢的元素find

int index =

indexof

(array, find);if

(index >=0)

else

}/**

* 在指定陣列arr中,查詢指定元素find所在的下標位置,找到返回值大於等於0,沒有找到

* 返回-1

* * @param arr 查詢資料的源資料陣列,int型別陣列

* @param find 指定在陣列中查詢的資料,也是對應int型別

* @return 找到指定元素,返回值大於等於0,否則返回-1

*/public

static

intindexof

(int

arr,

int find)

}//返回index中儲存的資料到方法外

return index;

}}

結果為:index :

7

例1方法的執行記憶體如圖所示

例2:

/*

需求:刪除陣列中的指定下標的元素

存在乙個陣列,陣列中的元素為

int array = ;

要求:1. 0是無效元素,僅佔位使用

需求:在當前陣列中刪除指定下標的元素

例如:刪除下標5的元素

結果

0佔位!!!

方法分析:

固定格式:public static

返回值型別:在陣列中刪除指定下標的元素,不需要返回值

方法名:delete

形式引數列表:傳入乙個int型別陣列,int型別資料指定的下標位置index

(int arr, int index)

【方法宣告】

public static void delete(int arr, int index)

*/class

demo3

;delete

(array,5)

;printarray

(array)

;delete

(array,5)

;printarray

(array)

;delete

(array,5)

;printarray

(array);}

/** * 該方法傳入乙個陣列,然後根據傳入的指定的陣列下標位置index,刪除該位置的元素

* * @param arr int型別陣列

* @param index int型別資料 指定下標位置

*/public

static

void

delete

(int

arr,

int index)

//為陣列最後一位賦值0,佔位使用

arr[arr.length -1]

=0;}

/** * 該方法對傳入陣列進行迴圈遍歷並列印輸出陣列元素

* * @param arr int型別陣列

*/public

static

void

printarray

(int

arr)

system.out.

println();}}

結果為:13

57913

1517190

1357

915171900

1357

917190

00

知識點小結

華為 1.c與c 哪個效能比較好?從語言特性角度上來看,c 是c的超集。在 c c的這部分語言特性中有很多會降低執行效率。乙個例子是dynamic cast,執行乙個dynamic cast要消耗100 300個cpu cycles,因為機器要跳到一段特別的snippet 一小段程式 去檢查type...

知識點小結

一 mysql計算日期 timestampdiff day,t3.payment due date,now 二 字段轉換 case when t1.status in d01 a01 a00 then 三 mybatis在插入資料時,返回id usegeneratedkeys true keypro...

unity知識點小結

1 通過gameobject.find 玩家物體 getcomponent 獲取玩家的player指令碼 2 quaternion.identity就是指quaternion 0,0,0,0 就是每旋轉前的初始角度,是乙個確切的值,而transform.rotation是指本物體的角度,值是不確定的...