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

Java 語法精講:字符串與數組核心操作全攻略

     編輯:Java 相關知識

字符串

Java 無基本字符串類型,java.lang.String 是不可變對象。雙引號字面量自動創建 String 實例。

核心操作

  • 拼接:+ 操作符,編譯器優化為 StringBuilder.append()。"Age: " + 18 → "Age: 18"。
  • 子串:substring(begin, end),左閉右開,O(1) 時間(JDK 7+ 無複製,共享底層 char[]/byte[])。
  • 長度:length() 返回字符數(code units),注意補充字符(Emoji)佔 2 碼元。
  • 字符訪問:charAt(index) 返回 char(UTF-16 碼元);codePointAt(index) 返回完整 Unicode 碼點。
  • 比較:equals() 比內容,equalsIgnoreCase() 忽略大小寫,compareTo() 字典序比較。禁用 ==。
  • 查找/替換/分割:indexOf()、contains()、replace()、split(regex)。
  • 格式化:String.format()、MessageFormat、文本塊(Java 13+ """...""")。

數組

數組是第一類對象,繼承自 Object,實現 Cloneable、Serializable。長度創建後不可變。

聲明與初始化

// 靜態初始化
int[] primes = {2, 3, 5, 7, 11};

// 動態初始化
int[] arr = new int[10]; // 默認 0

// 匿名數組(作為參數直接傳遞)
method(new int[]{1,2,3});

風格統一:int[] arr ✓,int arr[] ✗(C 風格)。

核心屬性與方法

  • arr.length(屬性而非方法)獲取長度。
  • Arrays.toString(arr) 打印內容;Arrays.deepToString() 多維數組。
  • Arrays.sort(arr)、binarySearch()、copyOf()、fill()、stream()(Java 8+)。

數組拷貝

// 引用拷貝(同一對象)
int[] ref = arr;

// 淺拷貝(新數組,元素引用共享)
int[] shallow = arr.clone(); // 或 Arrays.copyOf(arr, arr.length)

// 深拷貝(對象數組需逐元素 clone)
Object[] deep = new Object[arr.length];
for (int i=0; i

方法參數傳遞

數組作參數傳遞的是引用值,方法內修改元素影響原數組;重新賦值參數變量不影響原引用。

多維數組

Java 無真正多維數組,只有數組的數組:

int[][] matrix = new int[3][4]; // 3 行,每行長度 4
matrix[0] = new int[5]; // 行長度可不一(鋸齒數組)

// 初始化
int[][] data = {{1,2}, {3,4,5}, {6}};

最佳實踐

  • 優先用 List<T>、Set<T> 替代數組:動態擴容、豐富 API、泛型安全。
  • 性能極度敏感、定長、原始類型場景用數組(避免裝箱/拆箱)。
  • 字符串拼接循環用 StringBuilder,單行表達式用 +。
  • 正則分割 split() 慎用於高頻熱路徑,預編譯 Pattern 復用。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved