鍍金池/ 教程/ Java/ Java數(shù)組
Java for循環(huán)
Java接口
Java是什么?
Java命名約定
java中方法重載和方法重寫的區(qū)別
Java運算符
Java抽象類
Java快速入門
Java實例初始化程序塊
Java靜態(tài)綁定和動態(tài)綁定
Java do-while循環(huán)
Java對象克隆
Java Object類
Java聚合
Java繼承
Java this關(guān)鍵字
Java虛擬機內(nèi)部體系結(jié)構(gòu)
Java構(gòu)造器(構(gòu)造方法)
Eclipse安裝和配置
Java多態(tài)
Java方法重載
Java while循環(huán)
Java教程
Java按值調(diào)用和引用調(diào)用
Java strictfp關(guān)鍵字
Java封裝
Java語言特點
Java數(shù)組
Java instanceof運算符
Java包裝類
Java命令行參數(shù)
Java包
Java面向?qū)ο螅∣OP)概念
簡單Java程序
Java基礎(chǔ)實例程序
Java對象和類
Java continue語句
Java抽象類和接口的區(qū)別
C++ VS Java比較
Java if/else語句
Java switch語句
Java歷史
Java變量和數(shù)據(jù)類型
安裝Java環(huán)境(Linux)
Java JDK安裝和配置
Hello Java程序的內(nèi)部細節(jié)
Java break語句
Java方法重寫
Java Unicode編碼系統(tǒng)
怎么樣開始學習Java編程?
對象和類之間的區(qū)別
Java訪問修飾符
Java super關(guān)鍵字
Java注釋
JDK,JRE和JVM之間的區(qū)別
Java final關(guān)鍵字
Java static關(guān)鍵字

Java數(shù)組

通常,數(shù)組是具有連續(xù)內(nèi)存位置的類似類型的元素的集合。Java數(shù)組是一個包含類似數(shù)據(jù)類型的元素的對象。 它是一個數(shù)據(jù)結(jié)構(gòu),我們存儲類似的元素。 只能在java數(shù)組中存儲固定的元素集合。

java中的數(shù)組是基于索引的,數(shù)組的第一個元素存儲的索引為:0

Java Array的優(yōu)點

代碼優(yōu)化: 它使代碼優(yōu)化,可以輕松地檢索或排序數(shù)據(jù)。
隨機訪問: 可以獲取任何位于任何索引位置的數(shù)據(jù)。

Java Array的缺點

大小限制: 只能在數(shù)組中存儲固定大小的元素。 它在運行時不會增長其大小。 為了解決這個問題,在java中使用了集合框架。

java中的數(shù)組類型

有兩種類型的數(shù)組。

  • 一維數(shù)組
  • 多維數(shù)組

java中的單維數(shù)組

在java中聲明一個數(shù)組的語法。

dataType[] arr; (or)  
dataType []arr; (or)  
dataType arr[];

在java中實例化數(shù)組

arrayRefVar=new datatype[size];

一維java數(shù)組的示例

讓我們來看看java數(shù)組的簡單例子,下面聲明,實例化,初始化和遍歷數(shù)組。

class Testarray {
    public static void main(String args[]) {

        int a[] = new int[5];// declaration and instantiation
        a[0] = 10;// initialization
        a[1] = 20;
        a[2] = 70;
        a[3] = 40;
        a[4] = 50;

        // printing array
        for (int i = 0; i < a.length; i++)// length is the property of array
            System.out.println(a[i]);

    }
}

執(zhí)行上面代碼的得到下面的結(jié)果 -

10
20
70
40
50

Java數(shù)組的聲明,實例化和初始化

可以通過以下方式聲明,實例化和初始化java數(shù)組:

int a[]={33,3,4,5};//declaration, instantiation and initialization

讓我們來看看打印數(shù)組的簡單例子。

class Testarray1 {
    public static void main(String args[]) {

        int a[] = { 33, 3, 4, 5 };// declaration, instantiation and
                                    // initialization

        // printing array
        for (int i = 0; i < a.length; i++)// length is the property of array
            System.out.println(a[i]);

    }
}

