Integer 類別
Integer.parseInt(a[0]) 字串轉數字
Integer.max(x,y)
比較x , y 並回傳較大者之值
int x = 20 , y = 10;
stem.out.println(Integer.max(x,y));// 20
// 補充Math.max()也有同效果
System.out.println(Math.max(x,y));// 20
Integer.compare(x, y)
比較兩個 int 值,若 x < y 回傳 -1,若 x == y 回傳 0,若 x > y 回傳 1。
Integer x = 10 , y = 20;
System.out.println(Integer.compare(x, y));//-1
Integer.signum(x)
返回整數的符號函數,若 i 為負回傳 -1,為 0 回傳 0,為正回傳 1。
int x = -20;
System.out.println(Integer.signum(x));//-1
// 補充Math.signum()也有同效果但會變成小數點
System.out.println(Math.signum(x));// -1.0
Integer.toBinaryString(x)
將x轉為二進制
int x = 10;
System.out.println(Integer.toBinaryString(x));//1010
二進制轉十進制 Integer.*parseInt*("1010", 2); // 10
String 類別
string 是不可變的 所以要修改字串要使用stringBuffer類別(後面會說到)
equals()
是否相等
// ex 判斷兩輸入是否相等
Scanner sc = new Scanner(System.in);
String q = sc.nextLine();
String r = sc.nextLine();
if (r.equals(q)){
System.out.println("True");
}else{
System.out.println("False");
}
toUpperCase() & toLowerCase()
toUpperCase():將字串轉換為大寫。toLowerCase():將字串轉換為小寫。
String s = "Hello World";
System.out.println(s.toUpperCase()); // "HELLO WORLD"
System.out.println(s.toLowerCase()); // "hello world"
strip()
移除字串前後的空白字符。
String s = " Hello World ";
System.out.println(s.strip()); // "Hello World"
replace() – 替換全部
replace(char oldChar, char newChar):替換字串中的指定字符。
String s = "Hello World";
System.out.println(s.replace('o', 'a'));
// "Hella Warld"
split()
根據指定的分隔符將字串拆分成陣列。
String s = "apple,banana,orange";
String[] fruits = s.split(",");
for (String fruit : fruits) {
System.out.println(fruit);
}
// 輸出:
// apple
// banana
// orange
contains() – 是否包含子字串
檢查字串中是否包含指定的子字串
String s = "Hello WORLD";
System.out.println(s.contains("WORLD")); // true
System.out.println(s.contains("world")); // false
public class StringStaticMethods {
public static void main(String[] args) {
// 1. String.format() 用於格式化字串
String name = "Alice";
int age = 30;
System.out.println(String.format("姓名: %s, 年齡: %d", name, age);); // 姓名: Alice, 年齡: 30
// 2. String.join() = join() in python
System.out.println(String.join(", ", "蘋果", "香蕉", "橘子")); // 蘋果, 香蕉, 橘子
StringBuffer 類別
Java 中的一種可變的字符串類,用來處理多個字符串的拼接、插入、刪除等操作。當你對 StringBuffer 進行操作時,它不會創建新的對象,而是直接在原本的對象上修改。
格式
StringBuffer sb = new StringBuffer(作用對象).方法()
.方法()
append
append(String str):將指定的字串追加到現有字串的末尾。
StringBuffer sb = new StringBuffer("Hello").append(" World");
System.out.println(sb); // 結果: "Hello World"
insert – 在指定位置插入
insert(int offset, String str):在指定位置插入字串。
StringBuffer sb = new StringBuffer("Hello").insert(5, " World");
System.out.println(sb); // 結果: "Hello World"
delete
delete(int start, int end):刪除指定範圍內的字元。
StringBuffer sb = new StringBuffer("Hello World");
sb.delete(5, 11); // 結果: "Hello"
replace – 指定範圍的替換
replace(int start, int end, String str):替換指定範圍內的字元為新的字串。
StringBuffer sb = new StringBuffer("Hello World").replace(6, 11, "Java");
System.out.println(sb); // 結果: "Hello Java"
reverse
reverse():反轉字串。
StringBuffer sb = new StringBuffer("Hello").reverse();
System.out.println(sb);// 結果: "olleH"
charAt – 返回對應index之字母
charAt(int index):返回指定索引處的字元。
StringBuffer sb = new StringBuffer("Hello");
char ch = sb.charAt(1); // 結果: 'e'
!!注意 StringBufer出來的東西不是字串,若要再進行”是否相等”等的”字串間的動作”需要再.toString()
// ex 判斷是不是回文
Scanner sc = new Scanner(System.in);
String q = sc.nextLine();
StringBuffer r = new StringBuffer(q).reverse();
if (r.toString().equals(q)){ // 要.toString()
System.out.println("True");
}else{
System.out.println("False");
}
所以也可以直接格式寫這樣
String test = new StringBuffer(作用對象).toString().方法()
將字串轉為sb後反轉
String x = "Hello World";
// 將 String 轉換為 StringBuffer 並反轉
StringBuffer sb = new StringBuffer(x).reverse();
String reversed = sb.toString(); // 再將 StringBuffer 轉回 String
System.out.println(reversed); // 輸出:dlroW olleH