一個知識點使用一個代碼塊方便查看 1.創建string的常用3+1種方式 2.引用類型使用==比較地址值 3.String當中獲取相關的常用方法 4.字元串的截取方法 5.String轉換常用方法 6.切割字元串 如有錯誤,請聯繫,再次謝過! ...
一個知識點使用一個代碼塊方便查看
1.創建string的常用3+1種方式
/*
創建string的常用3+1種方式
三種構造方法
public String():創建一個空字元串,不含有任何內容;
public String(char[] array):根據字元數組的內容,來創建對應的字元串。
public String(byte[] array):根據位元組數組的內容,來創建對應的字元串。
一種直接創建:
String str = "Hello";//右邊直接使用雙引號
註意:直接寫上雙引號,就是字元串對象。
*/
public class demo01String {
public static void main(String[] args) {
String str1 = new String();//小括弧留空說明字元串什麼內容都沒有
System.out.println("第一個字元串:" + str1);
//根據字元數組創建字元串
char[] charArray = {'A', 'B', 'C'};
String str2 = new String(charArray);
System.out.println("第二個字元串:" + str2);
//根據位元組數組創建字元串
byte[] byteArray = {23,34,56};
String str3 = new String(byteArray);
System.out.println("第三個字元串:" + str3);
}
}
2.引用類型使用==比較地址值
/*
字元串常量池:程式中直接寫上的雙引號字元串,就在字元串常量池中
對於基本類型來說,==是進行數值的比較。
對於引用類型來說,==是進行[地址值]的比較。
*/
public class demo01Sting {
public static void main(String[] args) {
//定義兩個字元串
String str_1= "abc";
String str_2= "abc";
//使用char轉換String的發生創建String
char[] chararray = {'a','b','c'};
String str_3 = new String(chararray);
//因為是引用類型。所有他們比較的是地址值
//因為直接創建的str_1和str_2在字元串常量池中
//而str_3是由char轉換成為的String,由於是引用類型使用比較的是地址值
//兩個byte大小雖然一樣,但是儲存空間不同,所以不相等
System.out.println(str_1==str_2);//true
System.out.println(str_1==str_3);//false
System.out.println(str_2==str_3);//false
}
}
3.String當中獲取相關的常用方法
/*
String當中獲取相關的常用方法有:
public int Length():獲取當前字元串長度
public String concat(String str):當前字元串與參數字元串拼接成新的字元串
public char charAt(int index):獲取指定索引位置的單個字元,(索引從0開始)
public int indexOf(String str):查找參數字元串在本字元串當中首次出現的索引位置,如果沒有返回-1值
*/
public class demo01String {
public static void main(String[] args) {
//獲取字元串的長度
int length = "dfghjhfdsqwertgfdsa".length();
System.out.println("字元串的長度是:" + length);
//拼接字元串
String str1 = "Hello";
String str2 = "World";
//把str2拼接在str1後面賦值新字元串str3
String str3 = str1.concat(str2);
System.out.println(str1);//原封不動
System.out.println(str2);//原封不動
System.out.println(str3);//HelloWorld 新字元串
System.out.println("=========================");
//獲取指定索引位置的單個字元
char ch ="Hello".charAt(1);
System.out.println("第一號位置索引的字元是:"+ch);
//搜索對應字元串的索引位置
String st = "qwe abc rtyhvcssertyjhvs abc";
int index = st.indexOf("abc");
System.out.println("第一次索引值是:"+index);
}
}
4.字元串的截取方法
/*
字元串的截取方法:
public String substring(int index):截取從參數位置一直到字元串末尾,返回新字元串
public String substring(int begin,int end):截取從begin開始,一直到end結束,中間的字元串
備註:[begin,end) 包含左邊,不包含右邊。
*/
public class demo01substring {
public static void main(String[] args) {
String str1 = "HelloWorld";
//截取索引到結尾的全部
String str2 = str1.substring(5);
System.out.println(str1);
System.out.println(str2);
System.out.println("==============");
//截取一部分
String str3 = str1.substring(4,7);
System.out.println(str3);
}
}
5.String轉換常用方法
/*
String當中與有:
public char[] toCharArray():將當前字元串拆分成字元串數組作為返回值。
public byte[] getBytes():獲得當前字元串底層位元組數組。
public String replace(CharSequence oldString, CharSequence newString):
將所有出現的老字元串替換成為新的字元串,返回替換之後的結果新字元串。
*/
public class demo01 {
public static void main(String[] args) {
//轉換成為字元數組,通過同CharArray方法
char[] chars = "Hello".toCharArray();
System.out.println(chars[0]);//H
System.out.println(chars.length);//5
System.out.println("===============");
//把字元串轉換為位元組類型
byte[] s = "abc".getBytes();
for (int i = 0; i < s.length; i++) {
System.out.println(s[i]);
}
String str = "你怎麼玩的,你大爺的!";
//通過replace方法把舊字元串替換為新的字元串
System.out.println(str.replace("你大爺的","****"));
}
}
6.切割字元串
/*
分割字元串的方法:
public String[] split(String regex):按照參數的規則,將字元串拆分為若幹部分
註意事項:
split方法的參數用的是"正則表達式"
所以英文句點“.”,進行切分。必須寫"\\"
*/
public class demoStringsplit {
public static void main(String[] args) {
String str1 = "aaa,bbb,ccc";
//字元串其實是一對引號裡面是一個字元串
System.out.println(str1);//aaa,bbb,ccc
//使用split可以切割字元串,參數是選擇切割的節點
String[] split1 = str1.split(",");
for (int i = 0; i < split1.length; i++) {
System.out.println(split1[i]);//遍歷出來的aaa bbb ccc
}
String str2 = "aaa.bbb.ccc";
//因為是正則表達式,使用英文句點要使用"."
String[] split2 = str2.split("\\.");
for (int i = 0; i < split2.length; i++) {
System.out.println(split2[i]);//遍歷出來的aaa bbb ccc
}
}
}