一篇文章帶你入門(mén)java變量與類(lèi)型
整型變量
基本語(yǔ)法格式
int 變量名 = 初始值;
代碼示例
int a = 10;
int表示變量的類(lèi)型是一個(gè)整型。在 Java 中, 一個(gè)int變量占 4 個(gè)字節(jié),和操作系統(tǒng)沒(méi)有直接關(guān)系。
什么是字節(jié)?
字節(jié)是計(jì)算機(jī)中表示空間大小的基本單位.
計(jì)算機(jī)使用二進(jìn)制表示數(shù)據(jù). 我們認(rèn)為 8 個(gè)二進(jìn)制位(bit) 為一個(gè)字節(jié)(Byte).
我們平時(shí)的計(jì)算機(jī)為 8GB 內(nèi)存, 意思是 8G 個(gè)字節(jié).
其中 1KB = 1024 Byte, 1MB = 1024 KB, 1GB = 1024 MB.
所以 8GB 相當(dāng)于 80 多億個(gè)字節(jié).
長(zhǎng)整型變量
基本語(yǔ)法格式
long 變量名 = 初始值;
代碼示例
long a = 10L;//定義一個(gè)長(zhǎng)整型變量,也可以寫(xiě)為long a = 10l;(l是L的小寫(xiě))
Java 中 long 類(lèi)型占 8 個(gè)字節(jié)
雙精度浮點(diǎn)型變量
基本語(yǔ)法格式
double 變量名 = 初始值;
代碼示例
double a = 1.0;
java中double是8個(gè)字節(jié)。Java 的 double 類(lèi)型的內(nèi)存布局遵守 IEEE 754 標(biāo)準(zhǔn)(和C語(yǔ)言一樣), 嘗試使用有限的內(nèi)存空間表示可能無(wú)限的小數(shù), 勢(shì)必會(huì)存在一定的精度誤差。 例如:
double a = 1.1; System.out.println(a * a);
結(jié)果為:

單精度浮點(diǎn)型變量
基本語(yǔ)法格式
float 變量名 = 初始值;
代碼示例
float a = 1.0f;//也可以寫(xiě)作1.0F
float 類(lèi)型在 Java 中占四個(gè)字節(jié), 同樣遵守 IEEE 754 標(biāo)準(zhǔn). 由于表示的數(shù)據(jù)精度范圍較小, 一般在工程上用到浮點(diǎn)數(shù)都優(yōu)先考慮 double, 不太推薦使用 float。
字符類(lèi)型變量
基本語(yǔ)法格式
char 變量名 = 初始值;
代碼示例
char ch = 'A';
java中一個(gè)字符占兩個(gè)字節(jié)。 因?yàn)?Java 中使用 Unicode 表示字符。
字節(jié)類(lèi)型變量
基本語(yǔ)法格式
byte 變量名 = 初始值;
代碼示例
byte a = 0;
java中byte的大小為1個(gè)字節(jié)。
短整型變量
基本語(yǔ)法格式
short 變量名 = 初始值;
代碼示例
short a = 0;
java中short占用兩個(gè)字節(jié)。
布爾類(lèi)型變量
基本語(yǔ)法格式
boolean 變量名 = 初始值;
代碼示例
boolean value = true;
boolean類(lèi)型的變量只有兩種取值,true表示真,false表示假。
Java 的 boolean 類(lèi)型和 int 不能相互轉(zhuǎn)換, 不存在 1 表示 true, 0 表示 false 這樣的用法。
boolean 類(lèi)型有些 JVM 的實(shí)現(xiàn)是占 1 個(gè)字節(jié), 有些是占 1 個(gè)比特位, 這個(gè)沒(méi)有明確規(guī)定。
簡(jiǎn)單/內(nèi)置類(lèi)型小結(jié)
| 簡(jiǎn)單類(lèi)型/內(nèi)置類(lèi)型 | 包裝類(lèi) | 大小(字節(jié)) | 取值范圍 |
|---|---|---|---|
| int | Integer | 4 | -2^31——2^31-1 |
| long | Long | 8 | -2^63——2^63-1 |
| double | Double | 8 | 4.9E-324 ——1.7976931348623157E308 |
| float | Float | 4 | 1.4E-45——3.4028235E38 |
| char | Character | 2 | 0——65535 |
| byte | Byte | 1 | -128——127 |
| short | Short | 2 | -2^15——2^15-1 |
| boolean | Boolean | JVM標(biāo)準(zhǔn)并未明確大小 | 無(wú) |
字符串類(lèi)型變量
基本語(yǔ)法格式
String 變量名 = "初始值";
代碼示例
String name = "張三";
轉(zhuǎn)義字符
| 轉(zhuǎn)義字符 | 解釋 |
|---|---|
| \n | 換行 |
| \t | 水平制表符 |
| \' | 單引號(hào) |
| \" | 雙引號(hào) |
| \\ | 反斜杠 |
例如:
String str = "My name is \"張三\""; System.out.println(str);
結(jié)果為:

