本文目錄一覽:
- 1、java里輸出時加上t.是什麼意思
- 2、java 特殊符號輸出 絕對基礎
- 3、關於java程序中使用製表符輸出數據美觀問題
- 4、在 JAVA 中使用 “\t” 製表符輸出時,怎樣設置每行元素的輸出個數?
- 5、JAVA里的製表符的問題
- 6、Java中水平製表符
java里輸出時加上t.是什麼意思
t可能是定義的變量 t.就是打出他的屬性。
比如 t是個map t.size()就是打印他的長度。
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程序中使用製表符輸出數據美觀問題
while(rs.next())//顯示結果
{
//System.out.print(n+”\t”);//把這句去掉,不要輸出,這句話會讓每一行就先輸入一個大空格
int i=1;
while(i++=col)
System.out.print(rs.getString(i-1)+”\t”);
System.out.println();
n++;
}
在 JAVA 中使用 “\t” 製表符輸出時,怎樣設置每行元素的輸出個數?
public class FindPrime
{
public static void main(String[] args)
{
int number = 100, j = 0;
for(int i = 1; i number; i++)
{
if(isPrime(i))
{
System.out.print(i + “\t”);
if(++j == 5)
{
System.out.println();
j = 0;
}
}
}
}
public static boolean isPrime(int n)
{
for(int i = 2; i * i = n; i = (i + 1) | 1)
if(n % i == 0)
return false;
return n 1;
}
}
JAVA里的製表符的問題
\t表示8個空格,如果”\t”之前無輸出的數據,那直接橫向跳8個空格,如果”\t”前有數據,那麼連同前面的數據在內加上”\t”產生的空格跳越也是8個,這種情況稱為是在同一個緩衝區內
Java中水平製表符
在字符界面中,水平製表符表示緊跟後面的文字在往右一個表格位置顯示或輸出,通常一個表格位置佔8個字符寬度,也就是相當於是把整個屏幕分成每8個字符為一個單元格大小,下一個表格位置是在下一個8的整倍數字符數的位置,使用水平製表符可以可以使文字內容在規整的位置顯示或輸出而看起來清晰整齊。如:
學號
姓名
班級
001
張三
3年1班
002
李四
4年2班
而“\t”就是水平製表符在C/C++/Java等編程語言中的轉義符號,因為在字符串中無法直接使用類似回車、水平製表符等這些看不見的字符,所以在輸入字符串時用轉義符號表示,而編譯器看到這些轉義字符能明白,並且會轉換成真正要的符號。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/241650.html