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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。