Java基礎---> String類
阿新 • • 發佈:2019-01-06
public class StringDemo {
public static void main(String[] args) {
String str = "asdfghjaszxsa.java";
method_get(str);
print("------------------------------------------");
method_is(str);
print("------------------------------------------");
method_transform(str);
print("------------------------------------------");
method_replace(str);
print("------------------------------------------");
method_split(str);
print("------------------------------------------");
method_sub(str);
print("------------------------------------------");
method_change();
}
/*
* String獲取方法 凡是獲取的字元或者是字串不存在,就返回-1
*/
private static void method_get(String str) {
// 獲取字串的長度
int length = str.length();
print("length: " + length);
// 根據位置獲取位置上的某個字元
char ch = str.charAt(1);
print("ch: " + ch);
// 根據字元獲取該字元在字串中的位置
int index = str.indexOf("index: " + 'a');// 獲取該字元第一次出現的位置
print("index: " + index);
// int indexOf(int ch, int fromIndex) :從fromIndex指定位置開始,獲取ch在字串中出現的位置。
int indexf = str.indexOf('a', 2);
print("indexf: " + indexf);
// int indexOf(String str):返回的是str在字串中第一次出現的位置。
int indexs = str.indexOf("as");
print("indexs: " + indexs);
// int indexOf(String str, int fromIndex)
// :從fromIndex指定位置開始,獲取str在字串中出現的位置。
int indexsf = str.indexOf("as", 3);
print("indexsf: " + indexsf);
// int lastIndexOf(int ch)
int indexlast = str.lastIndexOf('a');
print("indexlast: " + indexlast);
}
/*
* String中的判斷
*/
private static void method_is(String str) {
// 字串中是否包含某一個子串
/*
* 特殊之處:indexOf(str):可以索引str第一次出現位置,如果返回-1.表示該str不在字串中存在。
* 所以,也可以用於對指定判斷是否包含。 if(str.indexOf("aa")!=-1) 而且該方法即可以判斷,有可以獲取出現的位置。
*/
boolean iscon = str.contains("asd");
print("iscon: " + iscon);
// 字元中是否有內容。boolean isEmpty(): 原理就是判斷長度是否為0.
boolean isemp = str.isEmpty();
print("isemp: " + isemp);
// 字串是否是以指定內容開頭。boolean startsWith(str);
boolean start = str.startsWith("asd");
boolean startoffset = str.startsWith("sd", 1);
print("start: " + start);
print("startoffset: " + startoffset);
// 字串是否是以指定內容結尾。boolean endsWith(str);
boolean end = str.endsWith(".java");
print("end: " + end);
// 判斷字串內容是否相同。複寫了Object類中的equals方法。boolean equals(str);
boolean equal = str.equals("asdfghjaszxsa.java");
print("equal: " + equal);
// 判斷內容是否相同,並忽略大小寫。boolean equalsIgnoreCase();
boolean equ = "AASD".equalsIgnoreCase("Aasd");
print("equ: " + equ);
}
/*
* 轉換
*/
private static void method_transform(String str) {
char[] chs = { 'a', 's', 'd', 'f', 'g' };
byte[] bts = { 'a', 's', 'd', 'f', 'g' };
// 將字元陣列轉成字串
String trChStr = new String(chs);
String trChStrO = new String(chs, 1, 3);
print("trChStr: " + trChStr + "....trChStrO: " + trChStrO);
String copyvalueof = String.copyValueOf(chs);
print("copyvalueof: " + copyvalueof);
// 將字串轉成字元陣列****
char[] tochar = str.toCharArray();
for (int x = 0; x < tochar.length; x++) {
print("char[" + x + "] = " + tochar[x]);
}
// 將位元組陣列轉成字串。
String trBtStr = new String(bts);
String trBtStrO = new String(bts, 1, 3);
print("trBtStr: " + trBtStr + "....trBtStrO: " + trBtStrO);
// 將字串轉成位元組陣列。byte[] getBytes():
// 特殊:字串和位元組陣列在轉換過程中,是可以指定編碼表的。
byte[] getBts = str.getBytes();
for (int x = 0; x < getBts.length; x++) {
print("byte[" + x + "] = " + getBts[x]);
}
// 將基本資料型別轉成字串。static String valueOf(資料型別)
// 3+"";//String.valueOf(3);
String num = String.valueOf(2);
print("num: " + num);
}
/*
* 替換
*/
private static void method_replace(String str) {
// 如果要替換的字元不存在,返回的還是原串。
String newStr = str.replace('a', 'm');// 替換掉所有的該字元
print(str);
print(newStr);
String newSt = str.replace("asd", "qqq");
print(str);
print(newSt);
}
/*
* 切割
*/
private static void method_split(String str) {
// String[] split(regex);
String[] strs = str.split("s");
for (int x = 0; x < strs.length; x++) {
print("String[" + x + "] = " + strs[x]);
}
}
/*
* 獲取字串中的一部分
*/
private static void method_sub(String str) {
print(str.substring(2));// 從指定位置開始到結尾。如果角標不存在,會出現字串角標越界異常。
print(str.substring(2, 4));// 包含頭,不包含尾。s.substring(0,s.length());
}
/*
* 轉換,去除空格,比較。
*/
private static void method_change() {
String s = " Hello Java ";
print(s.toLowerCase());// 轉小寫
print(s.toUpperCase());// 轉大寫
print(s.trim());// 去空格
// 對兩個字串進行自然順序的比較
String s1 = "aaa";
String s2 = "aaa";
print(s1.compareTo(s2));// 大於返回正數,小於返回負數,相等返回0
}
private static void print(Object obj) {
System.out.println(obj);
}
}