国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

整理Java編程中字符串的常用操作方法

2019-11-26 14:33:52
字體:
供稿:網(wǎng)友

字符
一般情況下,當(dāng)我們處理字符時(shí),我們用原始數(shù)據(jù)類型 char。

示例

char ch = 'a';// Unicode for uppercase Greek omega characterchar uniChar = '/u039A'; // an array of charschar[] charArray ={ 'a', 'b', 'c', 'd', 'e' };

然而在開發(fā)中,我們會(huì)遇到需要使用對(duì)象而不是原始數(shù)據(jù)類型的情況。為了達(dá)到這個(gè)需求。Java 為原始數(shù)據(jù)類型 char 提供了包裝類 Character。

Character 類為操控字符提供了一系列有用處的類(例如:靜態(tài)類)。你可以借助 Character 構(gòu)造函數(shù)創(chuàng)造一個(gè) Character 對(duì)象。

Character ch = new Character('a');

Java 編譯器也將能在某些情況下為你創(chuàng)造一個(gè) Character 對(duì)象。例如:如果你將一個(gè)原始 char 傳輸?shù)揭粋€(gè)可預(yù)期對(duì)象的方法,編譯器就會(huì)為你自動(dòng)將 char 轉(zhuǎn)化成 Character。 如果轉(zhuǎn)換從反方向進(jìn)行,這個(gè)特點(diǎn)被稱之為自動(dòng)裝箱或拆箱。

示例

// Here following primitive char 'a'// is boxed into the Character object chCharacter ch = 'a';// Here primitive 'x' is boxed for method test,// return is unboxed to char 'c'char c = test('x');

轉(zhuǎn)義序列
有反斜杠(/)在前的字符是一個(gè)轉(zhuǎn)義序列并且對(duì)于編譯器有特殊的意義。

換行符(/n)在 System.out.println() 語句中經(jīng)常使用,在字符串打印出來后換行。

以下的表格展示了 Java 轉(zhuǎn)義序列:

轉(zhuǎn)義序列 描述
/t 在文本中插入一個(gè)標(biāo)簽。
/b 在文本中插入一個(gè)退格。
/n 在文本中插入一個(gè)換行符。
/r 在文本中插入一個(gè)回車。
/f 在文本中插入一個(gè)換頁。
/' 在文本中插入一個(gè)單引號(hào)字符。
// 在文本中插入一個(gè)反斜杠字符。

當(dāng)一個(gè)轉(zhuǎn)義序列遇到一個(gè)打印語句,編譯器就會(huì)相應(yīng)地解譯。

示例

如果你想把引號(hào)放入引號(hào)內(nèi),必須使用轉(zhuǎn)義序列, /” ,在內(nèi)部引用:

public class Test { public static void main(String args[]) {  System.out.println("She said /"Hello!/" to me."); }}

這將產(chǎn)生以下結(jié)果:

She said "Hello!" to me.
Character 方法
以下列表是實(shí)現(xiàn) Character 類所有子類的重要的實(shí)例方法:

SN 方法描述
1 isLetter()
確定具體的char值是一個(gè)字母
2 isDigit()
確定具體的char值是一個(gè)數(shù)字
3 isWhitespace()
確定具體的char值是一個(gè)空格
4 isUpperCase()
確定具體的char值是一個(gè)大寫字母
5 isLowerCase()
確定具體的char值是一個(gè)小寫字母
6 toUpperCase()
返回指定字符值的大寫形式
7 toLowerCase()
返回指定字符值的小寫寫形式
8 toString()
返回代表指定的字符值的一個(gè)String對(duì)象,即一個(gè)字符的字符串


字符串
字符串,它被廣泛應(yīng)用于 Java 編程,是一個(gè)字符序列。在 Java 編程語言中,字符串是對(duì)象。

Java 平臺(tái)提供了 String 類來創(chuàng)建和操作字符串。

創(chuàng)建字符串
最直接的方式來創(chuàng)建一個(gè)字符串是這樣寫的:

String greeting = "Hello world!";
當(dāng)你創(chuàng)建一個(gè)字符串時(shí),編譯器在這種情況下用它的值創(chuàng)建一個(gè) String 對(duì)象,如:"Hello world!'。

任何其他對(duì)象可以通過使用 new 關(guān)鍵字,并通過構(gòu)造函數(shù)創(chuàng)建 String 對(duì)象。 String 類有11種構(gòu)造函數(shù)提供使用不同類型的字符串的初始值,如一個(gè)字符數(shù)組。

