第五章 Java中的String类和StringBuffer(上)

本文探讨了Java中处理字符串的基础,包括String类的初始化方式:直接使用字符串常量或通过构造方法,以及常见的字符串操作,如长度、查找、转换、截取和分割。博主以解决算法题中的字符串处理问题为例,介绍了学习这部分知识的背景。下篇将介绍StringBuffer类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  为什么不从第一章开始记录?

    因为,博主最近在刷“蓝桥杯”的算法题,题目中遇到了许多和字符串相关的题目。

比如:要求程序对用户输入的串进行处理。具体规则如下:

      1.  把每个单词的首字母变为大写。

      2.  把数字与字母之间用下划线字符(_)分开,使得更清晰

      3.  把单词中间有多个空格的调整为1个空格。

例如:

      用户输入:you and     me what cpp2005program

      则程序输出:You And Me WhatCpp_2005_program

   于是,此篇将记录java中字符串的使用方法以及java中常用类使用。

   5.1  String类

          何谓字符串?其就是一连串的字符(char),它由许多单个字符连接而成。字符串中可以包含任意字符。Java中定义了String和StringBuffer两个类来封装字符串,并提供了一系列操作字符串的方法。它们都位于java.lang包中,因此不需要导包就可以直接使用。

     5.1.1 String类的初始化

          1.使用字符串常量直接初始化一个String对象

                  String 变量名 = 字符串

String str1=null;  //初始化为空
String str2="";   //初始化为空串
String str3="HelloWorld";  //其中HelloWorld为串str3的内容

          2.使用String的构造方法初始化字符串对象

                  String 变量名 =new String(字符串);

String str1=new String(); //创建一个空的字符串
String str2=new String("NiHao"); //创建一个内容为NiHao的字符串
char [] charArray =new char[] {'A','B','C'};
String str3=new String(charArray);  //创一个内容为字符数组的字符串

          3.String类的常见操作

                 3.1 字符串的基本操作

    String str1=new String("abcdefghijklmncdslasdlasdj");
	System.out.println("字符串的长度:"+str1.length());
	System.out.println("字符串中第一个字符:"+str1.charAt(0));
	System.out.println("字符c的第一次位置:"+str1.indexOf('c'));
	System.out.println("字符c最后一次出现的位置:"+str1.lastIndexOf('c'));
	System.out.println("子字符串第一次出现的位置:"+str1.indexOf("cd"));
	System.out.println("自字符串最后一次出现的位置:"+str1.lastIndexOf("cd"));

                3.2 字符串的转换操作     

String str1=new String("abcdefghijklmncdslasdlasdj");
	char [] array=str1.toCharArray(); //将字符串转化为字符串数组
	//for each遍历array数组
	for(char x:array)
	{
		System.out.print(x+" ");
	}
	//将int类型的值转换为String类型
	int num=666;
	String str2=String.valueOf(num);
	//将字符串转换成大写
	String str3=str1.toUpperCase();
	//将字符串转换成小写
	String str4=str1.toLowerCase();

                3.3 字符串判断操作                 

//以下例子涉及的方法返回值都是boolean类型
	  String str1=new String("abcdefghijklmncdslasdlasdj");
	  //判断字符串是否已字符ab开头
      str1.startsWith("ab");
      //判断字符串是否已dj结尾
      str1.endsWith("dj");
      //判断字符串是否包含字符串mncd
      str1.contains("mncd");
      //判断字符串是否为空串
      str1.isEmpty();
      //判断两个字符串是否相等
      String str2="HelloWorld";
      String str3="HelloWorld";
      str2.equals(str3);

                3.4 字符串截取和分割       

      String date="2019-11-15";
	  //从第六个字符截取到末尾的结果
	  System.out.println(date.substring(5));
	  //截取第六个字符到第七个字符的内容
	  System.out.println(date.substring(5,7));
      String []strArray=date.split("-");
	  for(String  x:strArray)
	  {
		  System.out.println(x);
	  }

小结

           本篇主要介绍了String类的常用操作,如:访问字符串的长度(length),某个字符(串)出现的第一次位置t及最后一次出现的位置,字符串转换大小写和for each快速遍历字符串值,判断字符串开头,结尾是否为该字符(串)操作以及字符串的截取(subString)和分割(split)。

预告

           下篇将介绍StringBuffer类的使用。

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值