當前位置:首頁 » 編程語言 » java特殊字元

java特殊字元

發布時間: 2022-11-16 02:04:38

java 特殊符號輸出 絕對基礎

JAVA中轉義字元:

1.八進制轉義序列:\ + 1到3位5數字;范圍'\000'~'\377'
\0:空字元
2.Unicode轉義字元:\u + 四個十六進制數字;0~65535
\u0000:空字元
3.特殊字元:就3個
\":雙引號
\':單引號
\\:反斜線
4.控制字元:5個

\' 單引號字元

\\ 反斜杠字元

\r 回車

\n 換行

\f 走紙換頁

\t 橫向跳格

\b 退格

點的轉義:. ==> u002E
美元符號的轉義:$ ==> u0024
乘方符號的轉義:^ ==> u005E
左大括弧的轉義:{ ==> u007B
左方括弧的轉義:[ ==> u005B
左圓括弧的轉義:( ==> u0028
豎線的轉義:| ==> u007C
右圓括弧的轉義:) ==> u0029
星號的轉義:* ==> u002A
加號的轉義:+ ==> u002B
問號的轉義:? ==> u003F
反斜杠的轉義: ==> u005C
======================================================================
下面的程序使用了兩個Unicode的轉義字元,它們是用其十六進制代碼來表示Unicode字元。那麼,這個程序會列印什麼呢?
Java代碼
public class EscapeRout{
public static void main(String[] args){
// \u0022 是雙引號的Unicode轉義字元
System.out.println("a\u0022.length()
+\u0022b".length());
}
}

public class EscapeRout{
public static void main(String[] args){
// \u0022 是雙引號的Unicode轉義字元
System.out.println("a\u0022.length()
+\u0022b".length());
}
}

對該程序的一種很膚淺的分析會認為它應該列印出26,因為在由兩個雙引號"a\u0022.length()+\u0022b"標識的字元串之間總共有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字元插入到源文件中。

Ⅱ 在java中,\是什麼意思

:橫向製表(HT)(跳到下一個TAB位置)。

是補全當前字元串長度到8的整數倍,最少1個最多8個空格,補多少要看你 前字元串長度。

比如當前字元串長度10,那麼 後長度是16,也就是補6個空格。

如果當前字元串長度12,此時 後長度是16,補4個空格。

拓展資料:

常用轉義字元表

Ⅲ 如何在Java中獲得特殊字元

java中的特殊符號不能直接輸出,需要使用轉義字元進行轉義才能正常輸出,如下: package com.bean; public class Change {     public String ChangeText(String text){         char[]cs=text.toCharArray();         StringBuffer sb = new StringBuffer();         for(int i = 0 ; i<cs.length; i++){             char c = cs[i];             if(c==' '){                 sb.append(" ");//將空格轉換成              }else if(c=='\n'){                 sb.append("
");             }else if(c=='>'){                 sb.append(">");             }else if(c==',<,&,一般用於解析html文

Ⅳ java中的字元串中"\\"表示什麼意思

"\\"表示字元"\"。
java中"\"是特殊字元,表示轉義的意思,如果要表示實際的字元"\",則需要加2個"\",也就是"\\"

Ⅳ java特殊字元處理

「.」 是特殊字元,正確表示應該是「\.」。

  1. 另外還有replace ,replaceAll ,這兩者都是由正則表達式類庫實現的,但是 replace 採用的是字元串原有的意思來替換,而 replaceAll 則是按照正則表達式的字元串來替換,正則表達式中有 15 個元字元,是有特殊意義的,使用時需要轉義,這 15 個字元分別是

    ( [ { ^ - $ ** } ] ) ? * + .

  2. 轉義時可以採用兩種方式:

  • 正則表達式中表述上述字元,需要在前面加上「」,但是「」是 Java 中的特殊字元,在 Java 代碼中用「\」表示正則表達式中的「」。

  • 在需要保留本身意義的前後加上 Q 和 E,把特殊字元放在這裡面就成普通字元了。

  • 若想表示一個「」,在 Java 代碼中需要使用「\\」。

Ⅵ java 讀取 特殊字元

貌似可以用緩沖流讀取文件,使用readLine()方法,一次讀取一行
java.io.File
java.io.InpuStream
java.io.BufferedReader
、、、、、、
GB2312使用字元流,如果是位元組流可能會出現亂碼。

Ⅶ 關於java如何顯示特殊字元的

java中replaceAll將特殊字元顯示出來方法://reg表示要替換的字元串//replacement表示替換字元串public String replaceAll(String regex,String replacement) //具體例子public class Test { public static void main(String[] args) { String str="Hello World"; String reg="o"; System.out.println(str.replaceAll(reg, "ww")); } }

Ⅷ Java替換特殊字元的方法是什麼 做好Java必須會的內容就在這里了

Java替換特殊字元的方法是什麼?在本實例中為保證學生輸入的 Java 文件名合格,將利用 StringBuffer 類實現對 Java 文件名中的特殊符號進行替換,包括將中文狀態下的“。”和全形狀態下的“.”替換為英文狀態下的“.”。

在本例實現過程中主要使用了 StringBuffer 類的字元查找和替換方法,實現用Java替換特殊字元代碼如下:

import java.util.Scanner;

public class test2 {

public static void main(String[] args) {

System.out.println("請輸入你要提交的Java文件名稱:");

Scanner input = new Scanner(System.in);

String fileName = input.next(); // 獲取用戶輸入的 java 文件名稱

// 定義StringBuffer對象,字元串內容為用戶輸入的java文件名稱

StringBuffer file = new StringBuffer(fileName);

// 獲取英文狀態下的"."是否存在

int index = file.lastIndexOf(".");

// 判斷中文狀態下的"。"和"."是否存在

int errIndex1 = file.lastIndexOf("。");

int errIndex2 = file.lastIndexOf(".");

if (index != -1 && file.substring(index + 1, file.length()).equals("java")) {

System.out.println("作業提交成功!");

} else if (errIndex1 != -1 && file.substring(errIndex1 + 1, file.length()).equals("java")) {

// 將中文狀態下的"。"改為英文狀態下的"."

file.setCharAt(errIndex1, '.');

System.out.println("你的書寫有誤,已改正為:" + file + "rn提交成功!");

} else if (errIndex2 != -1 && file.substring(errIndex2 + 1, file.length()).equals("java")) {

// 將全形狀態下的"."改為英文狀態下的"."

file.setCharAt(errIndex2, '.');

System.out.println("你的書寫有誤,已改正為:" + file + "rn提交成功!");

} else {

System.out.println("你提供的java文件名稱有誤,請核實!");

}

}

}[page]

Java替換特殊字元的方法是什麼?運行該用Java替換特殊字元程序,當用戶錄入的 Java 文件名稱中的為中文狀態的“。”和“.”時,修改為英文狀態下的“.”,然後再進行提交,如下所示:

請輸入你要提交的Java文件名稱:

myexapmle。java

你的書寫有誤,已改正為:myexample.java

在該程序中,實現替換特殊字元步驟如下所示:

定義了一個 String 類型的變數,並賦值為用戶輸入的 Java 文件名稱。

使用 StringBuffer 的 StringBuffer(String str) 構造函數將該變數的值作為 StringBuffer 對象的值。

獲取用戶輸入字元串中(英文和中文)的位置。

使用多重 if 選擇語句判斷用戶輸入的字元串中是否包含英文狀態下的,並且後面的字元串是否為“java”,如果條件成立,則表示用戶輸入的信息無誤,提交成功。

在 else if 中判斷用戶輸入的字元串中是否包含中文狀態下的“。”和“.”,並且“。”和後面的字元串為“java”,如果判斷通過,則調用 StringBuffer 類中的 setCharAt() 方法修改“。”為“.”,再提交。

本篇《Java替換特殊字元的方法是什麼?這些內容才是做好Java必須會的》到這里就已經結束了,並不是所有的數據類型都可以指定直接數量,通常只有三種類型:原語、字元串和NULL,環球網校的小編祝您PHP學習之路順利,如果你還想知道更多Java知識,那麼可以點擊本站的其他文章進行學習。

Ⅸ java 處理特殊字元

首先你的存放的txt文件的編碼格式要支持哪個特殊字元(utf-8一般都支持),然後就寫就是正常io的讀寫了

Ⅹ java如何將特殊字元轉義

在要轉義的特殊字元前加上反斜杠 例如 \\n表示\n 不知道你要轉義什麼字元!!

如果是正則表達式中 請看如下例子:

$

匹配輸入字元串的結尾位置。如果設置了 RegExp 對象的 Multiline 屬性,則 $ 也匹配 『\n' 或 『\r'。要匹配 $ 字元本身,請使用 \$。

( )

標記一個子表達式的開始和結束位置。子表達式可以獲取供以後使用。要匹配這些字元,請使用 \( 和 \)。

*

匹配前面的子表達式零次或多次。要匹配 * 字元,請使用 \*。

+

匹配前面的子表達式一次或多次。要匹配 + 字元,請使用 \+。

.

匹配除換行符 \n之外的任何單字元。要匹配 .,請使用 \。

[ ]

標記一個中括弧表達式的開始。要匹配 [,請使用 \[。

?

匹配前面的子表達式零次或一次,或指明一個非貪婪限定符。要匹配 ? 字元,請使用 \?。

\

將下一個字元標記為或特殊字元、或原義字元、或向後引用、或八進制轉義符。例如, 『n' 匹配字元 『n'。'\n' 匹配換行符。序列 『\\' 匹配 「\」,而 『\(' 則匹配 「(」。

^

匹配輸入字元串的開始位置,除非在方括弧表達式中使用,此時它表示不接受該字元集合。要匹配 ^ 字元本身,請使用 \^。

{ }

標記限定符表達式的開始。要匹配 {,請使用 \{。

|

指明兩項之間的一個選擇。要匹配 |,請使用 \|。

熱點內容
創建郵箱地址伺服器連接錯誤 發布:2025-01-13 09:49:24 瀏覽:723
linux編輯文檔 發布:2025-01-13 09:47:51 瀏覽:435
二手製冷壓縮機 發布:2025-01-13 09:43:59 瀏覽:585
網魚電腦密碼多少 發布:2025-01-13 09:33:46 瀏覽:464
如何取消子賬號密碼 發布:2025-01-13 09:22:41 瀏覽:347
抖音搜索有緩存 發布:2025-01-13 09:17:28 瀏覽:590
c語言字元數組連接 發布:2025-01-13 08:55:11 瀏覽:901
國二c語言編程題目 發布:2025-01-13 08:45:41 瀏覽:285
ipad軟體如何加密 發布:2025-01-13 08:28:59 瀏覽:278
android的文件操作 發布:2025-01-13 08:24:48 瀏覽:173