在 Java 中我们如何获取字符串的最后几个字符?
简介
在这篇文章中,我们将学习Java编程中的字符串(String)以及如何通过示例程序获取字符串的最后一个字符。
什么是 Java 中的字符串?
在 Java 编程语言中,字符串用于表示字符序列。String 类用于在 Java 中创建字符串。
字符串是一个对象,它代表一系列字符值。Java 平台提供了 String 类来创建字符串。
Java 提供了各种方法来对字符串执行不同的操作,例如 Strings.length()
、String.charAt()
、String.toCharArray()
等。字符数组的工作方式与 Java 字符串类似。
让我们来看下面的一个例子。
public class ExampleStringasCharArray {
public static void main(String args[]) {
char[] c = {'c', 's', 'h', 'a', 'r', 'p', 'c', 'o', 'r', 'n', 'e', 'r'};
String s = new String(c);
System.out.println(s);
}
}
上述代码会将字符串打印为输出,生成如下输出:
Java 中的字符串
public class ExampleString {
public static void main(String args[]) {
String s1 = "CsharpCorner";
String s2 = "CsharpCorner Live";
System.out.println("First String : " + s1);
System.out.println("Second String : " + s2);
}
}
上述代码会将字符串打印为输出,生成如下输出:
如何在 Java 中创建字符串对象?
在 Java 中,有两种方式可以创建字符串对象:
- 字符串字面量
- 通过
new
关键字
字符串字面量
字符串字面量是通过双引号(“”)在 Java 编程中创建的。下面是字符串字面量的示例程序。
public class LiteralStringExample {
public static void main(String args[]) {
String s = "Csharp Corner";
System.out.println("String Literal : " + s);
}
}
上述程序生成如下输出:
解释
在上述例子中,每次我们创建字符串字面量时,JVM首先检查字符串常量池。如果该字符串已经在池中存在,则返回池中的引用。如果字符串不在池中,则创建一个新的字符串实例并放入池中。
字符串实例的代码示例
public class StringInstanceExample {
public static void main(String args[]) {
String s = "Csharp Corner";
String s1 = "Csharp Corner";
System.out.println("String Literal : " + s);
System.out.println("String Literal instance : " + s1);
}
}
上述代码生成如下输出:
解释
在上述示例中,只会创建一个对象。首先,JVM 检查字符串常量池,没有找到值为“Csharp Corner”的字符串对象,因此它会创建一个新对象。之后它发现池中已经存在“Csharp Corner”的字符串,因此不会创建新对象,而是返回相同对象的引用。
让我们通过下图来理解:
字符串对象存储在一个特殊的内存区域中,这个区域叫做字符串常量池。Java 使用字符串字面量的概念使得内存更加高效。
通过 new
关键字
在下面的示例中,JVM 会在堆内存中创建一个新的字符串对象,而字面量“Csharp”将位于字符串常量池中。变量 s1
将引用堆内存中的对象。下面是通过 new
关键字创建字符串的示例程序。
public class NewKeywordString {
public static void main(String args[]) {
//通过Java字符串字面量创建字符串
String str1 = "Csharp";
char a[] = {'W', 'e', 'l', 'c', 'o', 'm', 'e'};
//将字符数组转换为字符串
String str2 = new String(a);
//通过new关键字创建字符串
String str3 = new String("Csharp Corner");
System.out.println(str1);
System.out.println(str2);
System.out.println(str3);
}
}
上述程序生成如下输出:
解释
在上述例子中,我们通过Java字符串字面量和new
关键字创建了字符串。
如何获取 Java 字符串的最后一个字符?
接下来,我们将学习如何在 Java 编程中获取字符串的最后一个字符。Java 提供了多种方式来获取字符串的最后一个字符:
通过 charAt()
方法
如果我们想要获取字符串的最后一个字符,可以通过调用 String.charAt(length-1)
方法来实现。例如,若我们有一个字符串 str="CsharpCorner"
,那么我们可以通过 str.charAt(11)
来获取字符串的最后一个字符。该方法将打印出字母“r”作为输出。下面是使用 charAt()
方法的示例程序。
public class CharAtExample {
public static void main(String arg[]) {
String str = new String("Csharpcorner");
System.out.println("Last character of the String : " + str.charAt(str.length()-1));
}
}
解释
在上述代码示例中,首先我们创建了一个名为 str
的字符串对象,并存储字符串值为“CsharpCorner”。当我们打印字符串的最后一个字符时,使用了 charAt()
方法,该值为 length-1
,因为字符串的索引是从 0 开始的。
如果 charAt()
方法的索引参数为负值或大于字符串的长度,则该方法会抛出“ArrayIndexOutOfBoundsException
”异常。下面是该异常的代码示例:
public class ExceptionCharAtExample {
public static void main(String args[]) {
String str = "C#Corner";
char[] chrs = str.toCharArray();
char firstChar = chrs[0];
System.out.println("First letter : " + firstChar);
//异常示例
char exception = chrs[-1];
System.out.println("First letter : " + exception);
System.out.println("First letter : " + firstChar);
}
}
解释
在上述示例程序中,我们创建了一个名为“str”的字符串,然后通过索引0打印了字符串的第一个字母。接着,我们使用索引“-1”导致抛出异常。上述程序生成的输出如下:
获取字符串最后一个字符的另一示例程序
public class LastCharacterExample {
public static void main(String args[]) {
String str = new String("CsharpCorner");
System.out.println("Last character of the String : " + str.charAt(str.length()-1));
}
}
上述程序生成的输出如下:
解释
在上述示例程序中,我们首先创建了一个名为“Welcome”的字符串对象。接着,我们计算了字符串的长度并将该值存储在一个名为“n”的int变量中。最后,我们打印了“n-1”位置的字符作为输出,找到了字符串的最后一个字符“e”。
总结
在这篇文章中,我们学习了 Java 编程中的 String 类,了解了如何创建字符串以及如何通过不同的示例程序获取字符串的最后一个字符。
若你想提升Java技能,可关注我们的Java培训课程。