数组是存储在连续内存位置中的相似类型元素的集合。数组可以包含类的基元(int,char等)以及对象(非基元)的引用,具体取决于数组的定义。在原始数据类型的情况下,实际值存储在连续的内存位置中,而在类对象的情况下,实际对象存储在堆段中。在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
用Java实例化数组
声明数组时,仅创建引用。要实际创建数组或为数组提供内存,我们可以创建如下数组:
var-name = new type[size];
在这里, type指定要分配的数据的类型, siz e指定数组中元素的数量,而var-name是数组变量的名称。
例子:
// Declaring an array
int intArray[]
// Allocating memory to array
int Array = new int[10];
或者
// Combining both statements in one
int[] intArray = new int[10];
使用for循环访问Java数组元素
数组中的每个元素都可以通过其索引进行访问。索引以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]);
}
}
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);
}
}
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
字串:
在Java,字符串基本上被视为代表字符序列的对象,但它不是原始类型。在Java,提供了String类来创建和操作字符串。在String类中,提供了许多方法来对字符串执行不同的操作。由于数组是可变的(可以增长),因此在Java字符串是不可变的。每当更改字符串时,都会创建一个全新的字符串。
下面是使用Java编程语言创建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. | An array is a data structure that stores a collection of elements of the same data type. | A string is basically treated as an object which represents a sequence of characters. An array |
02. | Array can hold any of the data types. | But, the String can hold only a char data type. |
03. | The elements of the array are stored in a contiguous memory location. | A string class contains a pointer to some part of the heap memory where the actual contents of the string are stored in memory. |
04. | Java array not ended with a null character, the end element of the array is the last element of the array. | But by default String is ended with null (‘\0’) character in Java. |
05. | Arrays are mutable. | Strings are immutable. |
06. | The length of the array is fixed. | The size of the string is not fixed. |