字符串拼接
+表示字符串拼接。
例如:
String a = "hello "; String b = "world"; System.out.println(a+b);
結(jié)果為:

變量作用域
變量作用域指是該變量能生效的范圍, 一般是變量定義所在的代碼塊 (大括號(hào))。例如:
public class TestDemo {
public static void main(String[] args) {
{
int a = 10;
System.out.println(a);//編譯通過(guò)
}
System.out.println(a);//編譯不通過(guò),找不到變量a
}
}
變量的命名規(guī)則
- 一個(gè)變量名只能包含數(shù)字, 字母, 下劃線(xiàn)
- 數(shù)字不能開(kāi)頭.
- 變量名是區(qū)分大小寫(xiě)的
注意: 雖然語(yǔ)法上也允許使用美元符($)命名變量,但不推薦這樣命名。
命名推薦小駝峰命名法。 例如:
int maxValue = 10;
常量
常量指的是運(yùn)行時(shí)類(lèi)型不能發(fā)生改變,不能在程序運(yùn)行過(guò)程中發(fā)生修改。
字面值常量
10 // int 字面值常量(十進(jìn)制) 010 // int 字面值常量(八進(jìn)制) 由數(shù)字 0 開(kāi)頭. 010 也就是十進(jìn)制的 8 0x10 // int 字面值常量(十六進(jìn)制) 由數(shù)字 0x 開(kāi)頭. 0x10 也就是十進(jìn)制的 16 10L // long 字面值常量. 也可以寫(xiě)作 10l (小寫(xiě)的L) 1.0 // double 字面值常量. 也可以寫(xiě)作 1.0d 或者 1.0D 1.5e2 // double 字面值常量. 科學(xué)計(jì)數(shù)法表示. 相當(dāng)于 1.5 * 10^2 1.0f // float 字面值常量, 也可以寫(xiě)作 1.0F true // boolen 字面值常量, 同樣的還有 false 'a' // char 字面值常量, 單引號(hào)中只能有一個(gè)字符 "abc" // String 字面值常量, 雙引號(hào)中可以有多個(gè)字符.
final 關(guān)鍵字修飾的常量
final修飾的變量不能被更改。例如:
final int a = 10; a = 20;//編譯錯(cuò)誤
總結(jié)
本篇文章就到這里了,希望能給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Java利用TreeUtils工具類(lèi)實(shí)現(xiàn)列表轉(zhuǎn)樹(shù)
在開(kāi)發(fā)過(guò)程中,總有列表轉(zhuǎn)樹(shù)的需求,幾乎是項(xiàng)目的標(biāo)配,有沒(méi)有一種通用且跨項(xiàng)目的解決方式呢?本文將基于Java8的Lambda?表達(dá)式和Stream等知識(shí),使用TreeUtils工具類(lèi)實(shí)現(xiàn)一行代碼完成列表轉(zhuǎn)樹(shù)這一通用型需求,需要的可以參考一下2022-11-11
SpringMVC詳解如何映射請(qǐng)求數(shù)據(jù)
這篇文章主要給大家介紹了關(guān)于SpringMvc映射請(qǐng)求數(shù)據(jù)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-06-06
解析Java的InputStream類(lèi)并借助其讀取ppt文件
這篇文章主要介紹了Java的InputStream類(lèi)并借助其讀取ppt文件,講到了InputStream類(lèi)中一些常用的方法的問(wèn)題,需要的朋友可以參考下2015-11-11
Java enum的用法詳細(xì)介紹及實(shí)例代碼
這篇文章主要介紹了Java enum的用法詳細(xì)介紹及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-02-02
java微信開(kāi)發(fā)API第二步 獲取和回復(fù)消息
這篇文章主要為大家詳細(xì)介紹了java微信開(kāi)發(fā)API第二步,獲取消息和回復(fù)消息,感興趣的小伙伴們可以參考一下2016-06-06
零基礎(chǔ)搭建boot+MybatisPlus的詳細(xì)教程
這篇文章主要介紹了零基礎(chǔ)搭建boot+MybatisPlus,首先需要?jiǎng)?chuàng)建數(shù)據(jù)庫(kù)表和創(chuàng)建boot項(xiàng)目使用mybatisplus操作數(shù)據(jù)庫(kù),本文通過(guò)示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03
SpringAMQP消息隊(duì)列實(shí)戰(zhàn)教程
這篇文章主要介紹了SpringAMQP消息隊(duì)列的相關(guān)知識(shí),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2024-02-02

