一、字面值定義
建立一個Hero對象會用到new關鍵字,但是給一個基本類型變量指派卻不是用new. 因為基本類型是Java語言裡的一種内置的特殊資料類型,并不是某個類的對象。
給基本類型的變量指派的方式叫做字面值,示例如下:
float hp = 313f; int armor = 24; |
二、整數字面值
- 當以l或者L結尾的時候,一個整數字面值是long類型,否則就是int類型。 建議使用大寫的L而非小寫的l,因為容易和1混淆。
- byte,short,int和long的值都可以通過int類型的字面值來建立。整數的字面值可以用如下四種進制來表示:
- 十進制: 基 10, 包含從0-9的數字,平常用的就是這種
- 十六進制: 基 16, 包含從0-9的數字,和從A-F的字母。
- 八進制: 基 8, 包含從0-7的數字
- 二進制: 基 2, 包含0和1。(從 JAVA7開始就可以建立 二進制的字面值了)
public class HelloWorld { public staticvoid main(String[] args) { long//以L結尾的字面值表示long型 int//預設就是int型 int//16進制 int//8進制 int//2進制 System.out.println(oxVal); } } |
三、浮點數字面值
- 當以f或者F結尾的時候,就表示一個float類型的浮點數,否則就是double類型(以d或者D結尾,寫不寫都可以)。
- 浮點數還可以用E或者e表示(科學計數法)
- e2表示10的二次方,即100
- 1.234e2 = 1.234x100
public class HelloWorld { public staticvoid main(String[] args) { float// 以F結尾的字面值表示float類型 double// 預設就是double類型 double// 科學計數法表示double } } |
四、字元和字元串字面值
- 字元的字面值放在單引号中
- 字元串的字面值放在雙引号中
- 需要注意的是,\表示轉義,比如需要表示制表符,回車換行,雙引号等就需要用 \t \r \n \" 的方式進行
public class HelloWorld { public staticvoid main(String[] args) { "蓋倫"; char'c'; //以下是轉義字元 char'\t'; //制表符 char'\r'; //回車 char'\n'; //換行 char'\"'; //雙引号 char'\''; //單引号 char'\\'; //反斜杠 } } |
五、練習及答案
題目:
定義如下變量,然後為每種不同類型的變量賦予合法的字面值
byte b;
short s;
int i;
long l;
float f;
double d;
char c;
String str;
比如:
b = 12; |
(因為b是byte類型的,250超過了byte類型的範圍)
b= 250; |
官方答案:
public class HelloWorld { public staticvoid main(String[] args) { byte b = 24; short s = 250; int i = 1400000000; long l = 3000000; float f = 9.11f; double d = 0.618; char'胖'; "您的身材已經被和諧"; } } |
個人整理答案: