JavaSE学习笔记(四):String类

String类

String类提供程序中指定字符串的一系列方法,是不可修改字符序列(即无法执行对字符串本身的修改),下面对字符串的定义及常用方法进行解释。
1、字符串的定义
字符串定义格式:
String 字符串名称=“字符串内容”;
String 字符串名称=new String(“字符串内容”);

//例:
String str="我爱JAVA";
String str=new String("我爱JAVA");

2、获取字符串长度
方法:int length(),返回一个正整数

//例:
String str="abcdefg";
System.out.println(str.length());
//输出:7

3、获取指定索引位置字符
(1) 获取指定字符(返回char型数据):
char charAt(int index);//获取索引位置字符串
(2) 获取字符串位置(都返回int型数据):
int indexOf(String str);//获取第一次出现的索引
int indexOf(String str,int formIndex);//从指定位置往后查
int lastIndexOf(String str);//获取最后一次出现的位置
int lastIndexOf(String str,int formIndex);//从指定位置往前查

//例:
String str="abcdefgabc";
//获取字符串的第一个字符
System.out.println(str.charAt(0));
//获取第一次出现的索引位置
System.out.println(str.indexOf("abc"));
//获取第一次出现的索引位置,从指定位置往后查
System.out.println(str.indexOf("abc",4));
//获取最后一次出现的索引位置
System.out.println(str.lastIndexOf("abc"));
//获取最后一次出现的索引位置,从指定位置往前查
System.out.println(str.lastIndexOf("abc",6));
//分别输出:a|0|7|7|0

4、截取字符串
下列方法返回值都为字符串类型(String类型):
(1) 指定开始位置截取字符串
String substring(int beginIndex);//beginIndex为开始位置
(1) 指定开始的位置和结束的位置截取字符串
String substring(int beginIndex,int endIndex);//beginIndex为开始位置,endIndex为结束位置

//例:
String str="abcdefg";
//指定开始位置截取字符串
System.out.println(str.substring(3));
//指定开始的位置和结束的位置截取字符串
System.out.println(str.substring(1,4));
//分别输出:defg|bcd

5、拼接字符串
使用‘+’运算符可实现多个字符串的拼接

//例:
String str="abc"+"123";   
System.out.println(str);
//输出:abc123

6、判断字符串的开始与结尾
(1) 判断字符串结尾内容(返回一个布尔型数据):
boolean endsWith(String suffix);// suffix为要对比的字符串
(2) 判断字符串句首内容(返回一个布尔型数据):
boolean startsWith(stirng prefix);//prefix为要对比的字符串

//例:
String str="123abc123";   
//如果传入的字符串123是字符串a的结尾内容,则返回true,否则返回false
System.out.println(str.endsWith("123"));
System.out.println(str.endsWith("1234"));
//如果传入的字符串123是字符串a的开头内容,则返回true,否则返回false
System.out.println(str.startsWith("123"));
System.out.println(str.startsWith("1234"));
//输出:true|false|true|false

7、判断字符串是否相等
Java中规定不能直接使用"=="号进行字符串内容的比较,应使用如下方法
(1) 字符串不忽略大小写的比较(返回一个布尔型数据):
boolean equals(String antherString);
(2) 字符串忽略大小写的比较(返回一个布尔型数据):
boolean equalsIgnoreCase(String anotherString);

//例:
String str="abc";   
//如果字符串相等(不忽略大小写),则返回true,否则返回false
System.out.println(str.equals("abc"));
System.out.println(str.equals("Abc"));
//如果字符串相等(忽略大小写),则返回true,否则返回false
System.out.println(str.equalsIgnoreCase("abc"));
System.out.println(str.equalsIgnoreCase("Abc"));
//输出:true|false|true|true

8、字符串替换
下列方法返回值都为字符串类型(String类型):
(1) 方法一:
String repalce(Strinh target,String replacement);
//target为旧字符序列,repalcement为替换后的新字符序列
(2) 方法二:
String relpaceAll(String regex, String replacement);
//regex表示一种格式,将String中符合regex所给格式的字符串替换成replacement
(3) 方法三:
String replaceFirst(String regex, String replacement);
//将String中符合regex所给格式的第一个字符替换成replacement

//例:
String str="www.baidu.com";   
//字符串替换
System.out.println(str.replace(".","#"));
System.out.println(str.replaceAll(".","#"));
System.out.println(str.replaceFirst(".","#"));
//输出:www#baidu#com|#############|#ww.baidu.com

9、字符串分割
下列方法返回值都为字符串类型(String类型)的数组:
(1) 字符串分割:
String[] split(String regex);//regex用于规定分割符号
(2) 限制分割次数:
String[] split(String regex,int limit);
//regex用于规定分割符号,limit为分割次数

//例:
String str="abc.def.123";   
//字符串分割
String[] strArray=str.split("\\.");
for(String s:strArray) {
	System.out.print(s+" ");
}
//限制字符串分割次数
String[] strArray1=str.split("\\.",2);
for(String s:strArray1) {
	System.out.print(s+" ");
}
//输出:abc def 123|abc def.123 

10、字符串大小写转换
下列方法返回值都为字符串类型(String类型):
(1) 字符串内字符全部变成大写:
String toUpperCase();
(2) 字符串内字符全部变成小写:
String toLowerCase();

//例:
String str="abc DEF";
//字符串内字符全部变成大写
System.out.println(str.toUpperCase());
//字符串内字符全部变成小写
System.out.println(str.toLowerCase());
//输出:ABC DEF|abc def

11、格式化字符串
String.format(String format,Object…args);

//例:
Date date = new Date();  
//格式化字符串
String str=String.format("%tF",date);
System.out.println(str);
//输出:2020-04-15

12、去除空白内容
下列方法返回值都为字符串类型(String类型):
(1) 去除首位空白内容:
String trim();
(2) 去除字符串中所有空白内容
使用上文中的replaceAll方法
String replaceAll("\s","");// \ s正则表达式代表空白内容 ‘’”为空内容字符串

//例:
String str="  abc";
String str1=" abc 1   2  3";
System.out.println(str);
System.out.println(str.trim());
System.out.println(str1);
System.out.println(str1.replaceAll("\\s",""));
//输出:  abc|abc| abc 1   2  3|abc123
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值