Java 中的字符串数组
字符串和数组是两个不同的东西。数组是一种线性数据结构,用于存储具有相似数据类型的一组元素,但字符串是 Java 中用于存储一系列字符的类。这些字符实际上是字符串类型的对象。由于字符串是对象,所以我们可以说字符串数组是一组字符串类型的对象。
在本文中,我们将了解 Java 中的字符串数组并在其上执行一些操作。
字符串数组
字符串数组是数组和字符串的组合。因此,它具有数组和字符串的属性,例如:
它像数组一样以顺序方式存储数据。
创建数组后,我们无法更改其大小,即它是固定长度的。
值用双引号括起来。
Java 中的字符串是不可变的,因此字符串数组也是如此。这里,不可变意味着字符串数组的元素不能被修改。
语法
String[] nameOfarray; // declaration Or, String nameOfarray[]; // declaration Or, // declaration with size String nameOfarray[] = new String[sizeofarray]; // declaration and initialization String nameOfarray[] = {values within double quotes separated with comma};
我们可以在程序中使用上述任何语法。示例:
在此示例中,我们将声明三个数组“st1”、“st2”和“st3”。此外,我们将声明并初始化一个名为“st4”的数组。
String[] st1; // declaration String st2[]; // declaration String st3[] = new String[10]; // declaration with specified size // declaration and initialization String st4[] = { “values”, “within”, “double”, “quotes” };
我们可以在声明时进行初始化,也可以先声明,然后在程序中需要时用值进行初始化。但是,在声明时,变量将初始化为默认值,“null”是字符串数组的默认值。
示例 1
以下示例说明了如果我们不初始化字符串数组会发生什么。
public class Main { public static void main(String[] args) { String st1_arr[] = new String[3]; System.out.println("Elements of the given array: "); System.out.print( st1_arr[0] + " " + st1_arr[1] + " " + st1_arr[2] ); } }
输出
Elements of the given array: null null null
如前所述,我们可以看到“st1_arr”初始化为“null”值。此字符串数组的所有索引仅包含“null”。
让我们讨论一些我们可以在字符串数组上执行的操作
访问字符串数组的元素
我们可以使用迭代方法(如 for、for each 和 while 循环)遍历给定数组来访问所有元素。
这里我们将使用 for each 循环来访问字符串数组元素。
for each 循环的语法
for(Data_Type nameOfvariable : nameOfarray) { // your code will come here }
参数
数据类型 - 给定数组的原始数据类型。
变量名 - 将要重新分配数组值的变量。
数组名 - 给定数组的名称。
示例
public class Acces { public static void main(String[] args) { String st1_arr[] = {"Laptop", "Desktop", "Tablet", "Smartphone", "Smartwatch"}; System.out.println("Elements of the given array: "); for(String val : st1_arr){ System.out.print( val + " "); } } }
输出
Elements of the given array: Laptop Desktop Tablet Smartphone Smartwatch
在上面的代码中,字符串数组“st1_arr”的元素按顺序存储在变量“val”中,然后打印出来。
计算字符串数组中元素的数量
我们将创建一个字符串数组和一个计数器变量来存储元素的数量。使用 for 循环,我们将遍历元素,并在每次迭代后将计数器变量加 1。
示例
public class Count { public static void main(String[] args) { String st_arr[] = {"Tutorials", "point", "and", "Tutorix"}; int counter = 0; for(int i = 0; i < st_arr.length; i++) { counter++; } System.out.print("Number of elements in the given string array: " + counter); } }
输出
Number of elements in the given string array: 4
搜索特定元素
我们将搜索存储在变量“key”中的值。在 for 循环中,我们将遍历所有元素,并使用“equals()”方法检查给定的键是否在数组中可用。如果可用,则“isFound”变量加 1,并且 if 块将返回“key”的索引值。
示例
public class Srch { public static void main(String[] args) { String st_arr[] = {"Tutorials", "point", "and", "Tutorix"}; String key = "Tutorix"; int isFound = 0; int position = 0; for(int i = 0; i < st_arr.length; i++) { if(key.equals(st_arr[i])) { isFound = 1; position = i; } } if(isFound == 1) { System.out.print("Element is available at index: " + position); } else { System.out.print("Element is not available"); } } }
输出
Element is available at index: 3
结论
在本文中,我们学习了字符串数组,讨论了如何创建它们,以及在字符串数组上执行了一些操作,例如搜索、访问和计算元素的数量。