获取 Java 中字符串的第一个字符

Mohammad Irfan 2023年1月30日 2021年10月2日
  1. 在 Java 中使用 charAt() 方法获取第一个字符
  2. 在 Java 中使用 charAt() 方法无异常地获取第一个字符
  3. 在 Java 中使用字符串 substring() 方法获取第一个字符
  4. 在 Java 中使用 substring() 方法获取第一个字符
  5. 在 Java 中使用 toCharArray() 方法获取第一个字符
  6. 总结
获取 Java 中字符串的第一个字符

本教程介绍如何在 Java 中获取字符串的第一个字符。我们还列出了一些示例代码以帮助你理解该主题。

在 Java 中,字符串只是字符的集合或序列。字符串可以用于各种目的,我们可能需要访问它们不同的字符来操作它们。

例如,如果我们有一个名字的字符串数组,并且我们想确保每个名字的第一个字符都是大写的,我们需要访问每个字符串的第一个字符。

让我们学习从字符串中获取第一个字符的不同方法。

在 Java 中使用 charAt() 方法获取第一个字符

charAt() 方法将整数索引值作为参数并返回该索引处的字符。String 类方法及其返回类型是一个 char 值。

下面的程序显示了如何使用此方法获取字符串的第一个字符。我们知道字符串遵循从零开始的索引,第一个字符总是出现在索引 0 处。请参见下面的示例。

public class Main
{
    public static void main(String[] args)
    {
        String s = "demo";
        char firstCharacter = s.charAt(0);
        System.out.println("The String is: " + s);
        System.out.println("The first character of the String is: " + firstCharacter);
    }
}

输出:

The String is: demo
The first character of the String is: d

请注意,charAt() 方法会在以下条件下抛出 IndexOutOfBoundsException:如果索引参数大于或等于字符串的长度,或者它是负数。如果我们尝试获取空字符串的第一个字符,也会抛出此异常。

由于字符串为空,以下代码将引发此错误。

public class Main
{
    public static void main(String[] args)
    {
        String s = "";
        char firstCharacter = s.charAt(0);
        System.out.println("The first character of the String is: " + firstCharacter);
    }
}

输出:

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 0
	at java.base/java.lang.StringLatin1.charAt(StringLatin1.java:48)
	at java.base/java.lang.String.charAt(String.java:712)
	at Main.main(Main.java:6)

在 Java 中使用 charAt() 方法无异常地获取第一个字符

让我们编写一个方法来使用 charAt() 方法打印字符串的第一个字符。此过程还将检查字符串是否为空以避免 IndexOutOfBoundsException

public class Main
{ 
    public static Character getFirstCharacter(String s)
    {
        if(s == null || s.length() == 0)
            return null;
        else
            return (Character) s.charAt(0);
    }
    public static void main(String[] args)
    {
        String s = "demonstration";
        System.out.println("The string is: " + s);
        System.out.print("The first character of string is: " + getFirstCharacter(s));
    }
}

输出:

The string is: demonstration
The first character of string is: d

在 Java 中使用字符串 substring() 方法获取第一个字符

字符串 substring() 方法可用于从另一个字符串中提取子字符串。方法签名如下所示;它有一个重载版本。

public String substring(int startIdx)
public String substring(int startIdx, int endIdx)

如果我们只传递起始索引,它将获取一个从 startIdx 开始的子字符串,并包含所有剩余的字符。如果我们传递 endIdx,它将获取从 startIdx 开始到 endIdx(不包括范围)结束的子字符串。

请参考下面的示例。

public class Main
{ 
    public static void main(String[] args)
    {
        String s = "demonstration";	
        System.out.println("The string is: " + s);
        System.out.println("Substring starting from index 3: " + s.substring(3));
        System.out.println("Substring starting from index 2 and ending at index 5: " + s.substring(2, 5));
    }
}

输出:

The string is: demonstration
Substring starting from index 3: onstration
Substring starting from index 2 and ending at index 5: mon

在 Java 中使用 substring() 方法获取第一个字符

我们可以将起始索引设为 0,将结束索引设为 1 以获取字符串的第一个字符。请注意,此方法的返回类型是 String,因此即使是单个字符也会作为 String 返回。如果字符串为空,它将抛出 StringIndexOutOfBoundsException。我们需要在使用 substring() 方法之前检查这种情况。

public class Main
{ 
    public static String getFirstCharacter(String s)
    {
        if(s == null || s.length() == 0)
            return null;
        else
            return s.substring(0, 1);
    }
    public static void main(String[] args)
    {
        String s = "demonstration";
        System.out.println("The string is: " + s);
        System.out.print("The first character of string is: " + getFirstCharacter(s));
    }
}

输出:

The string is: demonstration
The first character of string is: d

在 Java 中使用 toCharArray() 方法获取第一个字符

我们知道我们可以通过使用它们的索引值来访问数组的元素。如果我们可以将字符串转换为 char 数据类型的数组,我们就可以使用其索引轻松获取任何元素。

我们可以通过索引 0 获取第一个字符。我们将使用 toCharArray() 方法将字符串转换为字符数组。

下面显示了使用 toCharArray() 获取数组第一个字符的示例。

public class Main
{ 
    public static Character getFirstCharacter(String s)
    {
        if(s == null || s.length() == 0)
            return null;
        else
        {
            char[] charArr = s.toCharArray();
            return charArr[0];
        }
    }
    public static void main(String[] args)
    {
        String s = "demonstration";
        System.out.println("The string is: " + s);
        System.out.print("The first character of string is: " + getFirstCharacter(s));
    }
}

输出:

The string is: demonstration
The first character of string is: d

总结

在这里,我们学习了如何访问字符串的第一个字符。我们可以使用 charAt() 方法并将索引参数作为 0 传递来获取字符串的第一个字符。

我们还可以使用 substring() 方法,开始索引为 0,结束索引为 1 来获取第一个字符作为子字符串。也可以先使用 toCharArray() 方法将字符串转换为字符数组,然后使用数组索引获取第一个字符。

相关文章 - Java String