day4_JAVA字符串
1.String
- 声明:
String str;
- 创建:
String s1 = "I am a student";
2.连接
-
+
:
String s1 = ''I am";
String s2 = "student";
String s = s1 +" "+s2;
注:如果字符串和其他类型数据连接,会将其他数据类型转换为字符串
3.获取字符串信息
-
长度:
str.length();
注:该方法返回的长度包括空格 -
查找位置:
int size = str.indexOf(substr);
(搜索的字符或者字符串首次出现的位置)
例:int size = str.indexOf("a");
int size = str.lastIndexOf(substr);
(最后一次出现的索引位置) -
指定索引位置的字符
char s1 = str.charAt(int index);
例:char s1 = str.charAt(4);
4.字符串操作
-
获取字符串
String s1 = str.substring(int beginIndex);
(从指定索引位置直到字符串结尾)
String s2 = str.substring(int beginIndex,int endIndex);
例:String s2 = substring(0,4); -
去除空格
String s1 = " I am a student ";String s2 = s1.trim();
注:该函数只能去除前导和尾部空格; -
字符串替换
String newstr = str.replace(char oldChar,char newChar);
例:String s1 = "address";
String newstr = str.replace("a","A");
注:replace函数会将出现过的字符都替换掉 -
判断字符串的开始与结尾
boolean b = str.startWith(String prefix);
例:String str = "abcdefg";
boolean b = str.startWith("ab");
注:返回值是布尔型 -
判断字符串是否相等
==
只能判断两个字符串地址是否相同?
equals():boolean b = s1.equals(s2);
equalsIgbnoreCase():boolean b = s1.equalsIgnoreCase(s2);
注:equalsIgbnoreCase()是在忽略了大小写的情况下比较两个字符串是否相等 -
大小写转换
String s1 = str.toLowerCase();
变为小写
String s2 = str.toUpperCase();
变为大写 -
字符串分割
String[] s1 = str.spilt(String sign);
String[] s2 = str.spilt(String sign,int limit);
注:前面那个没有分割次数限制,只要出现sign都会分割,后面那个limit限制了分割几次
5.格式化字符串
- 日期格式化
import java.util.Date;
Date date1 = new Date();
String year = String.format("%tY",date1);
String month = String.format("%tB",date1);
String day = String.format("%td",date1);
- 时间格式化
import java.util.Date;
Date date2 = new Date();
String hour = String.format("%tH",date2);
String minute = String.format("%tM",date2);
String second = String.format("%tS",date2);