1. 程式人生 > 其它 >Java學習第5天

Java學習第5天

今日主要學習內容——Java中的陣列

陣列

  1. 陣列概述:一次性宣告大量的用於儲存資料的變數。要儲存的資料通常都是同類型資料。
  2. 陣列array是一種用於儲存多個相同型別資料的儲存模型。
  3. 資料定義:格式一 資料型別[] 變數名 int[] arr 格式二: 資料型別 變數名[] int arr[]
  4. 陣列初始化之動態初始化

Java中的陣列必須先初始化,然後才能使用

所謂初始化:就是為陣列中的元素分配記憶體空間,併為每個陣列元素賦值。

動態初始化:初始化時只指定陣列長度,並由系統為陣列分配初始值。

格式:陣列型別【】變數名 = new 陣列型別 【陣列長度】int [] arr = new int[3]

  1. 陣列元素訪問

陣列變數訪問方式 格式:陣列名

陣列元素訪問方式 格式:變數名 【索引】

  1. 記憶體分配

Java程式中的記憶體分配:Java程式在執行時,需要在記憶體中分配空間。為了提高運算效率,就對空間進行了不同區域的劃分,因為每一片區域都有特定的處理資料方式和記憶體管理方式。

int [] arr=new int[3];

/*左邊 int 說明陣列中元素的資料型別

[] 說明是一個數組

arr是陣列的名稱

右邊:

new 為陣列申請記憶體空間

[] 說明是一個數組

3是陣列的長度

*/

System.out.println(arr);

System.out.println(arr[0]);

System.out.println(arr[1]);

System.out.println(arr[2]);

陣列在初始化時,會為儲存空間新增預設值

整數:預設值0,浮點數:預設值0.0 ,布林值:預設值false 字元:預設值是空字元,引用資料型別:預設值是null。

棧記憶體:儲存區域性變數 定義在方法中的區域性變數,例如陣列名arr,使用完畢立即消失。

堆記憶體:儲存new出來的內容(實體,物件)陣列在初始化時,會為儲存空間新增預設值 整數:0, 浮點數:預設值0.0 ,布林值:預設值false 字元:預設值是空字元,引用資料型別:預設值是null。每一個new出來的東西都有一個地址值,使用完畢後會被回收

  1. 陣列初始化之靜態初始化

靜態初始化:初始化時指定每一個數組元素的初始值,有系統決定陣列長度。

格式:資料型別【】變數名=new 資料型別 【】{資料1,資料2,資料3…};

範例:int [] arr=new []{1,2,3} 簡化格式:int [] arr={1,2,3};

  1. 陣列常見小問題
    1. 索引越界:訪問了陣列中不存在的索引對應元素,造成越界問題
    2. 空指標異常:訪問的陣列已經不再指向堆記憶體的資料,造成空指標異常

今日所遇問題——對棧空間和對堆空間的理解

問題解決:瀏覽CSDN文章解決。