Java 字符串常用方法

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)

访问第一个和最后一个字符

让我们看一个简单的例子,我们从提供的字符串中访问第一个和最后一个字符。

文件名: 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

打印出现在奇数位置的字符

让我们看一个例子,我们正在访问奇数索引处的所有元素。

文件名: 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

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