①.定義: 在程序執行過程當中,其值不能夠發生改變html
②.分類:json
整數常量: 全部整數數組
小數常量: 全部小數優化
字符常量: 用單引號括起來的內容,裏面只能放單個數字/單個字母/單個符號(能夠是空格字符,但不能什麼都不放)spa
字符串常量: 用雙引號括起來的內容(長度能夠爲0,即空字符串"")code
布爾常量: 只有true和falsehtm
空常量: nullblog
①.意義: Java是強類型語言,對於每一種數據都定義了明確的具體數據類型,在內存中分配配了不一樣大小的內存空間接口
②.分類: 基本數據類型, 引用數據類型內存
基本數據類型(4類8種): 整數型, 浮點型(小數型), 字符型, 布爾型
類型 | 種類 | 佔用字節大小 | 取值範圍 |
整數型 | byte | 一個字節 | -128 ~ 127 |
short | 兩個字節 | -2^15 ~ 2^15-1 | |
int | 四個字節 | -2^31 ~ 2^31-1 | |
long | 八個字節 | -2^63 ~ 2^63-1 | |
浮點型 | float | 四個字節 | 單精度 |
double | 八個字節 | 雙精度 | |
字符型 | char | 兩個字節 | 0 ~ 65535 |
布爾型 | boolean | 無明確大小 | true 和 false |
引用數據類型: 字符串, 數組, 類, 接口等
注意:
a.Java中整數默認是int類型, 小數默認是double類型
b.給變量賦值時, 若是是float/long類型, 須要在變量值後加F或L作標識(建議用大寫字母)
③.數據類型轉換
隱式轉換: 數據範圍由小 -> 大
int a = 10; byte b = 20; 隱式轉換: a = a+b; //計算時,系統會默認把byte類型提高爲int類型
強制轉換: 數據範圍由大 -> 小
int a = 10; byte b = 20; 強轉格式: b = (byte) (a+b); //計算時,a+b結果默認是int
注意: 若是超出了被賦值變量的數據類型的取值範圍,則整數會數據溢出, 小數會損失精度
①定義: 在程序執行過程當中,在某個範圍內其值能夠發生改變的量
②格式: 數據類型 變量名 = 變量值;
注意:
a.同一區域內不能使用相同的變量名
b.局部變量在使用以前必須先賦值(若是隻聲明而不使用,能夠不賦值)
c.一條語句能夠定義多個變量(栗子: int a,b,c ... ;)
d.變量使用不能超過其做用域範圍(栗子: 局部代碼塊內聲明的變量只在該代碼塊{}內有效)
☆.拓展:
①.變量相加和常量相加的區別:
byte a = 3; byte b = 4; //變量相加 byte c1 = a+b; //常量相加 byte c2 = 3+4; 結論: 變量相加: 變量存儲的值是變化的,在編譯時沒法判斷該變量具體的值,相加的結果可能會超出byte取值範圍 常量相加: Java編譯器有常量優化機制,3和4提高爲int在計算後會判斷其結果是否在byte取值範圍內
②.混合運算時的類型轉換:
1.整數型,浮點型,字符型的混合運算: byte,short,char -> int -> long -> float -> double 1).byte,short,char之間不會相互轉換,都會自動提高爲int類型; 2).其餘類型進行混合運算時,小的數據類型會自動提高爲大的;
2.字符和字符串參與運算: 任何數據類型用+號與字符串相鏈接,都會產生新的字符串
栗子: 'a'+1: 輸出98(ASCII碼錶中,a字符對應int數值97) (char)('a'+1): 輸出b字符 "hello"+'a'+1: 輸出helloa1 'a'+1+"hello": 輸出98hello
③.ASCII碼錶
↓ASCII碼對照表,請戳這裏:↓