短整型(short)、整型(int)和長整型(long),它們均可以定義整型變量,可是因爲分配的內存空間不一樣,所能表示的數據的長度也不一樣。java
咱們能夠定義並初始化一個整型變量:android
int a=100;
那麼變量a最大隻能表示2147483647。若是賦值超過這個數,程序會報錯,咱們要根據實際須要使用不一樣的整型類型。下面咱們從新給a賦值測試
a=2147483647;
這個數據比較大,對咱們而言比較難以看清,JDK 7以後整型數據咱們可使用如下這種方式賦值編碼
a=2_147_483_647;
另外咱們定義整型時通常使用十進制表示,java也提供了定義爲八進制和十六進制來表示:spa
八進制就是隻能表示:0 1 2 3 4 5 6 7 ,code
注意:八進制必須以0開頭。如:對象
0123 045 098 046
十六進制:blog
0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
注意:以十六進制表示時,需以0x或0X開頭,如:內存
0x8a 0Xff 0X9A 0x12
還有就是對長整型的初始化和賦值時要主意,通常咱們定義一個整數時默認都是整型,爲了表示長整型咱們須要在整數的後面加一個英文字符'L'或者'l',因爲英文字符'l'和數字‘1’比較相似,因此咱們習慣使用大寫字母'L'。如:作用域
long a=9L; long b=156L;// 長整型必須以L作結尾
浮點數類型有float(32位)和double(64位)兩種類型,分別叫作單精度浮點數和雙精度浮點數,表示浮點數時,要在後面加上f(F)或者d(D),用指數表示也能夠。注意:因爲小數常量的默認類型爲double型,因此float類型的後面必定要加f(F),用以區分。初始化和賦值時除了支持通常的小數的寫法外,也支持科學記數法。如如下例子都是能夠的。
float a=2.4f; float b=2e3f, double c=3.6d; double d=3.44; float e=5.022e+23f
上面這些定義都是合法的。
布爾類型比較特殊,它的值只有兩種:true和false。布爾類型通常用於條件判斷。與C語言不一樣,C語言可以使用整數0表示false,而非0表示true,可是在java中不能夠這樣,表示布爾型只能使用true和false,例子以下:
boolean flag=true;
boolean f=false;
字符常量是由英文字母、數字、轉義序列、特殊字符等的字符所表示,它的值就是字符自己,在java中使用單引號「’」表示,每一個字符佔用兩個字節。如:
'a' '8' '\t' '\u0027'
可使用全球統一編碼(Unicode),碼值加上\u來表示對應的字符, 採用Unicode的目的是爲了覆蓋全球各類各類語言使用的不一樣的語言標記,分爲UTF-8和UTF-16。
字符串是天然界描述信息很經常使用的一種形式,所以使用很是頻繁。Java中使用用雙引號括起來進行標示,如:
"Hello World" "123" "Welcome \nXXX"
使用字符串時須要注意,咱們存儲信息時會帶上一些特殊的方便人類閱讀的格式標記,好比回車換行顯示、或者直接想標示一個雙引號,這是就須要使用轉義字符的機制來實現,所以轉義字符的目的是在字符串中標示一些特殊的標記信息,格式使用一個\開頭,形如:
\r表示接受鍵盤輸入,至關於按下了回車鍵; \n表示換行; \t表示製表符,至關於tab鍵; \b表示退格鍵,至關於Back Space; \'表示單引號,\"是雙引號; \\表示一個斜槓「\」。
好比上面的"Welcome \n XXX",它的運行結果是:
Welcome
XXX
null字面量:用null表示,表示爲空,注意在邏輯上來講:0不是空。null值在定義對象賦初值時使用。
與C語言不一樣,java的全部的變量都必須在類中聲明,不容許有變量不在類中聲明的,固然變量也是是有具體的使用範圍的,這種範圍就是變量的做用域。聲明在class的根語句塊的變量是具備全局做用域,就是在本程序內部任意位置都訪問獲得,被稱做全局變量。局部變量會覆蓋全局變量。以下面這個例子:
public class Tt { int i = 100;// 類的全局變量 public void test() { System.out.println("訪問的是全局變量i=" + i); int i = 50;// main方法中的全局變量,覆蓋全局變量 System.out.println("訪問的是局部變量i=" + i); } public static void main(String[] args) { Tt tt=new Tt(); tt.test(); } }
咱們聲明瞭一個全局變量i,這個變量i的做用域在整個類中均可以訪問,而後咱們定義了一個普通方法test,在這個方法體中,咱們也能夠訪問全局變量i,可是若是我在這個方法裏也聲明瞭一個同名的變量i,也就是局部變量,那麼局部變量i會覆蓋覆蓋全局變量i,因此第一個i輸出的是100,而第二個i輸出的時50,你能夠在main方法中調用這個方法測試一下。
常量就是在程序運行中不變的值,使用final關鍵字進行聲明。
final double rate = 3.1415926;
在java中也能夠用public static final修飾一個自定義字面量,或者使用枚舉類型也能夠表示一組字面量,枚舉類型咱們後面章節討論。final關鍵字和public關鍵字咱們也會在後面再講解
public static final String ONEEDUNAME=」java and android 自學網」;//定義一個字符串常量