为什么不从第一章开始记录?
因为,博主最近在刷“蓝桥杯”的算法题,题目中遇到了许多和字符串相关的题目。
比如:要求程序对用户输入的串进行处理。具体规则如下:
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类的使用。