目錄
1.創建字串的方法
1.1構造
1.2參考物件
2.字串的比較
3.字串的不可改變性
4.陣列轉字串
5.判斷是否是數字字串 isNumberChar( )
6.位元組變字串
7.字串的查找
8.字符的替換
9.字串的分割
9.1以單個符號來分割
9.2多個分隔符分割
9.3特殊符號分割
10.提取子串str.substring( )
11.去空格
12.字串的拼接
13.StringBuffer
13.1字串的拼接
13.2方法的回傳型別
1.創建字串的方法
1.1構造
方式一、直接構造
String str = "fly";
方式二 、呼叫構造方法進行構造物件
String str1 = new String("name");
方式三、利用字符陣列進行轉換
char[] ch = {'a','s','d'};
String str2 = new String(ch);
1.2參考物件
public static void main(String[] args) {
//str 、 str1 都指向同一個物件
String str = "asd";
String str1 = str;
System.out.println(str);
System.out.println(str1);
System.out.println("---------------");
str = "fly";//str指向新的物件,str1 沒有變,還指著原來的物件
System.out.println(str);
System.out.println(str1);
}

public static void func(String s,char[] array) {
s = "fly";
array[0] = 'm';
}
public static void main(String[] args) {
String str = "asfgh";
char[] ch = {'w','s','d'};
func(str,ch);
System.out.println(str);
System.out.println(Arrays.toString(ch));
}

2.字串的比較
public static void main(String[] args) {
String str1 = "hello";
String str2 = "hello";
System.out.println(str1 == str2);
System.out.println(str1.equals(str2));
}
public static void main(String[] args) {
String str1 = "ABC";
String str2 = "abc";
boolean flg = str1.equalsIgnoreCase(str2);//不看大小寫判斷字串是否相等
System.out.println(flg);
}

3.字串的不可改變性
public static void main(String[] args) {
String str = "hello ";
str = str + "world ";
str += "!!!";
System.out.println(str);
}
4.陣列轉字串
public static void main(String[] args) {
char[] val = {'a','b','c','d','f'};
String str = new String(val);
String str2 = new String(val,1,3);//區間變字串
System.out.println(str);
System.out.println("------------");
String str3 = "hello";
char ch = str3.charAt(2);//獲取下標字符
System.out.println(ch);
char[] chars = str3.toCharArray();//把str3指向的字串變為陣列
System.out.println(Arrays.toString(chars));
}

5.判斷是否是數字字串 isNumberChar( )
public static boolean isNumberChar(String s) {
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);//逐個獲取字符
boolean flg = Character.isDigit(c);//判斷某個字符是不是數字
if(flg == false) {
return false;
}
/*if (c < '0' || c > '9') {
return false;
}*/
}
return true;
}
public static void main(String[] args) {
String str = "0123456789";
System.out.println(isNumberChar(str));
}

6.位元組變字串
public static void main(String[] args) {
byte[] bytes = {97,98,99,100};//位元組對應的字母
String str = new String(bytes);
System.out.println(str);
String str2 = new String(bytes,1,3);
System.out.println(str2);
System.out.println("-------------");
String str3 = "flying";
byte[] bytes1 = str3.getBytes();//獲取字符對應的位元組
System.out.println(Arrays.toString(bytes1));//以陣列形式輸出
}

7.字串的查找
public static void main(String[] args) {
String str = "babcdabcab";
String str2 = "abc";
boolean flg = str.contains(str2);//判斷是否含有子字串
System.out.println(flg);
System.out.println("-----------");
int index = str.indexOf(str2);//找出子字串第一次開始出現的位置
System.out.println(index);
System.out.println(str.lastIndexOf(str2,8));//從指定位置往前找
System.out.println(str.startsWith("a"));//判斷是否是以其字母開頭的字串
System.out.println(str.startsWith("a",1));//判斷某位置是否是該字母
System.out.println(str.endsWith("ab"));//判斷是否是以該字串結尾
}

8.字符的替換
public static void main(String[] args) {
String str = "babcdabcab";
String ret = str.replace('a','f');//將所有字符a替換成f
//String ret = str.replaceFirst('a','f');//將第一次出現的字符a替換成f
System.out.println(ret);
}

9.字串的分割
9.1以單個符號來分割
public static void main(String[] args) {
String str = "name=fly&age=20";
String[] strings = str.split("&");//以字符&分割
for (String s:strings) {
// System.out.println(s);
String[] ss = s.split("=");//分割之后再以=分割
for (String tmp:ss) {
System.out.println(tmp);
}
}
}

9.2多個分隔符分割
public static void main(String[] args) {
String str3 = "fly%12&age#hello";
String[] ret = str3.split("%|&|#");//多個分隔符分割,用|隔開
for (String sss:ret) {
System.out.println(sss);
}
}

9.3特殊符號分割
1. 字符 "|","*","+" 都得加上轉義字符,前面加上 "\".2. 而如果是 "" ,那么就得寫成 "\\".3. 如果一個字串中有多個分隔符,可以用 "|" 作為連字符 .
public static void main(String[] args) {
String str = "191.157.1.1";
String[] result = str.split("\\.");
for (String s:result) {
System.out.println(s);
}
System.out.println("-------------");
String str2 = "191\\157\\1\\1";
String[] strings = str2.split("\\\\",3);//4是分為四組
for (String ss:strings) {
System.out.println(ss);
}
String str3 = "fly%12&age#hello";
String[] ret = str3.split("%|&|#");//多個分隔符分割,用|隔開
for (String sss:ret) {
System.out.println(sss);
}
}

10.提取子串str.substring( )
public static void main(String[] args) {
String str = "abcdefg";
String sub = str.substring(2,4);//提取子串,左閉右開
System.out.println(sub);
}

11.去空格
public static void main(String[] args) {
String str = " abc def ";
String ret = str.trim();//去除字串左右兩邊的空格
System.out.print(ret);
System.out.println("---");
}

12.字串的拼接
public static void main(String[] args) {
String str = "abc";
String ret = str.concat("fly");//字串的拼接
System.out.println(ret);
}

13.StringBuffer
13.1字串的拼接
public static void main(String[] args) {
String str = "hello";
StringBuffer sb = new StringBuffer();
sb.append(str);
for (int i = 0; i < 10; i++) {
sb.append(i);
str = sb.toString();
}
System.out.println(str);
}

13.2方法的回傳型別
public static StringBuffer func() {
String str = "fly";
return new StringBuffer(str);
}
public static void main(String[] args) {
System.out.println(func());
}

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/390651.html
標籤:java