public class StringDemo{ public static void main(String args[]){  char[] helloArray = { 'h', 'e', 'l', 'l', 'o', '.'};  String helloString = new String(helloArray);   System.out.println( helloString ); }}

這將產(chǎn)生以下結(jié)果:

hello.

注 String 類是不可變的,因此,一旦創(chuàng)建了 String 對(duì)象那么是不能改變的。如果需要大量修改字符的字符串,那么應(yīng)該使用 StringBuffer & StringBuilder 類。

String 長(zhǎng)度
用于獲取有關(guān)對(duì)象的信息的方法稱為存取方法。可以和字符串一起使用的一個(gè)存取方法是 length() ,它返回包含在字符串對(duì)象中的字符數(shù)。

下面的兩行代碼被執(zhí)行之后,len 等于17:

public class StringDemo { public static void main(String args[]) {  String palindrome = "Dot saw I was Tod";  int len = palindrome.length();  System.out.println( "String Length is : " + len ); }}

這將產(chǎn)生以下結(jié)果:

String Length is : 17

連接字符串
String類包括用于連接兩個(gè)字符串的方法:

string1.concat(string2);

這返回一個(gè)新的字符串,即在 string1 結(jié)尾處添加 string2。還可以使用 concat()方法連接字符串,如:

"My name is ".concat("Zara");

字符串更常使用 “ + ” 運(yùn)算符連接在一起,如:

"Hello," + " world" + "!"

這將產(chǎn)生:

"Hello, world!"

看看下面的例子:

public class StringDemo { public static void main(String args[]) {  String string1 = "saw I was ";  System.out.println("Dot " + string1 + "Tod"); }}

這將產(chǎn)生以下結(jié)果:

Dot saw I was Tod

創(chuàng)建格式化字符串
已經(jīng)有 printf() 和 format() 方法來打印輸出格式的數(shù)字。 String 類有一個(gè)等價(jià)的方法 format(),它返回一個(gè) String 對(duì)象,而不是一個(gè) PrintStream 對(duì)象。

使用字符串的靜態(tài) format() 方法允許創(chuàng)建可重復(fù)使用的格式化字符串,而不是一次性的 print 語句。例如,如果代替以下方法:

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", floatVar, intVar, stringVar);System.out.println(fs);

String 方法
這里是由 String 類支持的方法列表:

