首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Java 字符串大小寫反轉:基於 StringBuffer 與 String 方法的實現技巧

     編輯:Java 綜合教學

題目需求

將字符串中的大寫字母轉小寫,小寫字母轉大寫。要求必須使用 String.toUpperCase() 和 String.toLowerCase() 方法,並利用 StringBuffer 動態拼接結果。

核心思路

  1. 將字符串轉為 char[] 數組遍歷。
  2. 判斷字符 ASCII 碼:a-z (97-122) 為小寫,A-Z (65-90) 為大寫。
  3. 關鍵技巧:toUpperCase()/toLowerCase() 是 String 方法,char 無法直接調用。解決:(c[i] + "").toUpperCase() —— 拼接空串隱式轉為 String。
  4. 用 StringBuffer.append() 高效拼接結果。

完整代碼實現

public class CaseSwapDemo {
    public static void main(String[] args) {
        String input = "abcDEF";
        StringBuffer result = new StringBuffer();
        char[] chars = input.toCharArray();

        for (char c : chars) {
            // 利用空串拼接將 char 隱式轉為 String,再調用大小寫轉換方法
            if (c >= 'a') { // 小寫字母 ASCII >= 97
                result.append(("" + c).toUpperCase());
            } else { // 大寫字母
                result.append(("" + c).toLowerCase());
            }
        }

        System.out.println("原始: " + input);
        System.out.println("反轉: " + result.toString());
        // 輸出: 原始: abcDEF
        //       反轉: ABCdef
    }
}

進階優化:使用 Character 工具類(更規範)

for (char c : chars) {
    if (Character.isLowerCase(c)) {
        result.append(Character.toUpperCase(c));
    } else if (Character.isUpperCase(c)) {
        result.append(Character.toLowerCase(c));
    } else {
        result.append(c); // 非字母保持不變
    }
}

知識點總結

  • String.toUpperCase()/toLowerCase() 僅適用於 String 對象。
  • char + "" 是將字符快速轉字符串的常用技巧(本質調用 String.valueOf(char))。
  • StringBuffer 線程安全,單線程下推薦 StringBuilder 效率更高。
  • Character 工具類提供 isLowerCase/isUpperCase/toUpperCase/toLowerCase 靜態方法,處理字符大小寫更語義化、更安全(支持 Unicode)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved