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. | 數組的長度是固定的。 | 字符串的大小不固定。 |
相關用法
- Java ArrayList add()用法及代碼示例
- Java ArrayList addAll()用法及代碼示例
- Java ArrayList clear()用法及代碼示例
- Java ArrayList clone()用法及代碼示例
- Java ArrayList contains()用法及代碼示例
- Java ArrayList get()用法及代碼示例
- Java ArrayList indexOf()用法及代碼示例
- Java ArrayList removeAll()用法及代碼示例
- Java ArrayList remove()用法及代碼示例
- Java ArrayList size()用法及代碼示例
- Java ArrayList isEmpty()用法及代碼示例
- Java ArrayList subList()用法及代碼示例
- Java ArrayList set()用法及代碼示例
- Java ArrayList sort()用法及代碼示例
- Java ArrayList toArray()用法及代碼示例
- Java ArrayList toString()用法及代碼示例
- Java ArrayList ensureCapacity()用法及代碼示例
- Java ArrayList lastIndexOf()用法及代碼示例
- Java ArrayList retainAll()用法及代碼示例
- Java ArrayList containsAll()用法及代碼示例
- Java ArrayList trimToSize()用法及代碼示例
- Java ArrayList removeRange()用法及代碼示例
- Java ArrayList replaceAll()用法及代碼示例
- Java ArrayList removeIf()用法及代碼示例
- Java ArrayList forEach()用法及代碼示例
注:本文由純淨天空篩選整理自Satyabrata_Jena大神的英文原創作品 Difference between Array and String in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。