1. 程式人生 > 資訊 >五菱巨集光 MINI EV 新對手,長安“糯玉米”路試諜照曝光

五菱巨集光 MINI EV 新對手,長安“糯玉米”路試諜照曝光

陣列

陣列的定義

陣列是相同型別資料有序集合,其中,每一個數據成為一個數組元素,每個陣列元素可以通過一個下標來訪問它們。

陣列宣告建立

首先宣告陣列變數:

dataType[] arrayRefVar;  //首選方法
或者
dataType arrayRefVar[];  //效果相同,但不是首選方法

然後使用new操作符建立陣列:

dataType =new dataType[arraySizi];

宣告和建立可以一行程式碼解決:

dataType[] arrayRefVar=new dataType[arraySizi];

其中,陣列的元素是通過索引訪問的。陣列索引從0開始

獲取陣列的長度:arrayRefVar.length

int[] numbers=new int[3];
numbers[0]=1;
numbers[1]=2;
numbers[2]=3;
int sum=0;
for (int i = 0; i <numbers.length ; i++) {
sum+=numbers[i];
}System.out.println(sum);//輸出結果6

陣列一經建立,長度就是不可變的,如果越界,則報錯:java.lang.ArrayIndexOutOfBoundsException

記憶體分析

java記憶體:

  • 堆:存放new的物件和陣列;可以被所有的執行緒共享,不會存放別的物件引用

  • 棧:存放基本變數型別(會包含這個基本型別的具體數值);引用物件的變數(會存放這個引用在堆裡面的具體地址)

  • 方法區:可以被所有的執行緒共享;包含了所有的class和static變數

 

三種初始化

  • 靜態初始化

    int[] num={1,2,3};
  • 動態初始化

    int[] num=new int[2];
    num[0]=1;
    num[1]=2;
  • 陣列的預設初始化

    陣列是引用型別,它的元素相當於類的例項變數,因此陣列一經分配空間,其中的每個元素也被按照例項變數同樣的方式被隱式初始化。

陣列的使用

  • 普通的for迴圈

  • for-each迴圈(增強for迴圈)

  • 陣列做方法入參

  • 陣列做返回值

package com.array;

public class Demo02 {
   public static void main(String[] args) {
       int[] nums={1,2,3,4,5};
       one(nums);
       System.out.println("------------------");
       two(nums);
       System.out.println();
       System.out.println("------------------");
       three(nums);
       System.out.println();
       System.out.println("------------------");
       int[] four = four(nums);
      three(four);
  }
   //普通for迴圈 求和
   public static void one(int[] num){
       int sum=0;
       for (int i = 0; i <num.length ; i++) {
           sum+=num[i];
      }
       System.out.println("sum="+sum);
  }
   //for each迴圈 列印陣列元素
   public static void two(int[] num){
       for (int num1:num) {
           System.out.print(num1+"\t");
      }
  }
   //陣列做方法入參 列印陣列元素
   public static void three(int[] num){
       for (int i = 0; i <num.length ; i++) {
           System.out.print(num[i]+"\t");
      }
  }
   //陣列做返回值 求反轉陣列
   public static int[] four(int[] num){
       int[] result=new int[num.length];
       for (int i = 0,j=num.length-1; i <num.length ; i++,j--) {
           result[j]=num[i];
      }
       return result;
  }
}

/*輸出結果
sum=15
------------------
1 2 3 4 5
------------------
1 2 3 4 5
------------------
5 4 3 2 1
*/