1、數組的聲明
int[] array
或
int array[] //意義相同,不推薦
2、數組的初始化
2.1靜态的初始化
int[] array = {1 2 3 4 5};
int[] array = new int[] {1 2 3 4 5}; //給方法傳參數 或者 匿名數組
2.2動态的初始化
int[] array = new int[數組的長度];
2.3不初始化數組
int[] array = null; //隻是指向空,但裡面無内容
未初始化的數會有預設值,
不同類型預設值:
byte/short/int/long/ 0
double/folat 0.0
char 0x0000
boolean false
reference null
并不是所有的都有預設值,
擁有預設值的:數組内元素、屬性、靜态屬性
沒有預設值的:局部變量、參數
3、數組的屬性
數組是引用類型屬性,是引用傳遞,改變形參,實參會感受到變化
記憶體儲存(簡單化分):
1.棧:局部變量、形參
2.堆:對象(數組的對象)
class TestIt
{
public static void main ( String[] args )
{
int[] myArray = {1, 2, 3, 4, 5};
ChangeIt.doIt( myArray );
for(int j=0; j<myArray.length; j++)
System.out.print( myArray[j] + " " );
}
}
class ChangeIt
{
static void doIt( int[] z )
{
z = null ;
}
}
輸出是:1 2 3 4 5
這段代碼中的數組雖然是引用傳遞 ,但是将引用 z = null 隻是将引用z不指向任何對象 ,
并不會對原先指向的對象資料進行修改 。
class ChangeIt
{
static void doIt( int[] z )
{
int[] A = z;
A[0] = 99;
}
}
class TestIt
{
public static void main( String[] args )
{
int[] myArray = {1, 2, 3, 4, 5};
ChangeIt.doIt(myArray);
for (int i = 0; i < myArray.length; i++)
{
System.out.print(myArray[i] + " ");
}
}
}
輸出是:99 2 3 4 5
引用傳遞,改變形參數組中具體的值,實參可以感受到變化
4、數組的處理
基本循環處理
class testarray
public static void main(String[] args){
int[] array = {1 2 3};
//列印所有元素
for(int i = 0; i < array.length; i++){
System.out.println(array[i]);
}
//計算所有元素的總和
int sum = 0;
for(int i = 0; i< array.length; i++){
sum += array[i];
}
System.out.println("總和是" + sum);
//查找最大元素
int max = array[0];
for(int i = 0; i < array.length; i++){
if(max < array[i]){
max = array[i];
}
System.out.println("最大值是" + max);
}
}
for-each循環處理:
for(type element: array)
{
System.out.println(element);
}
執行個體代碼:
class testarray
public static void main(String[] args){
int[] array = {1 2 3};
//列印所有數組元素
for(int element: array){
System.out.println(element);
}
}
5、Arrays類
java.util.Arrays 類能友善地操作數組,它提供的所有方法都是靜态的。
具有以下功能:
給數組指派:通過 fill 方法。
對數組排序:通過 sort 方法,按升序。
比較數組:通過 equals 方法比較數組中元素值是否相等。
查找數組元素:通過 binarySearch 方法能對排序好的數組進行二分查找法操作。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIwczX0xiRGZkRGZ0Xy9GbvNGL2EzXlpXazxiZ4dUY0A3MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLwYzMyUDM0kTM0EzNwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)