Logo

郎哥编程

获取字符串的长度或字符信息

2019-12-10 1058

字符串作为一个String对象,可以通过String类提供的方法来获取字符串的长度、指定索引位置或范围的字符或子串信息。

在字符串中,字符串长度是字符串包含的字符个数,索引是字符串序列中每个字符的位置序号,字符的位置序号从0开始,依次是1、2、3、……。

例如:

String  szTemp = “Hello World”

szTemp的字符串长度为11,空格也算一个字符。字符‘H’的索引是0,字符‘e’的索引是1、字符‘l’的索引是2、……、字符‘d’的索引是10。因为字符串的索引是从0开始,因此szTemp的最大索引值是字符串的长度减1。

获取字符串的长度

使用String类的length()方法可以获取字符串的长度,语法如下:

str.length();

其中str是已创建的String对象。

案例1:创建字符串对象,输出字符串对象的长度。

在PbaseUnit11项目unit包下创建StringLengthSample类。代码如下:

/** 
* @Title: StringLengthSample.java 
* @Package unit 
* @Description: Java基础知识课程案例   
* @author 编程训练营 
* @date  
* @version V1.0 
*/ 
 
package unit;
 
/** 
* @ClassName: StringLengthSample 
* @Description: 字符串(获取字符串的长度或字符信息)案例1
* @author 编程训练营 
* @date 
* 
*/
 
public class StringLengthSample {
 
    /** 
    * @Title: main 
    * @Description:Java程序入口main方法
    * @param @param args    参数 
   
    * @return void    返回类型 
    * @throws 
    */
 
    public static void main(String[] args) {
       // 创建String对象
       String szWelcome = "欢迎加入编程小组";
       // 创建String对象
       String szTemp = "Hello World";
        // 输出String对象的长度
       System.out.println("szWelcome的长度为:" + szWelcome.length());
       System.out.println("szTemp的长度为:" + szTemp.length());
    }
 
}

程序结构分析

代码创建了两个String对象,并分别输出这两个String对象的长度,获取String对象的长度使用了String对象的length()方法。

程序执行结果如下图所示:

image.png

获取指定索引位置的单个字符

String类提供了charAt()方法用于获取字符串内的单个字符。语法如下:

str.charAt(int index);

其中,str是已创建的String对象。index是待获取字符在字符串的位置索引。该方法返回单个字符,返回类型是char。

案例2:创建字符串对象,输出字符串对象索引为0、2和字符串最后位置的字符。

在PbaseUnit11项目unit包下创建StringCharSample类。代码如下:

/** 
* @Title: StringCharSample.java 
* @Package unit 
* @Description:Java基础知识课程案例 
* @author 编程训练营 
* @date  
* @version V1.0 
*/ 
 
package unit;
 
/** 
* @ClassName: StringCharSample 
* @Description: 字符串(获取字符串的长度或字符信息)案例2
* @author 编程训练营 
* @date  
* 
*/
 
public class StringCharSample {
 
    /** 
    * @Title: main 
    * @Description: Java程序入口main方法
    * @param @param args    参数 
   
    * @return void    返回类型 
    * @throws 
    */
 
    public static void main(String[] args) {
       // 创建String对象
       String szWelcome = "欢迎加入编程小组";
       // 获取索引为0的字符
       char chTemp1 = szWelcome.charAt(0);
       // 获取索引为2的字符
       char chTemp2 = szWelcome.charAt(2);
       // 获取字符串的最后一个字符
       char chTemp3 = szWelcome.charAt(szWelcome.length()-1);
       System.out.println("szWelcome的第1个字符为:" + chTemp1);
       System.out.println("szWelcome的第2个字符为:" + chTemp2);
       System.out.println("szWelcome的最后一个字符为:" + chTemp3);
    }
 
}

程序结构分析

代码通过String类的charAt()方法,分别获取了String对象szWelcome的第1个、第2个和最后一个字符,并输出到控制台。

程序执行结果如下图所示:

image.png

获取字符串的子串

串中任意个连续的字符组成的子序列称为该串的子串。

对于一个字符串对象“abcdefg”,它的子串就是像“bcd”这样可以找到的连续的字符串。字符串对象“abcdefg”最长的子串就是它本身。

String类提供了substring()方法来截取子串信息,substring()有两种类的重载方法(关于类方法的重载,后面课程会详细讲述)。

第1种方法语法如下:

str.substring(int beginIndex)

其中,str是已创建的String对象,beginIndex是要截取子串开始的索引位置。该方法从指定的索引位置开始截取直到该字符串结尾的子串。

第2种方法语法如下:

str.substring(int beginIndex, int endIndex)

其中,str是已创建的String对象,beginIndex是要截取子串开始的索引位置,endIndex是要截取子串结束位置的索引。该方法从指定的索引位置beginIndex开始截取至endIndex索引位置结束的子串。

案例3:创建字符串对象,分别使用substring()两种方法截取子串。

在PbaseUnit11项目unit包下创建StringSubSample类。代码如下:

/** 
* @Title: StringSubSample.java 
* @Package unit 
* @Description: Java基础知识课程案例
* @author 编程训练营 
* @date  
* @version V1.0 
*/ 
 
package unit;
 
/** 
* @ClassName: StringSubSample 
* @Description: 字符串(获取字符串的长度或字符信息)案例3 
* @author 编程训练营 
* @date  
* 
*/
 
public class StringSubSample {
 
    /** 
    * @Title: main 
    * @Description: Java程序入口main方法
    * @param @param args    参数 
   
    * @return void    返回类型 
    * @throws 
    */
 
    public static void main(String[] args) {
       // 创建String对象
       String szWelcome = "欢迎加入编程小组";
       // 从索引位置2开始截取至字符串末尾
       String szSubStr1 = szWelcome.substring(2);
       // 从索引位置2开始截取至索引位置6
       String szSubStr2 = szWelcome.substring(2,6);
       System.out.println("szSubStr1为:" + szSubStr1);
       System.out.println("szSubStr2为:" + szSubStr2);
 
    }
 
}

程序结构分析

代码分别使用substring的两种重载方法截取子串。

程序执行结果如下图所示:

image.png


代码在线纠错(通义千问 qwen-max)

支持粘贴多个代码文件,提交后由阿里云通义千问自动分析代码漏洞、语法错误、逻辑问题并给出修改建议。
您已解锁 AI 代码纠错功能,可正常使用!

评论区

登录 后发表评论
暂无评论