数组是存储在连续内存位置的相似类型元素的集合。根据数组的定义,数组可以包含类的基元(int、char 等)以及对象(非基元)引用。在原始数据类型的情况下,实际值存储在连续的内存位置,而在类对象的情况下,实际对象存储在堆段中。在Java,所有数组都是动态分配的。数组的大小必须由 int 值指定,而不是 long 或 short。数组索引从 0 开始,一直到 n-1,其中 n 是数组的长度。
数组声明语法:
type var-name[]'
OR
type[] var-name;
数组声明有两个组成部分:类型和变量名。 type声明数组的元素类型。元素类型决定了组成数组的每个元素的数据类型。 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指定被分配的数据类型, size 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 开始,到 (array size) – 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是不可变的。每当对 String 进行更改时,都会创建一个全新的 String。
下面是在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. |
如果您希望与专家一起参加现场课程,请参阅DSA 现场工作专业课程和学生竞争性编程现场课程。