LEARNING
1.String类
①声明:String str = [null]
②创建字符串:
a)String(char a[])方法(用一个字符数组a创建String对象)
char a[]={'j','a','n','e'};
String s = new String(a); 等价于→String s = new String("jane")
b)String(char a[],int offset,int length)(提取数组a中一部分创建字符串对象)
char a[] ={'j','a','n','e'};
String s = new String(a,2,2); 等价于→String s = new String("ne")
offset表示开始截取字符串的位置,length表示截取字符串的长度
c)String(char[] value)
(可分配一个新的String对象使其数组参数中所有元素连接的结果)
③连接字符串:’+’ (连接多个字符串/连接其他数据类型——自动调用toString())
④获取字符串信息
1)长度:str.length();
2)查找:
str.indexOf(String s)
查找字符在字符串的索引位置
str.lastIndexOf(String s)
返回指定字符串最后一次出现的索引位置,无返回-1
若括号中为空格,则效果与str.length()一样
3)获取指定位置字符:str.charAt(int index)
4)获取子字符串:
str.substring(int beginIndex)
:从某处开始截取字符串
substring(int beginIndex,endIndex):
从某一索引位置开始截取至某结束
5)去除空格:str.trim()
返回字符串副本,忽略前导空格和尾部空格
6)字符串替换:str.replace(char oldChar,char newChar)
7)判断字符串开始/结尾:
str.startsWith(String str)
判断字符串开始的字符串是不是str
str.endsWith(String str)
判断字符串结尾的字符串是不是str
8)判断字符串是否相等:
str.equals(String str)
返回boolean类型
str.equalsIgnoreCase(String otherstr)
忽略大小写情况下判断
9)按字典顺序比较字符串:str.compareTo(String otherstr)
10)字母大小写转换:
str.toLowerCase()
str.toUpperCase()
11)字符串分割:
str.split(String sign)
对给定字符串进行拆分
str.split(String sign,int limit)
有限制次数地对字符串进行拆分
public class Division {
public static void main(String[] args) {
String str = new String ("ab,cdefg,h");
String[] newstr = str.split(",");
for(int i=0;i
⑤格式化字符串
str.format(String format,Object...args)
str.format(Local 1,String format,Object...args)
⑥正则表达式 ** 不了解**
⑦字符串生成器StringBuilder
1)append(content) ——向字符串生成器中追加内容
2)insert(int offset,arg)——向指定位置插入
3)delete(int start,int end)——删除序列的子字符串中的字符
PRATICING
1.Java程序:使用String类的toUpperCase()和toLowerCase().
public class Pratice7 {
public static void main(String[] args) {
String str = "I love U";
String str1 = str.toUpperCase();
String str2 = str.toLowerCase();
System.out.println(str1);
System.out.println(str2);
}
}
2.分别截取字符串str1和字符串str2中部分内容,若截取后相等则输出true,反之false。
public class Pratice8 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
String str1 = "My name is Jane.";
String str2 = "My age is 18";
String str3 = str1.substring(0,4);
String str4 = str2.substring(0,4);
boolean a = str3.equals(str4);
System.out.println(str3);
System.out.println(str4);
System.out.println(a);
}
}
3.使用正则表达式来判断字符串text是否为合法手机号。
public class Pratice10 {
public static void main(String[] args) {
String regex = "1[35]\\d{9}";
// 1是指以1开头的字符串
// [35]是指第二位是3或者5这两个数字
// \\d{9}是指数字必须重复9次
String text = "150772820946";
if (text.matches(regex)) {
System.out.println(text + "是合法的手机号");
}
else System.out.println(text + "不是合法的手机号");
}
}
4.使用字符串生成器,将字符串str追加1~10这十个数字。
public class Pratice9 {
public static void main(String[] args) {
StringBuilder builder = new StringBuilder("abce");
for(int i=1;i<=10;i++)
builder.append(i);
System.out.println(builder);
}
}