1. 程式人生 > >java數組小結

java數組小結

二維數組 對象 har sha 數組名 使用 bsp 結束 維數

---恢復內容開始---

1、概述

  由於java是典型的靜態語言,因而java中的數組也是靜態的;java數組變量是引用類型的變量,(ps:java中的引用有些許像c++和c中的指針)當我們使用java數組的時候,主要有2部分操作;分別是定義引用變量(相當於c++/c中的定義一個指針(指NULL))和實例化數組對象。

  在java內存分配機制中,定義局部變量和引用變量是在相應的方法棧內存中申請一塊空間;而引用變量所指向的對象(類對象、數組對象)是在堆內存中申請了內存;棧內存容易訪問(直接訪問),堆內存不易訪問(需要借助引用變量來訪問堆內存)。

2、數組初始化

  java數組的初始化分為2種;分別是靜態初始化和動態初始化。

  靜態初始化:

  在定義數組的時候同時對數組對象進行初始化操作;但是不可以對數組長度進行賦值

  例:int []a=new int[]{1,2,3,4};

    String []b=new String[]{"Kylin","shanshan"};

  動態初始化:

  定義數組的時候只對數組長度進行了賦值,並沒有對具體的數組對象進行初始化(由系統默認初始化)

  例如:int []c=new int[4];

     String []d=new String[3];

  對於c數組的實例化對象的值,分別是c[0]==0 c[1]==0 c[2]==0 c[3]==0 

  d數組對象的值分別是 null null null;

  為什麽會這樣呢? 這是由於java有一套默認的初始化機制,下面介紹一下java為數組元素分配的初始值:

  整型類型(byte,short,int,double)默認初始值是0

  浮點類型(double,float)默認初始值0.0

  布爾類型(boolean)默認初始值false

  引用類型(數組、類、接口、String)默認初始值為null

  字符類型(char)默認初始值‘\u0000‘

3、二維數組(多維)

  初始化多為數組的時候可以先只初始化最左邊維度,java允許講多維數組當成是一維數組來處理,廢話不多說,上例子。

     int [][]a=new int[3][];
        
//java中二維數組的數組名代表一維數組的首地址(和c++/c一樣) System.out.println(a.length); for(int i=0;i<a.length;i++) { //讓一維數組的元素再指向新的一維數組;就形成了二維(多維)數組;這裏可以指向很多長度不同的新數組 a[i]=new int[4]; } for(int i=0;i<4;i++) { System.out.print(a[0][i]+" "); }

  運行結果如下:

  技術分享

   

    

---恢復內容結束---

java數組小結