辨別符:
組成:26個英文字母大小寫,數字,0-9,符号:$,_
規則:
1.數字不可以開頭(1ab)
2.不能使用關鍵字(class)
java嚴格區分大小寫
Java中的一些命名規範:
1.包名:xxyyzz……
2.類名/接口名:XxxYyyZzz……
3.變量名/函數名:xxYyyZzz……
4.常量名:XXX_YYY_ZZZ……
常量:
![]()
day02(上)_常量,變量 整數常量幾種特殊表現形式:
八進制:0123(十進制的83)
十六進制:0x13(0X13)
二進制
注意:
長整形必須以l(L小寫/小寫)結尾:9l,1238238238L
單精度浮點型(float)以f結尾:3.6f, .4f, 5.022e+23f
變量:
基本類型:
![]()
day02(上)_常量,變量
注意:整數預設:int,小數預設:double
基本類型轉換:
例子:class TypeConversion1 { public static void main(String[] args) { byte b=1;//判斷1這個整形常量在不在-128~127範圍内,在則正确,否則報錯 //b=b+2;//ERROR!,此時b的資料類型提升為int,與2(預設int),和為int //是以不能放在byte變量中 b=(byte)(b+2);//把b+2的值強制轉換為byte指派給b,可能丢失精度(看下面的情況) int i=393;//此時已經超出byte範圍 System.out.println((byte)i);//-119,發生截斷 詳解轉 截斷圖
//long i2=1238989001234;//雖然定義的long,
//但是此時已經超出預設int範圍(-2^31~2^31-1),會報錯
long i2=1238989001234L;
//float f=1.2;//由于浮點數預設為double,1.2指派給f在編譯時會報”可能損失精度”,這時可以使用單精度浮點數1.2fSystem.out.println('a'+1);//98,字元類型會被提升為int(對應ASCII碼為97) int n=123456789; float f=n;//1.234567892E8,雖然n的值沒有超出f的數值範圍, //但是float的有效數字為7位,也就是說 92這兩位數字 //已經不準了 System.out.println(f);
} }
運作結果:
截斷圖:
需要知道:計算機中的資料以二進制補碼的形式存儲,其中正數的原碼,反碼,補碼相同.
而負數的反碼為:符号位不變,其餘位取反.補碼:反碼+1.
基本類型間的轉換圖:
注意:
實心箭頭表示無精度丢失的轉換,虛箭頭表示可能有精度損失的轉換
轉換規則:
一 數值類型轉換規則
數值型資料進行運算時,如果操作數的類型不同或操作數的類型均低于int型,則
會進行自動類型轉換處理,具體規則如下:
1)如果兩個操作數中有一個是double型,則系統先将另一個操作數的值轉換為double
型,然後再進行運算,否則
2)如果兩個操作數中有一個是float型,則系統先将另一個操作數的值轉換為float
型,然後再進行運算,否則
3)如果兩個操作數中有一個是long型,則系統先将另一個操作數的值轉換為long
型,然後再進行運算,否則
4)兩個操作數的值都将被轉換為int型
5)如果隻有一個操作數(例如進行"~"位運算時)且其類型低于int型時,則将該操作數的值轉換為int型
簡單歸結為:
1) byte,short,char->int->long->float->double
2) byte,short,char之間不會互相轉換,他們三者在計算時首先會轉換為int類型
注意:Java中可以将int型數值常量直接指派給相應低級的byte,short,char型變量,
而不需要進行強制類型轉換,隻要不超出變量的數值範圍.
原文位址:http://www.liuzm.com/article/java/0900525.htm或http://hi.baidu.com/love__shuai/item/a338a7c90ca7150dad092fee
----android教育訓練 、java教育訓練、期待與您交流!----
轉載于:https://www.cnblogs.com/yiqiu2324/archive/2013/01/13/2858950.html