在本教程中,我們將學習如何在 Java 中使用字串。在程式設計中廣泛使用的字串是字元序列。在Java程式語言中,字串是一個物件。Java 平台提供了一個
String
用於建立和操作字串的類別。
建立字串
建立字串的最簡單方法如下所示:String greeting = "Hello world!";
在這種情況下,“你好世界!” 是一個字串文字(即常數),由括在引號中的字元序列組成。每當編譯器遇到字串文字時,它都會建立一個String
具有值的類型的對象,在我們的例子中為「Hello World!」。與任何其他物件一樣,可以使用關鍵字建立字串new
。這個類別具有三個建構函數,允許您使用不同的來源(例如字元數組)String
建立物件。
char[] helloArray = {'h', 'e', 'l', 'l', 'o', '.'};
String helloString = new String(helloArray);
System.out.println(helloString);
該範例的最後一行將在螢幕上列印hello。類別String
是不可變的,因此一旦我們創建了一個對象,就無法更改它。我們下面將介紹的一些方法可以解決這個問題。因為 String
不可變,這些方法會建立並傳回一個包含操作結果的新字串。
Java字串長度
獲取字串資訊的方法稱為存取方法。其中一種方法length()
。它傳回字串中的字元數。在以下範例中,len
該值為 17:
String palindrome = "Dont saw I saw Tod";
int len = palindrome.length();
該變數palindrome
包含一個回文,即 兩個讀法相同的單字或句子。讓我們寫一個小程式來反轉回文。我們將使用 方法charAt(i)
,該方法傳回字串中以 開頭的第 i0
個字元。
public class StringDemo {
public static void main(String[] args) {
String palindrome = "Dot saw I was Tod";
int len = palindrome.length();
char[] tempCharArray = new char[len];
char[] charArray = new char[len];
//создадим из строки
// массив символов
for (int i = 0; i < len; i++) {
tempCharArray[i] =
palindrome.charAt(i);
}
// перевернем массив символов
for (int j = 0; j < len; j++) {
charArray[j] =
tempCharArray[len - 1 - j];
}
String reversePalindrome =
new String(charArray);
System.out.println(reversePalindrome);
}
}
程式將列印
doT saw I was toD
為了反轉字串,我們首先從字串建立一個字元數組(第一個循環),然後建立一個新數組,將反轉的第一個數組寫入其中,然後創建一個新字串。該類別String
包含一個傳回字元數組的方法getChars()
,因此第一個循環可以替換為以下行:
palindrome.getChars(0, len, tempCharArray, 0);
字串連接
該類別String
實作了連接兩個字串的方法:
string1.concat(string2);
此程式碼將傳回一個包含string1
並附加到它的新字串string2
。您也可以將此方法與字串文字一起使用:
"My name is ".concat("Rumplestiltskin");
大多數情況下,字串是使用「+
」運算子連接的,例如:
"Hello," + " world" + "!"
結果將是字串“ Hello, world!” 」「+
」運算子廣泛用於顯示訊息,例如:
String string1 = "saw I was ";
System.out.println("Dot " + string1 + "Tod");
代碼將輸出“ Dot saw I was Tod ”。這種串聯可以與任何其他物件結合使用。對於不是字串的對象,將呼叫該方法toString()
,將它們轉換為字串。 設定字串輸出格式 我們已經了解了格式化數字輸出printf()
時的方法。format()
類別String
有一個類似的方法,傳回一個字串。使用靜態方法format()
可以建立可重複使用的庫存模板,例如:
System.out.printf ("The value of the float " +
"variable is %f, while " +
"the value of the " +
"integer variable is %d, "
"and the string is %s",
floatVar, intVar, stringVar);
你可以使用這個程式碼:
String fs;
fs = String.format("The value of the float " +
"variable is %f, while " +
"the value of the " +
"integer variable is %d, " +
" and the string is %s",
froatVar, intVar, stringVar);
System.out.println(fs);
就這樣!:) 連結到來源:Java 中的字串
GO TO FULL VERSION