“朋友,真羨慕你。學習新事物真是太好了!今天有一個有趣的新話題等著你——文字。”
“顯然我應該說我是這個星球上最快樂的機器人學生,Rishi。好吧,我準備好吸收新知識了!”
“讓我們馬上開始吧。文字是直接寫在程序代碼中的特定數據。我們不是在談論任何數據。我們只是在談論原始類型和字符串。
例如,假設您有以下代碼:
代碼 | 文字 |
---|---|
|
|
“這段代碼中的文字是數字5、數字10和字符串‘ Sum = ’。
整數文字
“在 Java 中,一切,包括文字,都有一個類型。代碼中的所有整數文字(整數)都是int。int 類型是標準的 Java 整數類型。”
“我知道這種,用過。”
“你還記得除 int 之外的其他整數類型嗎?一些佔用內存空間較小的整數類型?”
“當然!字節和短。”
“就是這些。因此,如果在您的代碼中您決定將整數文字分配給 byte 或 short 類型的變量,則不會有任何問題。主要的是文字值位於值的範圍內變量的類型可以存儲。Java 編譯器足夠聰明,可以理解一個字節變量可以被賦值為整數文字 100。
例子:
代碼 | 描述 |
---|---|
|
這將編譯得很好。 |
|
這將編譯得很好。 |
|
會出現編譯錯誤,因為最大字節值為 127。 |
“那長款呢?”
“我們也可以在代碼中編寫這種類型的文字。為此,請在整數末尾添加拉丁字母‘L’或‘l’。
例子:
代碼 | 描述 |
---|---|
|
這將編譯得很好。 |
|
編譯錯誤:30 億對於 int 文字來說太大了。 |
|
編譯錯誤:字面量是long,變量是int。此外,30 億比最大整數還多。 |
“你有沒有註意到閱讀 10 位或更多數字的大量數字是多麼困難?
“是的,如果你沒有啟用你的 robovision,那麼我們談論的是 30 億還是 30 將不會立即變得清晰。”
“為了使代碼更具可讀性(這很重要!),Java 允許在數字文字中插入下劃線(它們不會影響數字的值)。
“上面的例子可以用下劃線重寫,使它更清楚一點:
代碼 | 描述 |
---|---|
|
這將編譯得很好。 |
|
編譯錯誤:30 億對於 int 文字來說太大了。 |
|
編譯錯誤:字面量是long,變量是int。此外,30 億比最大整數還多。 |
“這樣讀起來更方便,雖然用逗號代替下劃線會更熟悉!”
“但我們不能在數字文字中使用逗號,因為它們已經用於其他目的。例如,用於在調用方法時將參數彼此分開。
實數文字
“您可能已經猜到,在您的代碼中,您不僅可以指定整數,還可以指定浮點文字(實數)。”
“雙打和花車?”
“是的。實際上,規則很簡單:如果代碼中的數字中有小數點,那麼該數字就是浮點數。而且不僅僅是任何文字,而是雙精度文字。要創建浮點文字,你需要在數字末尾加上字母“F”(或“f”)。
例子:
代碼 | 描述 |
---|---|
|
這將編譯得很好。 |
|
這將編譯得很好。 |
|
這將編譯得很好。 |
|
這將編譯得很好。 |
|
會出現編譯錯誤:變量是float,但字面量是double。 |
“順便說一句,您可以通過簡單地附加後綴“F”(對於float)或 D(對於double)將整數文字顯式轉換為 float 或 double 文字。示例:
代碼 | 描述 |
---|---|
|
這將編譯得很好。 |
|
這將編譯得很好。 |
|
會出現編譯錯誤:變量是 int,但字面量是double。 |
“浮點文字可以使用科學記數法:除了數字的帶符號部分,您還可以指定十的冪。示例:
文字 | 數學符號 | 最終價值 |
---|---|---|
1.23對2 | 1.23*10 2 | 123.0 |
1.23對3 | 1.23*103 | 1230.0 |
1.23乙-6 | 1.23*10 -6 | 0.00000123 |
1對6 | 1.0 *10 6 | 1000000.0 |
1電子-10 | 1.0*10 -10 | 0.0000000001 |
字符串文字
“您還可以在代碼中指定整行文本。為了告訴編譯器將字符串視為數據(文字)而不是代碼的一部分,整個字符串兩邊都用雙引號括起來。
"如果一行代碼中有多個雙引號,則將它們分成一對。第一個雙引號表示文字的開始。下一個表示文字的結尾。之後的下一個再次標記新文字的開始。下一個標記第二個文字的結尾。依此類推。
“每個這樣的文字都是一個String。
例子
代碼 | 解釋 |
---|---|
|
一行有 5 個文字。它們每個都由一個“+”字符組成 |
|
這個文字是一個空字符串。沒有字符的字符串。 |
|
這裡有兩個字面量。結果將是字符串“2+3-5”,而不是數字 |
|
這裡還有兩個文字。這裡沒有返回語句。 |
“如果字符串文字太長,可以將其分成幾行並用‘加號運算符’粘在一起:
代碼 | 解釋 |
---|---|
|
如果將此行輸出到屏幕,那麼所有文本將顯示在一行中! |
字符文字
“如果我需要的文字是單個字符而不是字符串怎麼辦?我應該創建一個由單個字符組成的字符串嗎?”
“不,在那種情況下你需要一個類型為.的文字char
。你能猜出這樣一個文字的開始和結束是如何指定的嗎?”
“單引號?”
"是的,單引號內必須有一個字符,而且只有一個字符。不能使用空單引號。
例子:
代碼 | 解釋 |
---|---|
|
類型為 char 的文字。它包含拉丁字母“A”。 |
|
類型為 char 的文字。它包含“@”符號 |
|
類型為 char 的文字。它包含一個日語字符。而這也是可能的。 |
|
類型為 char 的文字。它包含一個由其編號指定的 Unicode 字符。 |
“最後一個示例使用特殊符號分配 Unicode 字符:首先我們有前綴\u
,然後是 4 個十六進製字符。您將在下一課中了解更多相關信息。”
GO TO FULL VERSION