Stirng 類數組
//equalsIgnoreCase 忽略大小寫的內容比較
String str4 = "helloWorld";
String str5 = "HELLOworld";
System.out.println("str4與str5的比較(equals):" + str4.equals(str5));
System.out.println("str4與str5的比較(equalsIgnoreCase):" + str4.equalsIgnoreCase(str5));
結果 str4與str5的比較(equals):false
str4與str5的比較(equalsIgnoreCase):true安全
-------------------------------app
//int compareTo(String value)
/*
* 按字典順序比較兩個字符串。 (每一個字符進行比較,若是第一個相等了,那就比第二...)
若是兩個字符串相等,則返回 0;
若是字符串在參數值以前,則返回值小於 0;
若是字符串在參數值以後,則返回值大於 0
"A" 比 "a" 小
*/
String str6 = "A";
String str7 = "a";
System.out.println("str6與str7的比較(compareTo):" + str6.compareTo(str7));
//int compareToIgnoreCase(String val) //忽略大小寫的比較
System.out.println("str6與str7的比較(compareToIgnoreCase):" + str6.compareToIgnoreCase(str7));
結果 str6與str7的比較(compareTo):-32
str6與str7的比較(compareToIgnoreCase):0測試
-----------------------------------
startWith((String prefix))測試此字符串是否以指定的前綴開始
String str8 = "hel1loworld";
System.out.println("str8是不是startWith():" + str8.startsWith("hello"));
endWith(String prefix)測試此字符串是否以指定的後綴結束。
System.out.println("str8是不是endsWith():" + str8.endsWith("world"));ui
結果 str8是不是startWith():false
str8是不是endsWith():true
-------------------------------------線程
String str9 = "21510";
// 返回指定子字符在此字符串中第一次出現處的下標索引。
System.out.println("str9的indexOf():" + str9.indexOf('1'));
結果 str9的indexOf():1設計
-------------------------------------對象
String str10 = "hello Worlld";
//返回的是第一次出現子字符的下標索引,若是未出現該字符,則返回 -1。
System.out.println("str10的indexOf():" + str10.indexOf("ll"));索引
結果 str10的indexOf():2字符串
------------------------------------
//public int lastIndexOf(int ch)
//public int lastIndexOf(String str) 若是未出現該字符,則返回 -1。
System.out.println("str9的lastIndexOf():" + str9.lastIndexOf('1'));
System.out.println("str10的lastIndexOf():" + str10.lastIndexOf("ll"));
結果 str9的lastIndexOf():3
str10的lastIndexOf():9
-----------------------------------
//返回指定索引處的 char 值。
String str11 = "1510";
System.out.println("str11的charAt():" + str11.charAt(3));
結果 str11的charAt():0
----------------------------------
//修改
//public String substring(int index)
String str12 = "abcdefgh";
//從index 這個位置開始截取,到字符串末尾,返回的新的子字符串
System.out.println("str12的substring():" + str12.substring(3));
結果 str12的substring():defgh
---------------------------------
//public String substring(int beginIndex, int endIndex)
//參數是開始截取的位置,參數是末尾截取的位置,注意,不包括參數2下標
System.out.println("str12substring()" + str12.substring(3,5))
結果 str12substring()de
---------------------------------
//將指定字符串鏈接到此字符串的結尾。
//public String concat(String str) 等價於 +
System.out.println("str12的concat(str11):" + str12.concat(str11));
---------------------------------
//public String replace(char oldChar, char newChar)
String str13 = "01234567890123";
//重複的所有進行替換
System.out.println("str13的replace():" + str13.replace('0','1'));
System.out.println("str13的replace():" + str13.replace("012", "120"));
System.out.println("str13的replace():" + str13.replaceAll("012", "120"));
結果
str13的replace():11234567891123
str13的replace():12034567891203
str13的replace():12034567891203
----------------------------------
//public String trim()
String str17 = " 223qewe qweqw ";
System.out.println("str17的trim():" + "-->"+str17+"<---");
//對字符串先後進行 空格 製表符 回車進行截取
System.out.println("str17的trim():" + "-->"+str17.trim()+"<---");
結果 str17的trim():--> 223qewe qweqw <---
str17的trim():-->223qewe qweqw<---
----------------------------------
// 使用默認語言環境的規則將此 String 中的全部字符都轉換爲大寫
//public String toUpperCase();
String str18 = "abcdefghti";
System.out.println("str18的toUpperCase():" + str18.toUpperCase());
//public String toLowerCase();
//使用默認語言環境的規則將此 String 中的全部字符都轉換爲小寫
String str19 = "ABCDEFGHTI";
System.out.println("str19的toUpperCase():" + str19.toLowerCase());
結果 str18的toUpperCase():ABCDEFGHTI
str19的toUpperCase():abcdefghti
---------------------------------
使用頻率高的
//spit
//根據指定字符進行截取字符串稱爲新的字符串數組
String str20 = "1,2, 3, 4, 5,6";
String[] strs = str20.split(",");
for(String st : strs){
System.out.println(st);
}
結果
1
2
3
4
5
6
--------------------------------------------------------------
StringBuffer 類
StringBuffer --> 字符串緩衝區(序列滿了 從新改變緩衝區大小)
/*
* 線程安全的可變字符序列。我是一個String,能夠變的字符串
* StringBuffer
*
* StringBuilder
* 一個可變的字符序列。此類提供一個與 StringBuffer 兼容的 API,但不保證同步。
* 該類被設計用做 StringBuffer 的一個簡易替換,用在字符串緩衝區被單個線程使用的時候
* (這種狀況很廣泛)。若是可能,建議優先採用該類,由於在大多數實現中,
* 它比 StringBuffer 要快。
*
* 實際運用中:
* 若是你的程序不涉及線程安全,建議 StringBuilder
*/
public class StringBufferDemo {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer();
StringBuilder sb2 = new StringBuilder();
String str1 = "123";
String str2 = "456";
String str3 = str1 + str2;
//方法鏈
sb.append(str1).append(str2);
sb2.append(str1).append(str2);
//StringBuffer insert(int offset, String str)
sb.insert(2, "x"); //在指定的下中查某個字符串
System.out.println(sb.toString());
//void setCharAt(int pos, char ch)
sb.setCharAt(1, 'a'); //替換指定下標的字符
System.out.println(sb.toString());
//StringBuffer reverse()
StringBuffer sBuffer = new StringBuffer("0123456789");
//System.out.println(sBuffer.reverse());
//StringBuffer delete(int start, int end)
//sBuffer.deleteCharAt(0); //刪除指定下標的字符
System.out.println(sBuffer.toString());
sBuffer.delete(4, 7); //刪除開始到結束下標的zi字符串,不包結束下標
System.out.println(sBuffer.toString());
//StringBuffer replace(int start, int end, String s)
//替換指定開始到結束下標的字符串,若是給定結束下標超過字符長度,
sBuffer.replace(3, 100, "abcde");
System.out.println(sBuffer.toString());
}
}
結果
12x3456
1ax3456
0123456789
0123789
012abcde
-------------------------------------------------------------
可變參數
//這種新式叫可變參數
public static void method(int...nums){
for(int i : nums){
System.out.println(i);
}
System.out.println(nums); //數組, int 類型
}
----------
//多個參數時, 可變參數必定要放在最後聲明
/*public static void method(int...nums, String aa){
for(int i : nums){
System.out.println(i);
}
System.out.println(nums); //數組, int 類型
}*/
-------------------------------------------------------------
Math 類
/*
Math.ceil(); 返回最小的(最接近負無窮大)double 值,該值大於等於參數,並等於某個整數。
Math.floor(a); 返回最大的(最接近正無窮大)double 值,該值小於等於參數,並等於某個整數
Math.round(a) 返回最接近參數的 long。//四捨五入
*/
---------------------------------------------------------------
基本數據類型 包裝類
byte(字節) Byte
char(字符) Character
short(短整型) Short
int(整型) Integer
long(長整型) Long
float(浮點型) Float
double(雙精度) Double
boolean(布爾) Boolean
----------------------------------------------------------------
自動裝箱 拆箱
裝箱 --》將基本數據類型包裝爲對應的包裝類對象
拆箱 --》將包裝類對象轉換成對應的基本數據類型
//Integer 跟 int 有什麼區別 //Integer 類 它有方法和屬性,功能上Integer 比int更增強大 //Integer 是類,因此它比int 多了一個狀態 null, 直接的運用在數據id/status上 Integer integer2 = 1; //裝箱 int in = integer; //拆箱