字符串
1、String 类
1.1 概述
一个String对象最多可以保存(2^32-1)个字节(占用4GB内存大小)的文本内容。
1.2 构造方法
char a[] = {'g','o','o','d'};
String s = new String(a);
2、连接字符串
2.1 连接多个字符串
2.2 连接其他数据类型
()内优先运算,运算符优先顺序
3、获取字符串信息
3.1 获取字符串长度 length()
String str = "We are student";
int size = str.length();//length()获取字符串长度
3.2字符串查找 indexOf() , lastindexOf()
String str = "We are student";
int size = str.indexOf("a");//indexOf()查找字符首次出现位置,本例size值为3
=============================================
String str = "We are student";
int size = str.lastindexOf("a");//lastindexOf()查找字符最后次出现位置
3.3 获取指定索引位置的字符 charAt()
String str = "We are student";
char mychar = str.charAt(6);//将字符串中索引位置是6的字符返回
4、字符串操作
4.1 获取子字符串 subtring()
String str = "Hello World";
String substr = str.subtring(3);//从某一索引处开始截取字符串,此例substr结果为lo World
=============================================
String str = "Hello World";
String substr = str.subtring(3,5);//开始和结束的索引位置,此例结果位Lo
4.2去除空格 trim()
String text = " Hello World ";
System.out.println("字符串原来的长度为"+text.length());//19
System.out.println("去除空格后字符串长度为"+text.trim().length());//13,只能去除首尾空格
4.3字符串替换 replace()
String str = "address";
String newstr = str.replace("a","A");//replace()替换字符或字符串并返回给newstr,大小写要求严格
4.4 判断字符串的开始和结尾 startsWith() , endsWith()
String num1 = "22020587";
String num2 = "22845287";
boolean b1 = num1.startsWith("22");
boolean b2 = num1.endsWith("87");
System.out.println(b1);//true
System.out.println(b2);//true
4.5判断字符串是否相等 equals() , equalslgnoreCase()
String s1 = ("abc");
String s2 =("ABC");
boolean d1 = s1.equals(s2);
boolean d2 = s1.equalsIgnoreCase(s2);
System.out.println(d1);//false,区分大小写
System.out.println(d2);//true,不区分大小写
4.6 按字典顺序比较两个字符串 compareTo()
String s11 = "b";
String s12 = "a";
String s13 = "d";
System.out.println(s11.compareTo(s12));//1,将s11和s12对比,a比b高1位,返回1
System.out.println(s11.compareTo(s13));//-2,将s11和s13对比,d比b小2位,返回-2
4.7字母大小写转换 toLowerCase() , to UpperCase()
String s21 = "hello world";
String s22 = "HELLO WORLD";
String b21 = s21.toUpperCase();//实行大写转换
String b22 = s22.toLowerCase();//实行小写转换
4.8字符串分割 split()
String s31 = "192.168.0.1";
String[] b31 = s31.split("\\.");//按照“.”进行分割,使用转义字符“\\”
String[] b32 = s31.split("\\.",2);//按照“.”进行分割两次
for (String a: b31){
System.out.print("["+a+"]");
}//[192][168][0][1]
System.out.println();
for (String a2:b32){
System.out.print("["+a2+"]");
}//[192][168.0.1]
5、格式化字符串
5.1 日期和时间字符串格式化
1.日期格式化
public static void main(String[] args) {
Date date = new Date();
String s = String.format("%te",date);
String m = String.format("%tB",date);
String y = String.format("%tY",date);
System.out.println("今年是"+y+"年");
System.out.println("本月是"+m);
System.out.println("今天是"+s+"号");//s==1,如果今天是15号,则s的值为15,“%te"是转换符。详情见转换符常见表
}

2.时间格式化
Date date = new Date();
String hour = String.format("%tH",date);
String minute = String.format("%tM",date);
String second = String.format("%tS",date);
System.out.println("现在是:"+hour+"时"+minute+"分"+second+"秒");

3.格式化常见的日期时间组合
Date date = new Date();
String time = String.format("%tc",date);
String form = String.format("%tF",date);
System.out.println("时间日期全部信息:"+time);
System.out.println("日期是:"+form);

5.2常规类型格式化
String s1 = String.format("%d",400/2);
String s2 = String.format("%b",3>5);
String s3 = String.format("%x",200);
System.out.println("400/2="+s1);
System.out.println("3>5:"+s2);
System.out.println("200转换成十六进制:"+s3);
6、 使用正则表达式
用来检测某一串字符串是否满足某一格式
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String numbers = sc.next();
if (numbers.length() == 4) {
boolean b = numbers.matches("(..)\\1");//判断输入的字符串是否满足ABAB格式,如果是ABABAB格式则为"(..)\\1\\1"
if (b) {
System.out.println(numbers + "ABAB");
} else {
System.out.println(numbers + "bushi ABAB");
}
} else {
System.out.println("不是四位数");
}
sc.close();
}
7、字符串生成器
1.append()
2.insert()
public static void main(String[] args) {
StringBuilder bf = new StringBuilder("hello");
bf.insert(5,"world");
System.out.println(bf.toString());
}
3.delete()
StringBuilder bd = new StringBuilder("StringBuilder");
bd.delete(5,10);
System.out.println(bd.toString());
本文详细介绍了Java中String类的使用,包括构造方法、连接字符串、获取字符串信息、字符串操作如子字符串、替换、判断等,以及格式化字符串和正则表达式的应用。还提到了字符串生成器的相关方法。

328

被折叠的 条评论
为什么被折叠?