SN 方法及描述
1 char charAt(int index)
返回指定索引處的字符。
2 int compareTo(Object o)
將這個(gè)字符串與另一個(gè)對(duì)象比較。
3 int compareTo(String anotherString)
比較兩個(gè)字符串的字典順序。
4 int compareToIgnoreCase(String str)
比較兩個(gè)字符串按字典順序,不區(qū)分大小寫的差異。
5 String concat(String str)
將指定的字符串串連到這個(gè)字符串的結(jié)尾。
6 boolean contentEquals(StringBuffer sb)
返回true當(dāng)且僅當(dāng)該字符串代表相同的字符序列作為指定的StringBuffer。
7 static String copyValueOf(char[] data)
返回表示所指定的數(shù)組中的字符序列的字符串。
8 static String copyValueOf(char[] data, int offset, int count)
返回表示所指定的數(shù)組中的字符序列的字符串。
9 boolean endsWith(String suffix)
測(cè)試此字符串是否以指定的后綴結(jié)束。
10 boolean equals(Object anObject)
比較此字符串與指定的對(duì)象。
11 boolean equalsIgnoreCase(String anotherString)
比較這個(gè)字符串到另一個(gè)字符串,忽略大小寫的考慮。
12 byte getBytes()
將此String解碼使用平臺(tái)的默認(rèn)字符集,并將結(jié)果存儲(chǔ)到一個(gè)新的字節(jié)數(shù)組中的字節(jié)序列。
13 byte[] getBytes(String charsetName
將此String解碼使用指定的字符集的字節(jié)序列,并將結(jié)果存儲(chǔ)到一個(gè)新的字節(jié)數(shù)組。
14 void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
從這個(gè)字符串復(fù)制字符到目標(biāo)字符數(shù)組。
15 int hashCode()
為這個(gè)字符串返回一個(gè)哈希代碼。
16 int indexOf(int ch)
返回此字符串指定字符第一次出現(xiàn)處的索引。
17 int indexOf(int ch, int fromIndex)
返回索引這個(gè)字符串中指定字符第一次出現(xiàn)處,指定索引處開始搜索。
18 int indexOf(String str)
返回此字符串指定子字符串的第一次出現(xiàn)處的索引。
19 int indexOf(String str,int fromIndex)
返回這個(gè)字符串中指定子字符串的第一次出現(xiàn)處的索引,從指定的索引處開始。
20 String intern()
返回字符串對(duì)象的規(guī)范化表示。
21 int lastIndexOf(int ch)
返回此字符串指定字符最后一次出現(xiàn)處的索引。
22 int lastIndexOf(int ch, int fromIndex)
返回此字符串指定字符最后一次出現(xiàn)處的索引,從指定索引開始向后搜索。
23 int lastIndexOf(String str)
返回此字符串指定子字符串的最右邊出現(xiàn)處的索引。
24 int lastIndexOf(String str, int fromIndex)
返回索引這個(gè)字符串中指定子字符串的最后出現(xiàn)處,從指定的索引開始處向后搜索。
25 int length()
返回此字符串的長(zhǎng)度。
26 boolean matches(String regex)
判斷此字符串是否與給定的正則表達(dá)式匹配。
27 boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)
測(cè)試兩個(gè)字符串的區(qū)域等于。
28 boolean regionMatches(int toffset, String other, int ooffset, int len)
測(cè)試兩個(gè)字符串的區(qū)域都是相等的。
29 String replace(char oldChar, char newChar)
返回從newChar更換oldChar所有出現(xiàn)在此字符串中產(chǎn)生一個(gè)新的字符串。
30 String replaceAll(String regex, String replacement
替換此字符串中給定的正則表達(dá)式與給定替換相匹配的每個(gè)子字符串。
31 String replaceFirst(String regex, String replacement)
替換此字符串匹配給定的正則表達(dá)式給定替換第一個(gè)子字符串。
32 String[] split(String regex)
分割圍繞給定的正則表達(dá)式匹配的這個(gè)字符串。
33 String[] split(String regex, int limit)
分割圍繞給定的正則表達(dá)式匹配的這個(gè)字符串。
34 boolean startsWith(String prefix)
測(cè)試此字符串是否以指定的前綴開頭。
35 boolean startsWith(String prefix, int toffset)
測(cè)試此字符串是否以指定索引開始的指定前綴開始。
36 CharSequence subSequence(int beginIndex, int endIndex)
返回一個(gè)新的字符序列,這個(gè)序列的子序列。
37 String substring(int beginIndex)
返回一個(gè)新的字符串,它是此字符串的一個(gè)子字符串。
38 String substring(int beginIndex, int endIndex)
返回一個(gè)新的字符串,它是此字符串的一個(gè)子字符串。
39 char[] toCharArray()
這個(gè)字符串轉(zhuǎn)換為一個(gè)新的字符數(shù)組。
40 String toLowerCase()
將所有在此字符串中的字符使用默認(rèn)語言環(huán)境的規(guī)則小寫。
41 String toLowerCase(Locale locale)
將所有在此字符串中的字符使用給定Locale的規(guī)則小寫。
42 String toString()
這個(gè)對(duì)象(它已經(jīng)是一個(gè)字符串!)返回字符串形式(這里是自己本身)。
43 String toUpperCase()
使用默認(rèn)語言環(huán)境的規(guī)則將此String中所有的字符轉(zhuǎn)換為大寫。
44 String toUpperCase(Locale locale)
使用給定Locale的規(guī)則將此String中所有的字符轉(zhuǎn)換為大寫。
45 String trim()
返回字符串的一個(gè)副本,開頭和結(jié)尾的空格去除。
46 static String valueOf(primitive data type x)
返回傳遞的數(shù)據(jù)類型參數(shù)的字符串表示形式。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 龙山县| 霍州市| 德钦县| 台州市| 句容市| 安康市| 南澳县| 雷山县| 长春市| 永定县| 天台县| 玉田县| 神池县| 黔东| 泸西县| 阳西县| 永康市| 深水埗区| 和静县| 沧州市| 永靖县| 古田县| 伊川县| 陇川县| 易门县| 吐鲁番市| 吉安市| 闽侯县| 瑞安市| 武夷山市| 休宁县| 双江| 阿城市| 临夏县| 华阴市| 泉州市| 九龙坡区| 大兴区| 无极县| 育儿| 丹寨县|