當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java Array和String的區別用法及代碼示例


array 是存儲在連續內存位置的類似類型元素的集合。數組可以包含基元(int、char 等)以及類的對象(非基元)引用,具體取決於數組的定義。在原始數據類型的情況下,實際值存儲在連續的內存位置中,而在類對象的情況下則存儲在 actual objects are stored in the heap segment 中。在Java中,所有數組都是動態分配的。數組的大小必須由 int 值指定,且不能長或短。數組索引從 0 開始一直到 n-1,其中 n 是數組的長度。

數組聲明語法:

type var-name[]'
OR
type[] var-name;

數組聲明有兩個組成部分:類型和var-name。這類型聲明數組的元素類型。元素類型決定組成數組的每個元素的數據類型。這var-name聲明數組變量的名稱。與 int 類型的數組一樣,我們也可以創建其他基本數據類型的數組,如 char、float、double…等。

例子:

// both are valid declarations
int intArray[]
or int[] intArray

byte byteArray[]
short shortArray[]
boolean booleanArray[]
float floatArray[]
double doubleArray[]
char charArray[]

// An array of references to object of
// the class MyClass (a class created by 
// user)
MyClass myClassArray[];

// Array of object
Object[] arrayObject,

// Array of collection of unknown type
Collection[] collectionObject

Instantiating an Array in Java

聲明數組時,僅創建一個引用。要實際創建數組或為其提供內存,我們可以像這樣創建一個數組:

var-name = new type[size];

這裏,類型指定分配的數據類型,尺寸e 指定數組中元素的數量,並且var-name是數組變量的名稱。

例子:

// Declaring an array
int intArray[]

// Allocating memory to array
int Array = new int[10];

OR

// Combining both statements in one
int[] intArray = new int[10];

Accessing Java Array Elements using for Loop

數組中的每個元素都可以通過其索引來訪問。索引從 0 開始,到(數組大小)- 1 結束。數組的所有元素都可以使用 Java for Loop 訪問。

// Accessing the elements of the specified array
for(int i = 0; i < arr.length; i++)
   System.out.println("Element at index" + i + ": " + arr[i]);

例子:

Java


// Java program to illustrate creating an array
// of integers, put some values in the array,
// and prints each value to standard output
class GFG {
    public static void main(String args[])
    {
        // Declaring an Array of integers
        int[] arr;
        // Allocating memory for 5 integers
        arr = new int[5];
        // Initialize the first element of the array
        arr[0] = 10;
        // Initialize the second element of the array
        arr[1] = 20;
        // So on...
        arr[2] = 30;
        arr[3] = 40;
        arr[4] = 50;
        // Accessing the elements of the specified array
        for (int i = 0; i < arr.length; i++)
            System.out.println("Element at index " + i
                               + " : " + arr[i]);
    }
}
輸出
Element at index 0 : 10
Element at index 1 : 20
Element at index 2 : 30
Element at index 3 : 40
Element at index 4 : 50

String

在 Java 中,字符串本質上被視為表示字符序列的對象,但它不是原始類型。在Java中,提供了String類來創建和操作字符串。在String類中,提供了許多方法來對字符串執行不同的操作。由於數組是可變的(數組元素可以更改),因此 Java 中的字符串是不可變的。每當對字符串進行更改時,就會創建一個全新的字符串。

下麵是在 Java 編程語言中創建字符串的基本語法。

句法:

<String_Type> <string_variable> = 
"<sequence_of_string>";

OR

<String_Type> <string_variable> = 
<new> <String_Type>("<sequence_of_string>");

每當創建一個 String 對象時,就會創建兩個對象,一個在堆區,一個在 String 常量池,並且 String 對象引用始終指向堆區對象。

例子:

Java


// Java program to illustrate String
class GFG {
    public static void main(String args[])
    {
        // Creating a String without using new operator
        String str = "GeeksForGeeks";
        // Prints the String
        System.out.println("String str = " + str);
        // Creating a String using new operator
        String str1 = new String("GeeksForGeeks");
        // Prints the String
        System.out.println("String str1 = " + str1);
    }
}
輸出
String str = GeeksForGeeks
String str1 = GeeksForGeeks

數組和字符串的區別:

S.NO.

Array

String

01. 數組是一種存儲相同數據類型的元素集合的數據結構。 字符串本質上被視為表示字符序列的對象。數組
02. 數組可以保存任何數據類型。 但是,String 隻能保存 char 數據類型。
03. 數組的元素存儲在連續的內存位置中。 字符串類包含指向堆內存某些部分的指針,其中字符串的實際內容存儲在內存中。
04. Java數組不以空字符結束,數組的結束元素是數組的最後一個元素。 但默認情況下,Java 中的 String 以 null (‘\0’) 字符結尾。
05. 數組是可變的。 字符串是不可變的。
06. 數組的長度是固定的。 字符串的大小不固定。


相關用法


注:本文由純淨天空篩選整理自Satyabrata_Jena大神的英文原創作品 Difference between Array and String in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。