Java入門
Java 是最好的語言嗎?
不是,因為在每個領域都有更合适的程式設計語言。
Java技術體系平台
JavaSE//JavaEE//JavaME
Java程式的結構
類{
方法{
語句;
}
}
Java基礎知識
注釋:
單行
//
多行
/*
*/
文檔
/**
關鍵字:
Java 有50餘個關鍵字
常量:
字面量常量(“HwlloWorld,123”)
final修飾的變量
運算符
辨別符:
1、辨別符的命名規則(必須遵守)
(1)Java的辨別符隻能使用26個英文字母大小寫,0-9的數字,下劃線_,美元符号$
(2)不能使用Java的關鍵字(包含保留字)和特殊值
(3)數字不能開頭
(4)不能包含空格
(5)嚴格區分大小寫
2、辨別符的命名規範(遭受鄙視)
(1)見名知意
(2)類名、接口名等:每個單詞的首字母都大寫,形式:XxxYyyZzz,
例如:HelloWorld,String,System等
(3)變量、方法名等:從第二個單詞開始首字母大寫,其餘字母小寫,形式:xxxYyyZzz,
例如:age,name,bookName,main
(4)包名等:每一個單詞都小寫,單詞之間使用點.分割,形式:xxx.yyy.zzz,
例如:java.lang
(5)常量名等:每一個單詞都大寫,單詞之間使用下劃線_分割,形式:XXX_YYY_ZZZ,
例如:MAX_VALUE,PI
基本資料類型:
Java基礎文法01-文法-變量-基本資料類型-運算符

變量
變量三要素
1、資料類型
2、變量名
3、值
變量的作用:用來存儲資料,代表記憶體的一塊存儲區域,這塊記憶體中的值是可以改變的。
變量的使用應該注意什麼?
1、先聲明後使用
2、在使用之前必須初始化,也就是指派
3、變量有作用域
4、在同一個作用域中不能重名
變量的聲明:
資料類型 變量名;
變量的指派:
變量名 = 值;
變量的使用:
通過變量名直接引用
進制的換算
十進制資料轉成二進制資料:
使用除以2倒取餘數的方式
二進制資料轉成十進制資料:
從右邊開始依次是2的0次,2的1次,2的2次。。。
二進制資料轉八進制資料:
從右邊開始,三位一組
二進制資料轉十六進制資料
從右邊開始,四位一組
資料存儲的最小機關。也就是二進制。二進制數系統中,每個0或1就是一個位,叫做bit(比特),其中8 bit 就稱為一個位元組(Byte)。
解釋:計算機資料的存儲(了解)
1000 0000 ==> -128(特殊規定)
計算機資料的存儲使用二進制補碼形式存儲,并且最高位是符号位,1是負數,0是正數。
規定:正數的補碼與反碼、原碼一樣,稱為三碼合一;
負數的補碼與反碼、原碼不一樣:
負數的原碼:把十進制轉為二進制,然後最高位設定為1
負數的反碼:在原碼的基礎上,最高位不變,其餘位取反(0變1,1變0)
負數的補碼:反碼+1
為什麼float(4個位元組)比long(8個位元組)的存儲範圍大?
因為float、double底層也是二進制,先把小數轉為二進制,然後把二進制表示為科學記數法,然後隻儲存:
(1)符号位(2)指數位(3)尾數位
詳見:float型和double型資料的存儲方式
雖然計算機底層使用0和1表示false和true,但是在代碼中不能給boolean類型的變量指派0和1,隻能指派false和true
編碼表 :就是将人類的文字和一個十進制數進行對應起來組成一張表格。
基本資料類型轉換
1、自動類型轉換(隐式類型轉換)
将
取值範圍小的類型
自動提升為
取值範圍大的類型
。
2、強制類型轉換(顯示類型轉換)
取值範圍大的類型
強制轉換成
取值範圍小的類型
資料類型 變量名 = (資料類型)被強轉資料值;
任意資料類型的資料與String類型進行“+”運算時,結果一定是String類型
但是String類型不能通過強制類型()轉換,轉為其他的類型
運算符優先級
++
運算,變量自己的值加1。反之,
--
運算,變量自己的值減少1
1、單獨使用
前++
和變量
後++
,變量的是一樣的;
2、複合使用
前++
:變量先自身加1,然後再取值。
後++
:變量先取值,然後再自身加1。
指派運算符
所有的指派運算符的=左邊一定是一個變量
byte,short,char 之間運算後會自動類型提升為int型
擴充指派運算符在将最後的結果指派給左邊的變量前,都做了一步強制類型轉換
例:short a += 1;結果還是short類型,可能損失精度
比較運算符:
是兩個資料之間進行比較的運算,運算結果一定是boolean值
true
或者
false
其中>,<,>=,<=不支援boolean,String類型,==和!=支援boolean和String。
邏輯運算符:
是用來連接配接兩個布爾類型結果的運算符(
!
除外),運算結果一定是boolean值
true
false
&&
和
&
結果一樣,
&&
有短路效果,左邊為false,右邊不執行;
&
左邊無論是什麼,右邊都會執行。
||
|
||
有短路效果,左邊為true,右邊不執行;
|
三元運算符
資料類型 變量名 = 關系表達式?結果1:結果2
條件判斷的結果是true傳回1,false傳回2
位運算符(了解)
左移:<<
運算規則:左移幾位就相當于乘以2的幾次方
右移:>>
運算規則:右移幾位就相當于除以2的幾次方
無符号右移:>>>
運算規則:往右移動後,左邊空出來的位直接補0,不看符号位
按位與:&
運算規則:
1 & 1 結果為1
1 & 0 結果為0
0 & 1 結果為0
0 & 0 結果為0
按位或:|
1 | 1 結果為1
1 | 0 結果為1
0 | 1 結果為1
0 | 0 結果為0
按位異或:^
1 ^ 1 結果為0
1 ^ 0 結果為1
0 ^ 1 結果為1
0 ^ 0 結果為0
按位取反:~
運算規則:~0就是1
~1就是0
如何區分&,|,^是邏輯運算符還是位運算符?
如果操作數是boolean類型,就是邏輯運算符,如果操作數是整數,那麼就位運算符。
提示:
(1)表達式不要太複雜
(2)先算的使用()