關鍵字:被java語言賦予特定含義的單詞。java
特色:組成關鍵字單詞的字母所有小寫。數組
標識符:就是給類,接口,方法,變量等起名字的字符序列spa
常見的命名規則:見名知意接口
舉例:我要定義一個學生類字符串
class Student {}it
class S{}ast
包:其實就是文件夾,用於把相同的類名進行區分class
所有小寫變量
單級:liuyi數據類型
多級:cn.itcast
cn
itcast
類或者接口:
一個單詞:單詞的首字母必須大寫
舉例:Student,Dog
多個單詞:每一個單詞的首字母必須大寫
舉例:HelloWorld,StudentName
方法或者變量:
一個單詞:單詞的首字母小寫
舉例:main,age
多個單詞:從第二個單詞開始,每一個單詞的首字母大寫
舉例:studentAge,showAllNames()
常量:
一個單詞:所有大寫
舉例:PI
多個單詞:每一個字母都大寫,用_隔開
舉例:STUDENT_MAX_AGE
數據類型
(1)Java是一種強類型語言,針對每種數據都提供了對應的數據類型。
(2)分類:
A:基本數據類型:4類8種
B:引用數據類型:類,接口,數組。
(3)基本數據類型
A:整數佔用字節數
byte1
short2
int 4
long8
B:浮點數
float4
double8
C:字符
char2
D:布爾
boolean1
注意:
整數默認是int類型,浮點數默認是double。
長整數要加L或者l。
單精度的浮點數要加F或者f。
//超過int的範圍
long j=100000000000L;(注意:長整型後綴用L或者l標記。建議使用L。)
float f = 12.345F;(單精度浮點數用F或者f標記。建議使用F。)
初始化值:
沒有初始化值的變量不能直接使用。
只要在使用前給值就行,不必定非要在定義的時候當即給值。
推薦在定義的時候給值。
默認轉換(從小到大的轉換)
A:byte,short,char—int—long—float—double
B:byte,short,char相互之間不轉換,他們參與運算首先轉換爲int類型
float f1 = (float)12.345;
float f2 = 12.345F;
f1實際上是經過一個double類型轉換過來的。12.345默認是雙精度的。
而f2自己就是一個float類型。
byte b1 = 3,b2 = 4,b;
//b = b1 + b2; //這個是類型提高,因此有問題。(先把b1,b2轉化成int型,再作運算)
b = 3 + 4; //常量,先把結果計算出來,而後看是否在byte的範圍內,若是在就不報錯。
/*
byte b = 130;有沒有問題?若是我想讓賦值正確,能夠怎麼作?結果是多少呢?
*/
class DataTypeDemo7 {
public static void main(String[] args) {
//由於byte的範圍是:-128到127。
//而130不在此範圍內,因此報錯。
//byte b = 130;
//咱們可使用強制類型轉換
byte b = (byte) 130;
//結果是多少呢?
System.out.println(b);
}
}
/*
分析過程:
咱們要想知道結果是什麼,就應該知道是如何進行計算的。
而咱們又知道計算機中數據的運算都是補碼進行的。
而要獲得補碼,首先要計算出數據的二進制。
A:獲取130這個數據的二進制。
00000000 00000000 00000000 10000010
這是130的原碼,也是反碼,仍是補碼。
B:作截取操做,截成byte類型的了。
10000010
這個結果是補碼。
C:已知補碼求原碼。(帶符號數中只有負數的原碼反碼和補碼是不同的,正數的這些都是同樣的,補碼減一是反碼,反碼取反是原碼)
符號位數值位
補碼:10000010
反碼:10000001
原碼:11111110
*/
/*
看程序寫結果
字符串數據和其餘數據作+,結果是字符串類型。
這裏的+不是加法運算,而是字符串鏈接符。
*/
class DataTypeDemo9 {
public static void main(String[] args) {
System.out.println("hello"+'a'+1); //helloa1
System.out.println('a'+1+"hello"); //98hello
System.out.println("5+5="+5+5); //5+5=55
System.out.println(5+5+"=5+5"); //10=5+5
}
}