Java 字符與字符串


字符

// 定義字符
char c1 = 'a';
char c2 = '1';
char c3 = '中';

// 自動裝箱
Character c = c1;

// 自動拆箱
c1 = c;

//判斷是否為字母
Character.isLetter('a');

//判斷是否為數字
Character.isDigit('a');

//判斷是否空白
Character.isWhitespace(' ');

//判斷是否大寫
Character.isUpperCase('a');

//判斷是否小寫
Character.isLowerCase('a');

//轉換為大寫
Character.toUpperCase('a');

//轉換為小寫
Character.toLowerCase('A');

//轉換為字符串
String str = Character.toString('a');

轉義字符

// 使用 \t 制表符對齊輸出內容
System.out.println("abc\tdef");
System.out.println("a\tdef");

// 一個 \t 制表符顯示長度是8
System.out.println("12345678def");

// 換行符 \n
System.out.println("abc\ndef");

// 單引號 \'
System.out.println("abc\'def");

// 單引號 \"
System.out.println("abc\"def");

// 反斜杠 \\
System.out.println("abc\\def");

字符串

字符串即字符的組合,具有以下特性:

  • String 本身是一個類,創建字符串后得到的是一個對象
  • String 使用final修飾,不能被繼承
  • String 創建后不可改變,如增減長度、插入刪除字符、修改字符等

創建字符串

// 通過字面值創建字符串
String str ="字符串";

// 通過實例化創建字符串
String str = new String("字符串");

// 通過字符數組創建字符串
char[] cs = new char[]{'字','符','串'};
String str = new String(cs);

// 通過+加號創建字符串
String str = str1 + str2;

字符串格式化

String str1 ="撿到了";
int num = 80;
String str2="元";

//方式1:拼接字符串
String sentence = str1 + num + str2 + "\n";

//方式2:使用 format 格式化輸出
//%s表示字符串,%d表示數字,%n表示換行
String sentence = String.format("%s%d%s%n", str1, num, str2);

其他格式化輸出

int year = 2020;
String.format("%d%n", year);

//8位長度,前補空格
String.format("%8d%n",year);

//8位長度,后補空格
String.format("%-8d%n",year);

//8位長度,前補0
String.format("%08d%n",year);

//千位位分隔符
String.format("%,8d%n",year*10000);

//保留兩位小數
String.format("%.2f%n",Math.PI);

//不同國家的千位分隔符
String.format(Locale.FRANCE,"%,.2f%n",Math.PI*10000);
String.format(Locale.US,"%,.2f%n",Math.PI*10000);
String.format(Locale.UK,"%,.2f%n",Math.PI*10000);

字符串長度

String name ="字符串";
System.out.println(name.length());

String name = "";
System.out.println(name.length());

字符串操作

String name ="字,符,串";

// 獲取指定位置的字符
char c = name.charAt(0);

// 獲取對應的字符數組
char[] cs = name.toCharArray();

// 從第3個字符開始截取字符串
String subString1 = name.substring(3);

// 從第3個字符開始到5-1的位置截取字符串
String subString2 = name.substring(3,5);

// 根據,進行分割,得到3個子字符串
String subSentences[] = name.split(",");
for (String sub : subSentences) {
    System.out.println(sub);
}

// 去掉首尾空格
String trimName = name.trim();

// 全部變成小寫
String lowerName = name.toLowerCase();

// 全部變成大寫
String upperName = name.toUpperCase();

// 字符第一次出現的位置
int index = name.indexOf('符');

// 字符串第一次出現的位置
int index = name.indexOf(",串");

// 字符串最后出現的位置
int index = name.lastIndexOf("符");

// 從位置2開始,'串'第一次出現的位置
int index = name.indexOf('串', 5);

// 是否包含字符串
int index = name.contains("符");

// 替換所有的字符串
String replace = name.replaceAll(",", "-");

// 只替換第一個字符串
String replace = name.replaceFirst("-", "");

比較字符串

String str1 = "the light";
String str2 = "the light";
String str3 = new String(str1);
String str4 = str1.toUpperCase();

//==用於判斷是否是同一個字符串對象
System.out.println(str1 == str2);  // true,同一對象
System.out.println(str1 == str3);  // false,不同對象
System.out.println(str1.equals(str3));  // true,內容一樣
System.out.println(str1.equals(str4));  // false,大小寫不一樣
System.out.println(str1.equalsIgnoreCase(str3));  //true,忽略大小寫的比較

// 以...開始
System.out.println(str1.startsWith("the"));
// 以...結束
System.out.println(str1.endsWith("light"));

數字轉字符串

//方式1
int i = 5;
String str = String.valueOf(i);

//方式2
int i = 5;
Integer it = i;
String str = it.toString();

換行符說明

換行符(newline):另起一行;程序表示為:'\n'
回車符(return):回到一行的開頭;程序表示為:'\r'
在IDE里敲一個回車,實際上是回車換行符。

不同的操作系統,換行符不同。java程序中可以使用%n兼容各個平台的換行表現。

  • 在DOS和Windows中,每行結尾是 “\r\n”;
  • Linux系統里,每行結尾只有 “\n”;
  • Mac系統里,每行結尾是只有 "\r"。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM