Java字符串处理:String.charAt 用法解析

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

很多朋友在开发的时候,经常会获取字符串中的某一个字符或者某一部分字符,获取某一部分用 String.substring,在我的上一篇博客中已经详细介绍了,有兴趣的朋友可以去看看。

参考链接:Java字符串处理:substring、indexOf用法

本文主要介绍获取字符串中的某一个字符:String.charAt 用法。


一、获取某个字符:charAt 用法解析

解释:String.charAt( int index) 方法返回指定索引处 index 的 char 值。
索引范围是从0到length() - 1。
其中,序列的第一个char值是在索引为0,第二个字符的索引为1,依此类推

String.charAt( int index) 源代码示例:

public char charAt(int index) {
    
    
     if ((index < 0) || (index >= value.length)) {
    
    
          throw new StringIndexOutOfBoundsException(index);
      }
      return value[index];
 }

在这里插入图片描述

从源代码中可以看出,如果 index 参数为负或大于等于字符串的长度,都会抛出 StringIndexOutOfBoundsException 。

因此在使用String.charAt( int index) 的时候,要注意 index 值的设定,防止索引越界

二、charAt 使用实例

String str = "This is CSDN";
        
// prints character at 1st location
System.out.println(str.charAt(0));
     
// prints character at ths last location
System.out.println(str.charAt(str.length()-1));
     
// prints character at 18th location 
System.out.println(str.charAt(-1)); //不正确的index值,会报错

//输出结果
T
N
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
	at java.base/java.lang.StringLatin1.charAt(StringLatin1.java:48)
	at java.base/java.lang.String.charAt(String.java:1515)

三、indexOf 和 charAt 用法比较

int indexOf(int ch)
返回指定字符在此字符串中第一次出现处的索引。
注意:这里的ch值,其实是字符的Unicode编码,如97代表'a'65代表'A',以此类推

int indexOf(int ch, int fromIndex)
返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。

int indexOf(String str)
返回指定子字符串在此字符串中第一次出现处的索引。

int indexOf(String str, int fromIndex)
返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。
通过JDK可以看出来,indexOf的参数是你要找的字符,而返回值是该字符第一次出现的索引

char charAt(int index)
返回指定索引处的 char 值。charAt方法,参数是指定的索引,返回的是该索引处的char值。把String转化成数组,显然要用的是toCharArray方法和charAt方法

本文部分内容参考自java中charAt()方法的使用
Java学习笔记23:Java中charAt()方法的使用


总结

本文主要介绍 charAt 的用法并进行实际代码输出结果的演示,还拓展了 indexOf 和 charAt 用法比较,介绍的还是非常详细的。

希望对大家有用!

猜你喜欢

转载自blog.csdn.net/qq_46119575/article/details/129650217
今日推荐