# 字串
用雙引號包括起來的 0 個或多個字元,就是一個基本的字串
# 讀入字串
| in.next(); |
| in.nextLine(); |
# 字串變數 String
String
是一個類別String
的變數和陣列變數類似,他並不存放字串,不是字串的所有者,他是字串的管理員。
# new 創建物件
| String s = new String("Hello World"); |
- 創建了一個
String
物件 "Hello World"
初始化這個物件- 創建管理這個物件的變數 s
- 讓 s 管理這個物件
- 編譯器創建一個
String
類別管理交給 s 管理
# 內容比較
| if(s.equals("Hello")){ |
| ... |
| } |
# 字串連接
- 用加號
+
可以連接兩個字串"Hello "+ "World"
=> "Hello World"
- 當 + 的一邊是字串、另一邊不是時,則會改為字串形式做連接。
"I'm "+ 17
=> "I'm 17"
"Hello "+ 1 + 7
=> "Hello 17"
# 字串運算 .
- 字串是物件,對他的所有操作都是通過
.
這個運算子進行操作 => 字串.操作
- 字串可以是變數也可以是常數
Java 的字串是一種特殊的 不可變
物件,所有的字串操作都會產生一個新的字串。
| String s = "CYSH"; |
| System.out.println(s.toLowerCase()); |
| System.out.println(s); |
# 大小比較
| String s1 = "16", s2 = "15"; |
| System.out.println( s1.compareTo(s2)); |
| System.out.println( s2.compareTo(s1)); |
| System.out.println( "22".compareTo("52")); |
| System.out.println( "A".compareTo("C")); |
- 如果 s1 比 s2 小,那麼結果為負的
- 如果 s1 和 s2 相等,那麼結果是 0
- 如果 s1 比 s2 大,那麼結果是正的
# 獲得長度
| String name = "Hello"; |
| name.length(); |
| String str = ""; |
| str.length(); |
| String str2; |
| str2.length(); |
# 訪問字串的字元
| s.charAT(index); |
| String s = "Hello"; |
| s.charAT(0); |
- 返回在
index
上的字元 - index 的範圍是
0
到 s.length()-1
- 不能用
for-each
歷遍字串
# 得到子串
# 尋找字元
- 得到字元 c 在字串中的位置,若未尋找到就會回傳
-1
| s.lastIndex0f(c); |
| s.lastIndex0f(c,n); |
| s1.lastIndex0f(s2); |
# 以 x 開始或結束
| s.startsWith(x); |
| s.endsWith(x); |
# 去除兩端空格
# 內容替換
# 大小寫轉換
| s.toLowerCase() |
| s.toUpperCase() |