變量是用來存數的,是指代的是它所存的那個數。如:
int a;//聲明一個整型變量為a。
int b,c,d;//聲明三個整型變量為a,b,c。
變量名命名規則:
1)可以由字母、數字、"$"符、"_"符四種構成,但不能以數字開頭;
2)嚴格區分大小寫;
3)可以使用中文,但不提倡,易出現錯誤或不兼容;
4)不能使用關鍵字、保留字。
另外,命名要求英文的“見名知意”,駝峰表示法,如studentName,第一個單詞字母小寫,后面的單詞首字母大寫。
對于第一次變量的使用,要聲明及初始化才可使用,注意拼寫是否錯誤。如:
int a = 2;//聲明同時初始化賦值。
int a;a = 2;//先聲明,后賦值。
基礎數據類型:
整數類型有--byte,short,int,long ? ?小數類型有--float,double
字符型--char ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 布爾型--boolean
1)int:整型,4個字節,-21個多億到21個多億;
? ? 整數直接量默認為int型,但不能超出范圍,超范圍則編譯錯誤;
? ? 兩個整數相除,結果還是整數,小數位無條件舍棄;
? ? 整數運算時超出范圍,則發生溢出,溢出是需要避免的。
2)long:長整型,8個字節,很大很大很大;
? ? 長整型直接量需在數字后加L或l;
? ? 運算時或有可能發生溢出,建議在第1個數字后加L;
? ? System.currentTimeMillis()用于獲取自1970.1.1零時到此時此刻的毫秒數。
3)double:浮點型,8個字節,很大很大很大;
? ? 浮點數直接量默認為double型,表示float需在數字后加F或f;
? ? double型數據參與運算時,有可能會出現舍入誤差。
4)boolean:布爾型,1個字節;
? ? 只能取值為true和false。
5)char:字符型,2個字節;
? ? 采用Unicode編碼格式,一個字符對應一個碼(0到65535),表現形式的是char字符,但實質上存儲的是int碼,ASCII碼('a'--97? 'A'--65? '0'--48);
? ? 字符必須放在單引號中,有且僅有一個;
? ? 特殊字符需通過\來轉義;
數據類型的轉換:
1)自動類型轉換(隱式類型轉換)--小轉大,不會損失精度。
? ? byte----short----int----long----float----double
? ? ? ? ? ? ? ? char----int
例:long a = 100;
2)強制轉化--大轉小,可能會造成的精度喪失和溢出。
例:int a=(int)10000000000L;
int直接量可以直接賦值給byte、char和short,只要不超過其表示范圍;byte、char、short三種類型參與運算時,先一律轉換成int類型再進行運算。
最后,介紹Scanner的使用:
1)在package下:
? ? import java.util.Scanner;
2)在main()方法中:
? ? Scanner scan = new Scanner(System.in);
3)在第2步之下:
? ? System.out.println("請輸入年齡:");
? ? int age = scan.nextInt();
? ? System.out.println("請輸入價格:");
? ? double price = scan.nextDouble();