Java 字符串charAt()
方法返回 给定索引处的 char 值。索引号从0开始一直到n-1,其中n是字符串的长度。
如果给定的索引号大于或等于此字符串长度或负数,则返回 StringIndexOutOfBoundsException 异常。
语法
public char charAt(int index)
参数
index:指定的索引位置index。
返回值
返回index处的字符。
接口
CharSequence 接口,位于 java.lang 包内。
内部实现
public char charAt(int index) {
if ((index < 0) || (index >= value.length)) {
throw new StringIndexOutOfBoundsException(index);
}
return value[index];
}
方法示例
下面介绍一些例子,了解Java charAt() 方法 的使用。
简单示例
文件名: CharAtExample.java
public class CharAtExample{
public static void main(String args[]){
String name="yxjc123";
char ch=name.charAt(4);//返回第4个索引处的char值
System.out.println(ch);
}
}
输出:
1
看一个异常的例子,我们传递了一个更大的索引值。在这种情况下,它会在运行时抛出 StringIndexOutOfBoundsException
。
文件名: CharAtExample.java
public class CharAtExample{
public static void main(String args[]){
String name="yxjc123";
char ch=name.charAt(10);//返回第10个索引处的char值
System.out.println(ch);
}
}
输出:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException:
String index out of range: 10
at java.lang.String.charAt(String.java:658)
at CharAtExample.main(CharAtExample.java:4)
String index out of range: 10
at java.lang.String.charAt(String.java:658)
at CharAtExample.main(CharAtExample.java:4)
访问第一个和最后一个字符
让我们看一个简单的例子,我们从提供的字符串中访问第一个和最后一个字符。
文件名: CharAtExample3.java
public class CharAtExample3 {
public static void main(String[] args) {
String str = "Welcome to yxjc123 site";
int strLength = str.length();
// 获取第一个字符
System.out.println("Character at 0 index is: "+ str.charAt(0));
// 最后一个字符出现在字符串长度为 1 的索引处
System.out.println("Character at last index is: "+ str.charAt(strLength-1));
}
}
输出:
Character at 0 index is: W
Character at last index is: e
Character at last index is: e
打印出现在奇数位置的字符
让我们看一个例子,我们正在访问奇数索引处的所有元素。
文件名: CharAtExample4.java
public class CharAtExample4 {
public static void main(String[] args) {
String str = "Welcome to yxjc123 portal";
for (int i=0; i<=str.length()-1; i++) {
if(i%2!=0) {
System.out.println("Char at "+i+" place "+str.charAt(i));
}
}
}
}
输出:
Char at 1 place e
Char at 3 place c
Char at 5 place m
Char at 7 place
Char at 9 place o
Char at 11 place y
Char at 13 place j
Char at 15 place 1
Char at 17 place 3
Char at 19 place p
Char at 21 place r
Char at 23 place a
Char at 3 place c
Char at 5 place m
Char at 7 place
Char at 9 place o
Char at 11 place y
Char at 13 place j
Char at 15 place 1
Char at 17 place 3
Char at 19 place p
Char at 21 place r
Char at 23 place a
7位置表示空格。
统计字符串中字符出现的次数
让我们看一个例子,我们在给定字符串中计算一个字符的频率。
文件名: CharAtExample5.java
public class CharAtExample5 {
public static void main(String[] args) {
String str = "Welcome to yxjc123 portal";
int count = 0;
for (int i=0; i<=str.length()-1; i++) {
if(str.charAt(i) == 't') {
count++;
}
}
System.out.println("Frequency of t is: "+count);
}
}
输出:
Frequency of t is: 2
统计字符串中元音的个数
让我们看一个例子,我们在 charAt() 方法的帮助下计算字符串中元音的数量。
文件名: CharAtExample6.java
// 导入语句
import java.util.*;
public class CharAtExample6
{
ArrayList<Character> al;
// 用于创建和的构造函数
// 为 ArrayList al 赋值
CharAtExample6()
{
al = new ArrayList<Character>();
al.add('A'); al.add('E');
al.add('a'); al.add('e');
al.add('I'); al.add('O');
al.add('i'); al.add('o');
al.add('U'); al.add('u');
}
// 检查字符 c 是否为元音的方法
private boolean isVowel(char c)
{
for(int i = 0; i < al.size(); i++)
{
if(c == al.get(i))
{
return true;
}
}
return false;
}
// 一种计算String s中元音的方法
public int countVowels(String s)
{
int countVowel = 0; // 存储元音的总数
int size = s.length(); // 字符串大小
for(int j = 0; j < size; j++)
{
char c = s.charAt(j);
if(isVowel(c))
{
// 找到元音!
// 计数加 1
countVowel = countVowel + 1;
}
}
return countVowel;
}
// 主方法
public static void main(String argvs[])
{
// 创建 CharAtExample6 类的对象
CharAtExample6 obj = new CharAtExample6();
String str = "yxjc123 is a great site for learning Java.";
int noOfVowel = obj.countVowels(str);
System.out.println("String: " + str);
System.out.println("Total number of vowels in the string are: "+ noOfVowel + "\n");
str = "One apple in a day keeps doctor away.";
System.out.println("String: " + str);
noOfVowel = obj.countVowels(str);
System.out.println("Total number of vowels in the string are: "+ noOfVowel);
}
}
String: yxjc123 is a great site for learning Java.
Total number of vowels in the string are: 12
String: One apple in a day keeps doctor away.
Total number of vowels in the string are: 13
Total number of vowels in the string are: 12
String: One apple in a day keeps doctor away.
Total number of vowels in the string are: 13