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

结论

在本文中,我们学习了字符串数组,讨论了如何创建它们,以及在字符串数组上执行了一些操作,例如搜索、访问和计算元素的数量。

更新于:2023 年 5 月 5 日

869 次查看

开启您的 职业生涯

通过完成课程获得认证

开始
广告