執(zhí)行上面代碼,得到以下結(jié)果 -

33
3
4
5

在Java中將數(shù)組傳遞給方法

我們可以將java數(shù)組傳遞給方法,以便可以在數(shù)組上重復使用相同的邏輯。

讓我們來看看獲取使用方法的數(shù)組的最小數(shù)的一個簡單的例子。

class Testarray2 {
    static void min(int arr[]) {
        int min = arr[0];
        for (int i = 1; i < arr.length; i++)
            if (min > arr[i])
                min = arr[i];

        System.out.println(min);
    }

    public static void main(String args[]) {

        int a[] = { 33, 3, 4, 5 };
        min(a);// passing array to method

    }
}

執(zhí)行上面代碼,得到以下結(jié)果 -

3


java中的多維數(shù)組

在這種情況下,數(shù)據(jù)存儲在基于行和列的索引(也稱為矩陣形式)中。在Java中聲明多維數(shù)組的語法。

dataType[][] arrayRefVar; (or)  
dataType [][]arrayRefVar; (or)  
dataType arrayRefVar[][]; (or)  
dataType []arrayRefVar[];

在java中實例化多維數(shù)組的示例

int[][] arr=new int[3][3];//3 row and 3 column

在java中初始化多維數(shù)組的示例

arr[0][0]=1;  
arr[0][1]=2;  
arr[0][2]=3;  
arr[1][0]=4;  
arr[1][1]=5;  
arr[1][2]=6;  
arr[2][0]=7;  
arr[2][1]=8;  
arr[2][2]=9;

多維java數(shù)組示例

讓我們來看看一個簡單的例子來聲明,實例化,初始化并打印二維數(shù)組。

class Testarray3 {
    public static void main(String args[]) {

        // declaring and initializing 2D array
        int arr[][] = { { 1, 2, 3 }, { 2, 4, 5 }, { 4, 4, 5 } };

        // printing 2D array
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                System.out.print(arr[i][j] + " ");
            }
            System.out.println();
        }

    }
}

執(zhí)行上面代碼,得到以下結(jié)果 -

1 2 3
2 4 5
4 4 5

java數(shù)組的類名是什么?

在java中,數(shù)組是一個對象。 對于數(shù)組對象,創(chuàng)建一個代理類,其名稱可以通過對象上的getClass()。getName()方法獲取。

class Testarray4 {
    public static void main(String args[]) {

        int arr[] = { 4, 4, 5 };

        Class c = arr.getClass();
        String name = c.getName();

        System.out.println(name);

    }
}

執(zhí)行上面代碼,得到以下代碼 -

I

復制java數(shù)組

可以通過System類的arraycopy方法將數(shù)組復制到另一個數(shù)組。

arraycopy方法的語法

public static void arraycopy(  
Object src, int srcPos,Object dest, int destPos, int length  
)

arraycopy方法的示例

class TestArrayCopyDemo {
    public static void main(String[] args) {
        char[] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e', 'i', 'n', 'a', 't', 'e', 'd' };
        char[] copyTo = new char[7];

        System.arraycopy(copyFrom, 2, copyTo, 0, 7);
        System.out.println(new String(copyTo));
    }
}

執(zhí)行上面代碼,得到以下代碼 -

caffein

在java中添加2個矩陣

讓我們來看看一個簡單的例子,添加兩個矩陣。

class Testarray5 {
    public static void main(String args[]) {
        // creating two matrices
        int a[][] = { { 1, 3, 4 }, { 3, 4, 5 } };
        int b[][] = { { 1, 3, 4 }, { 3, 4, 5 } };

        // creating another matrix to store the sum of two matrices
        int c[][] = new int[2][3];

        // adding and printing addition of 2 matrices
        for (int i = 0; i < 2; i++) {
            for (int j = 0; j < 3; j++) {
                c[i][j] = a[i][j] + b[i][j];
                System.out.print(c[i][j] + " ");
            }
            System.out.println();// new line
        }

    }
}

執(zhí)行上面代碼,得到以下代碼 -

2 6 8
6 8 10