變量是用來存數(shù)的蓖宦,是指代的是它所存的那個(gè)數(shù)。如:
int a;//聲明一個(gè)整型變量為a蹲嚣。
int b,c,d;//聲明三個(gè)整型變量為a,b,c净嘀。
變量名命名規(guī)則:
1)可以由字母、數(shù)字侠讯、"$"符挖藏、"_"符四種構(gòu)成,但不能以數(shù)字開頭厢漩;
2)嚴(yán)格區(qū)分大小寫膜眠;
3)可以使用中文,但不提倡溜嗜,易出現(xiàn)錯(cuò)誤或不兼容宵膨;
4)不能使用關(guān)鍵字、保留字炸宵。
另外辟躏,命名要求英文的“見名知意”,駝峰表示法土全,如studentName捎琐,第一個(gè)單詞字母小寫,后面的單詞首字母大寫涯曲。
對(duì)于第一次變量的使用野哭,要聲明及初始化才可使用,注意拼寫是否錯(cuò)誤幻件。如:
int a = 2;//聲明同時(shí)初始化賦值拨黔。
int a;a = 2;//先聲明,后賦值绰沥。
基礎(chǔ)數(shù)據(jù)類型:
整數(shù)類型有--byte篱蝇,short,int徽曲,long ? ?小數(shù)類型有--float零截,double
字符型--char ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 布爾型--boolean
1)int:整型,4個(gè)字節(jié)秃臣,-21個(gè)多億到21個(gè)多億涧衙;
? ? 整數(shù)直接量默認(rèn)為int型哪工,但不能超出范圍,超范圍則編譯錯(cuò)誤弧哎;
? ? 兩個(gè)整數(shù)相除雁比,結(jié)果還是整數(shù),小數(shù)位無條件舍棄撤嫩;
? ? 整數(shù)運(yùn)算時(shí)超出范圍偎捎,則發(fā)生溢出,溢出是需要避免的序攘。
2)long:長(zhǎng)整型茴她,8個(gè)字節(jié),很大很大很大程奠;
? ? 長(zhǎng)整型直接量需在數(shù)字后加L或l丈牢;
? ? 運(yùn)算時(shí)或有可能發(fā)生溢出,建議在第1個(gè)數(shù)字后加L瞄沙;
? ? System.currentTimeMillis()用于獲取自1970.1.1零時(shí)到此時(shí)此刻的毫秒數(shù)赡麦。
3)double:浮點(diǎn)型,8個(gè)字節(jié)帕识,很大很大很大;
? ? 浮點(diǎn)數(shù)直接量默認(rèn)為double型遂铡,表示float需在數(shù)字后加F或f肮疗;
? ? double型數(shù)據(jù)參與運(yùn)算時(shí),有可能會(huì)出現(xiàn)舍入誤差扒接。
4)boolean:布爾型伪货,1個(gè)字節(jié);
? ? 只能取值為true和false钾怔。
5)char:字符型碱呼,2個(gè)字節(jié);
? ? 采用Unicode編碼格式宗侦,一個(gè)字符對(duì)應(yīng)一個(gè)碼(0到65535)愚臀,表現(xiàn)形式的是char字符,但實(shí)質(zhì)上存儲(chǔ)的是int碼矾利,ASCII碼('a'--97? 'A'--65? '0'--48)姑裂;
? ? 字符必須放在單引號(hào)中,有且僅有一個(gè)男旗;
? ? 特殊字符需通過\來轉(zhuǎn)義舶斧;
數(shù)據(jù)類型的轉(zhuǎn)換:
1)自動(dòng)類型轉(zhuǎn)換(隱式類型轉(zhuǎn)換)--小轉(zhuǎn)大,不會(huì)損失精度察皇。
? ? byte----short----int----long----float----double
? ? ? ? ? ? ? ? char----int
例:long a = 100;
2)強(qiáng)制轉(zhuǎn)化--大轉(zhuǎn)小茴厉,可能會(huì)造成的精度喪失和溢出。
例:int a=(int)10000000000L;
int直接量可以直接賦值給byte、char和short矾缓,只要不超過其表示范圍怀酷;byte、char而账、short三種類型參與運(yùn)算時(shí)胰坟,先一律轉(zhuǎn)換成int類型再進(jìn)行運(yùn)算。
最后泞辐,介紹Scanner的使用:
1)在package下:
? ? import java.util.Scanner;
2)在main()方法中:
? ? Scanner scan = new Scanner(System.in);
3)在第2步之下:
? ? System.out.println("請(qǐng)輸入年齡:");
? ? int age = scan.nextInt();
? ? System.out.println("請(qǐng)輸入價(jià)格:");
? ? double price = scan.nextDouble();