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

首頁 > 編程 > Java > 正文

JAVA中轉義字符簡單的四種

2019-11-08 00:28:20
字體:
來源:轉載
供稿:網友

1.八進制轉義序列:/ddd 三位八進制

/n回車(/ )

/t水平制表符(/ )

/b空格(/)

/r換行(/ )

/f換頁(/ )

/’單引號(/')

/”雙引號(/")

//反斜杠(//)

/?四位十六進制

/ + 1到3位5數字;

范圍’/000′~’/377′

/0:空字符

2.Unicode轉義字符:

/u +四個十六進制數字;0~65535/:空字符

3.特殊字符:就3個/”:雙引號/’:單引號//:反斜線

4.控制字符:5個

/’單引號字符

//反斜杠字符

/r回車

/n換行

/f走紙換頁

/t橫向跳格

/b退格

點的轉義:. ==> .

美元符號的轉義:$ ==> $

乘方符號的轉義:^ ==> ^

左大括號的轉義:{ ==> {

左方括號的轉義:[ ==> [

左圓括號的轉義:( ==> (

豎線的轉義:| ==> |

右圓括號的轉義:) ==> )

星號的轉義:* ==> *

加號的轉義:+ ==> +

問號的轉義:? ==> ?

反斜杠的轉義: ==> /

例如:

String str2="a&b&c";   String strs[]=str2.split("&");   for(String str:strs){    System.out.PRintln(str);    }  String str2="a&b&c";String strs[]=str2.split("&");for(String str:strs){System.out.println(str);}

不會輸出a,b,c,只有這樣處理才可以:

String str2="a&b&c";      String strs[]=str2.split("//$");      for(String str:strs){      System.out.println(str);      }

===============================================

軟回車(Soft Return):軟回車是在字處理程序中作為自動移行功能的一部分自動插入的,也叫換行符,在Word中看不見。如果文本一行的長度超過文檔所定義的右邊距時,即當前行沒有足夠的空間放置下一個字符時,文字處理軟件將在這一行文本的末尾自動插入一個軟回車符,文本另起一行。這個軟回車符是由編輯程序自動產生的,叫做軟回車。當重新設置文檔的右邊距并做重新排版時,軟回車出現的位置就會自動改變。

硬回車(Hard Return):硬回車是段落標記,表示一個段落,也稱回車符。硬回車是用戶鍵入的回車符,它是實際插入正文的符號。它通常包括兩個字符,即分別表示回車和換行。如果要在文本段落的末端換行或者在文本中增加空行,可按回車鍵。硬回車是文件的一部分,它不能自動消除,除非刪除它。按Enter(回車鍵)為硬回車。

簡言之,軟回車是字處理軟件為了換行自動插入的,而硬回車是用戶按Enter鍵鍵入的回車符,是實際插入正文的符號,是文件的一部分。

下面的程序使用了兩個Unicode的轉義字符,它們是用其十六進制代碼來表示Unicode字符。那么,這個程序會打印什么呢?java代碼p lic class EscapeRout{  p lic static void main(String[] args){  // /" 是雙引號的Unicode轉義字符  System.out.println("a/".length()  +/"b".length());  }  } 

p lic class EscapeRout{p lic static void main(String[] args){// /" 是雙引號的Unicode轉義字符System.out.println("a/".length()+/"b".length());}}

對該程序的一種很膚淺的分析會認為它應該打印出26,因為在由兩個雙引號"a/".length()+/"b"標識的字符串之間總共有26個字符。稍微深入一點的分析會認為該程序應該打印16,因為兩個Unicode轉義字符每一個在源文件中都需要用6個字符來表示,但是它們只表示字符串中的一個字符。因此這個字符串應該比它的外表看其來要短10個字符。如果你運行這個程序,就會發現事情遠不是這么回事。它打印的既不是26也不是16,而是2。

理解這個謎題的關鍵是要知道:Java對在字符串字面常量中的Unicode轉義字符沒有提供任何特殊處理。編譯器在將程序解析成各種符號之前,先將Unicode轉義字符轉換成為它們所表示的字符[JLS 3.2]。因此,程序中的第一個Unicode轉義字符將作為一個單字符字符串字面常量("a")的結束引號,而第二個Unicode轉義字符將作為另一個單字符字符串字面常量("b")的開始引號。程序打印的是表達式"a".length()+"b".length(),即2。

如果該程序的作者確實希望得到這種行為,那么下面的語句將要清楚得多:

Java代碼System.out.println("a".length()+"b".length()); 

更有可能的情況是該作者希望將兩個雙引號字符置于字符串字面常量的內部。使用Unicode轉義字符你是不能實現這一點的,但是你可以使用轉義字符序列來實現[JLS 3.10.6]。表示一個雙引號的轉義字符序列是一個反斜杠后面緊跟著一個雙引號(/”)。如果將最初的程序中的Unicode轉義字符用轉義字符序列來替換,那么它將打印出所期望的16(錯誤,應該是14,不知道是怎么會出來16):

Java代碼System.out.println("a/".length()+/"b".length());

許多字符都有相應的轉義字符序列,包括單引號(/')、換行(/n)、制表符(/t)和反斜線(//)。你可以在字符字面常量和字符串字面常量中使用轉義字符序列。實際上,你可以通過使用被稱為八進制轉義字符的特殊類型的轉義字符序列,將任何ASCII字符置于一個字符串字面常量或一個字符字面常量中,但是最好是盡可能地使用普通的轉義字符序列。

普通的轉義字符序列和八進制轉義字符都比Unicode轉義字符要好得多,因為與Unicode轉義字符不同,轉義字符序列是在程序被解析為各種符號之后被處理的。

ASCII是字符集的最小公共特性集,它只有128個字符,但是Unicode有超過65,000個字符。一個Unicode轉義字符可以被用來在只使用ASCII字符的程序中插入一個Unicode字符。一個Unicode轉義字符精確地等價于它所表示的字符。

Unicode轉義字符被設計為用于在程序員需要插入一個不能用源文件字符集表示的字符的情況。它們主要用于將非ASCII字符置于標識符、字符串字面常量、字符字面常量以及注釋中。偶爾地,Unicode轉義字符也被用來在看起來頗為相似的數個字符中明確地標識其中的某一個,從而增加程序的清晰度。

總之,在字符串和字符字面常量中要優先選擇的是轉義字符序列,而不是Unicode轉義字符。Unicode轉義字符可能會因為它們在編譯序列中被處理得過早而引起混亂。不要使用Unicode轉義字符來表示ASCII字符。在字符串和字符字面常量中,應該使用轉義字符序列;對于除這些字面常量之外的情況,應該直接將ASCII字符插入到源文件中。

 

 

 

轉義序列含義/n 回車(/ )/t 水平制表符(/ )/b 空格(/)/r 換行(/ )/f 換頁(/ )/' 單引號(/')/" 雙引號(/")// 反斜杠(//)/ddd 三位八進制/? 四位十六進制JAVA中轉義字符:1.八進制轉義序列:/ + 1到3位5數字;范圍'/000'~'/377'/0:空字符2.Unicode轉義字符:/u + 四個十六進制數字;0~65535/:空字符八進制的是1到3個數字并且注意數值范圍,如果超了范圍也會編譯錯誤的,而十六進制的轉義必須是4個十六進制數字,而且有一些無法轉義,如'/ ',無法轉移,會出現編譯錯誤,而且相當多的數字沒有對應的字符,只會轉義成問號而對于數字的轉義,只要不超過范圍既可以了。3.特殊字符:就3個 /":雙引號 /':單引號 //:反斜線4.控制字符:5個 /'單引號字符 // 反斜杠字符 /r 回車 /n換行 /f 走紙換頁 /t 橫向跳格 /b退格點的轉義:. ==> .美元符號的轉義:$ ==> $乘方符號的轉義:^ ==> ^左大括號的轉義:{ ==> {左方括號的轉義:[ ==> [左圓括號的轉義:( ==> (豎線的轉義:| ==> |右圓括號的轉義:) ==> )星號的轉義:* ==> *加號的轉義:+ ==> +問號的轉義:? ==> ?反斜杠的轉義: ==> /


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 龙川县| 永胜县| 古田县| 清流县| 日喀则市| 正宁县| 湘潭市| 娄烦县| 柳州市| 普兰店市| 凤台县| 钦州市| 疏附县| 恭城| 塔城市| 宜春市| 昌邑市| 阿城市| 基隆市| 张家港市| 西乌| 百色市| 伊通| 桐庐县| 胶州市| 稻城县| 乌审旗| 仪征市| 襄城县| 巴林左旗| 肥西县| 伊春市| 芷江| 开江县| 广州市| 运城市| 卢氏县| 文山县| 合阳县| 军事| 依兰县|