3.7.1 整數字面量
整數可能是在典型的程序中最常用的類型。任何一個數字的值就是一個整數字面量。例如1,2,3和42。這些都是十進制的值,這意味著對他們的描述基于數字10。還有另外2 種進制被整數字面量使用,八進制(octal,基數是8)和十六進制(hexadecimal,基數是16)。在Java 中對八進制的值通過在它的前面加一個前導0來表示。正常的十進制的數字不用前導零。這樣,看起來有效的值09將從編譯器產生一個錯誤,因為9超出了八進制的范圍0~7。程序員對數字更常用的是十六進制,它清楚地與8的大小相匹配,如8,16,32,和64位。
通過前導的0x或0X表示一個十六進制的字面量。十六進制數的范圍是0~15,這樣用A~ F(或a~f)來替代10~15。
整數字面量產生int 值,在Java 中它是32位的整數值。既然Java 對類型要求嚴格,你可能會納悶,將一個整數字面量賦給Java 的其他整數類型如byte 或long 而沒有產生類型不匹配的錯誤,怎么可能呢。慶幸的是,這個問題很好解決。當一個字面量的值被賦給一個byte 或short型的變量時,如果字面量的值沒有超過對應類型的范圍時不會產生錯誤,所以,一個在第2章中曾簡要地提及字面量,現在已經講述了內置的類型,讓我們進一步研究它們。
3.7.1 整數字面量
整數可能是在典型的程序中最常用的類型。任何一個數字的值就是一個整數字面量。例如1,2,3和42。這些都是十進制的值,這意味著對他們的描述基于數字10。還有另外2 種進制被整數字面量使用,八進制(octal,基數是8)和十六進制(hexadecimal,基數是16)。在Java 中對八進制的值通過在它的前面加一個前導0來表示。正常的十進制的數字不用前導零。這樣,看起來有效的值09將從編譯器產生一個錯誤,因為9超出了八進制的范圍0~7。程序員對數字更常用的是十六進制,它清楚地與8的大小相匹配,如8,16,32,和64位。
通過前導的0x或0X表示一個十六進制的字面量。十六進制數的范圍是0~15,這樣用A~ F(或a~f)來替代10~15。
整數字面量產生int 值,在Java 中它是32位的整數值。既然Java 對類型要求嚴格,你可能會納悶,將一個整數字面量賦給Java 的其他整數類型如byte 或long 而沒有產生類型不匹配的錯誤,怎么可能呢。慶幸的是,這個問題很好解決。當一個字面量的值被賦給一個byte 或short型的變量時,如果字面量的值沒有超過對應類型的范圍時不會產生錯誤,所以,一個轉義序列說明
續(xù)表
\f 換頁\t 水平制表符\b 退格
3.7.5 字符串字面量
Java 中的字符串字面量和其他大多數語言一樣——將一系列字符用雙引號括起來。字符串的例子如:
"Hello World"
"two\nlines"
"\"This is in quotes\""
為字符串定義的字符轉義序列和八進制/十六進制記法在字符串內的工作方法一樣。關于Java 字符串應注意的一件重要的事情是它們必須在同一行開始和結束。不像其他語言有換行連接轉義序列。
注意:你可能知道,在大多數其他語言中,包括C/C++ ,字符串作為字符的數組被實現。然而,在Java 中并非如此。在Java中,字符串實際上是對象類型。在這本書的后面你將看到,因為Java 對字符串是作為對象實現的,因此,它有廣泛的字符串處理能力,而且功能既強又好用。
整數可能是在典型的程序中最常用的類型。任何一個數字的值就是一個整數字面量。例如1,2,3和42。這些都是十進制的值,這意味著對他們的描述基于數字10。還有另外2 種進制被整數字面量使用,八進制(octal,基數是8)和十六進制(hexadecimal,基數是16)。在Java 中對八進制的值通過在它的前面加一個前導0來表示。正常的十進制的數字不用前導零。這樣,看起來有效的值09將從編譯器產生一個錯誤,因為9超出了八進制的范圍0~7。程序員對數字更常用的是十六進制,它清楚地與8的大小相匹配,如8,16,32,和64位。
通過前導的0x或0X表示一個十六進制的字面量。十六進制數的范圍是0~15,這樣用A~ F(或a~f)來替代10~15。
整數字面量產生int 值,在Java 中它是32位的整數值。既然Java 對類型要求嚴格,你可能會納悶,將一個整數字面量賦給Java 的其他整數類型如byte 或long 而沒有產生類型不匹配的錯誤,怎么可能呢。慶幸的是,這個問題很好解決。當一個字面量的值被賦給一個byte 或short型的變量時,如果字面量的值沒有超過對應類型的范圍時不會產生錯誤,所以,一個在第2章中曾簡要地提及字面量,現在已經講述了內置的類型,讓我們進一步研究它們。
3.7.1 整數字面量
整數可能是在典型的程序中最常用的類型。任何一個數字的值就是一個整數字面量。例如1,2,3和42。這些都是十進制的值,這意味著對他們的描述基于數字10。還有另外2 種進制被整數字面量使用,八進制(octal,基數是8)和十六進制(hexadecimal,基數是16)。在Java 中對八進制的值通過在它的前面加一個前導0來表示。正常的十進制的數字不用前導零。這樣,看起來有效的值09將從編譯器產生一個錯誤,因為9超出了八進制的范圍0~7。程序員對數字更常用的是十六進制,它清楚地與8的大小相匹配,如8,16,32,和64位。
通過前導的0x或0X表示一個十六進制的字面量。十六進制數的范圍是0~15,這樣用A~ F(或a~f)來替代10~15。
整數字面量產生int 值,在Java 中它是32位的整數值。既然Java 對類型要求嚴格,你可能會納悶,將一個整數字面量賦給Java 的其他整數類型如byte 或long 而沒有產生類型不匹配的錯誤,怎么可能呢。慶幸的是,這個問題很好解決。當一個字面量的值被賦給一個byte 或short型的變量時,如果字面量的值沒有超過對應類型的范圍時不會產生錯誤,所以,一個轉義序列說明
續(xù)表
\f 換頁\t 水平制表符\b 退格
3.7.5 字符串字面量
Java 中的字符串字面量和其他大多數語言一樣——將一系列字符用雙引號括起來。字符串的例子如:
"Hello World"
"two\nlines"
"\"This is in quotes\""
為字符串定義的字符轉義序列和八進制/十六進制記法在字符串內的工作方法一樣。關于Java 字符串應注意的一件重要的事情是它們必須在同一行開始和結束。不像其他語言有換行連接轉義序列。
注意:你可能知道,在大多數其他語言中,包括C/C++ ,字符串作為字符的數組被實現。然而,在Java 中并非如此。在Java中,字符串實際上是對象類型。在這本書的后面你將看到,因為Java 對字符串是作為對象實現的,因此,它有廣泛的字符串處理能力,而且功能既強又好用。