1、注釋:
? ? ? ? ?用于解釋說明程序的文字 , 分類格式:單行注釋(//注釋文字可以嵌套),多行注釋(/* 注釋文字*/,不能嵌套),文檔注釋(/** 注釋文字*/)
2、關鍵字:
? ? ? ? ?被Java語言賦予特定含義的單詞? ,關鍵字特點:組成關鍵字的字母全部都要小寫,適用高級的編譯器運行時,針對關鍵字有特殊的顏色標記,非常直觀,區分大小寫,goto和const作為保留字存在,也是關鍵字(面試題)在Java中目前并不使用
3、標識符 :
給類、方法、接口、變量等變量起名字時使用的字符序列 ? 組成規則:英文大小寫字母,數字字符,$和_ ? 。注意事項:不能以數字開頭,不能是Java中的關鍵字
4、常量、進制和進制轉換
常量(字面值常量,自定義常量):在執行的過程中是不能改變的數值。字面值常量的分類:字符串常量(用雙引號括起來的內容),整數型常量(所有整數),小數常量(所有小數),字符常量(用單引號括起來的內容,里面只能放單個數字、單個字母或者單個符號),布爾常量(較為特殊,只有true或false),空常量(null)
進制的表現形式:二進制的數據表現形式(由0、1組成,以0b開頭),八進制的數據表現形式(由0、1、2.....、7組成,以0開頭),十進制的數據表現形式(由0、1....、9組成,整數默認為十進制),十八進制的數據表現形式(由0、1...、9、a、b、c、d、e、f ?組成,字母大小寫無所謂,以0x開頭)
十進制轉其他進制的形式(除積倒取余數):
其他進制轉換十進制的形式:
//Scale:進制
public class Demo1_Scale {
public static void main(String[] args){
System.out.println(0b100);? ? // 二進制==2 ^ 2 = 4
System.out.println(0100);? ? ? //八進制==8 ^ 2 = 64
System.out.println(100);? ? ? //十進制==整數型常量
System.out.println(0x100);? ? //十八進制==16 ^ 2 = 256
}
}
由一個值轉換成進制的形式:
原碼:“0”表示正,“1”表示負,其余位表示數值的大小 如: 0 (符號位 ?正) ? 0000111:+7 ? ? ? ? ? ? ?1(符號位 ?負) ? 0000111 :--7 ? ,這兩個碼相加不為0, ? ?
反碼:正數的反碼與其原碼相同 ?。負數的反碼是對其原碼逐位取反,但符號位除外
補碼(計算機是以補碼做運算的):正數的補碼與其原碼相同,負數的補碼是在其反碼的末尾加1,正數與負數相加為0
5、變量:
在程序執行過程中,可以在某一個范圍發生改變的量 ?
? ? ? 變量的定義格式:數據類型 ? 變量名 = 變量值
? ? ? 為什么要定義變量:用來不斷存放同一類型的常量,并可以重復使用
6、數據類型和類型轉換
? ? ? ?為什么有數據類型:Java語言是強類型語言,對于每一種語言都定義明確的具體數據類型,在內存中分配了不同大小的內存空間
? ? ? Java中數據類型的分類:基本數據類型和引用數據類型
? ? ? 基本數據類型分類(4類8種):整數型:(byte(取值范圍-128~~+127,占一個字節)、short(占兩個字節,取值范圍 -2^15~~+2^15-1)、int(占四個字節,取值范圍-2^31~~+2^31-1)、long(占八個字節,取值范圍-2^63~~+2^63-1)
浮點型(float:單精度( 占四個字節,取值范圍-3.403E38~~+3.403E38 ?)、double:雙精度(占八個字節,取值范圍-1.798E308~~+1.798E308))
字符型(char):占兩個字節,取值范圍0~~65535
布爾型(boolean):理論上是占八分之一字節,因為一個開關就可以決定true和false了,但是Java中的boolean類型沒有明確指明它的大小
定義不同數據類型的變量注意事項:在賦值時注意float類型,值的后面加個“ f ”或“ F ”,long類型,值后面加個“ l ” 或 “ L ”,在賦值的過程中,整數型的默認類型為“ int ”,浮點型的默認類型為“ double ”
使用變量時注意事項:
? ? ? ? ? 作用域問題:同一個區域不能使用相同的變量名
? ? ? ? ? 初始化值問題:局部變量在使用之前要賦值
? ? ? ? ? ?一條語句可以定義幾個變量:int ?a , b , c , d
數據類型轉換:
進行混合運算的時候byte、short、char之間不會相互轉換,都會自動提升為 int 類型,其他數據類型進行混合運算會把小的數據類型提升為大的數據類型。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? byte、short、char-----int-----long-----float-----double ? ? ?( 從小到大 )(IEEE 754規定)
數據類型轉換之隱式轉換:
數據類型轉換之強制轉換(會損失精度):
? ?Java語言中的字符char可以存儲一個中文漢字:
? ? ? ? ?因為Java語言采用的是Unicode編碼,Unicode編碼中的每個字符占兩個字節,一個中文漢字也是占兩個字節,所以Java語言中的字符char可以存儲一個中文漢字
7、運算符:
? ? ?就是對常量和變量之間操作的符號
? ? ? ? 運算符的分類:算術運算符、賦值運算符、比較(關系或條件)運算符、邏輯運算符、位運算符、三目(元)運算符
? ? 算術運算符:+ 、- 、* 、++、- -、/ 、%
? ? ? %運算符(結果的符號只與左邊的數有關,與右邊無關):當左邊的絕對值小于右邊時,結果為左邊的值。當左邊的絕對值等于右邊的值時,結果為0。當左邊的絕對值大于右邊的絕對值時,結果為余數。任何正整數%2結果不是0就是1,可以用來當作切換條件
? ? ? ++或- - 運算符:?單獨使用 ?放在操作數的前面或后面運算的結果都一樣。參與運算使用:放在操作數的前面(先自增一或自減一,然后再參與運算)。放在操作數的后面(先參與運算,然后再自增一或自減一)
? ? ? ?賦值運算符:基本賦值運算符 = ?。擴展賦值運算符 += 、-?= 、* = 、/= 、%=(把左邊和右邊做加法,然后再賦值給左邊)
? ? ? ?比較(關系或條件)運算符:== 、!=、< 、<=、>、>=(結果都是boolean類型的,true或false)
? ? ? ? ?邏輯運算符:& (邏輯與):意思是并且and(運算時必須都是true,結果才是true。只要有一個為false,結果都是false)。| (邏輯或):意思是或or(運算時只要有一個為true,結果都是true,只有都是false 才是false) 。^ (邏輯異或):兩邊相同為false,不同為true 。!(邏輯非):非false為true ,非true 為 false
? ? ?位運算符:&、| 、^ 、~ 、<< 、>> 、>>>、 (都以二進制來運算)
? ? ? ? ?& (與):有0則0。| (或):有1則1。^(異或) :相同則0,不相同為1。?~ (取反):按位取反。<<(左移):左邊最高位丟棄,右邊補齊0,向左移動多少位就是乘以2的幾次冪。>>(右移):最高位是0 ,左邊補齊0,最高位是1,左邊補齊1,向右移多少位就是除以2的幾次冪。>>>(無符號右移):無論高位是0還是1,左邊都補齊0
三目(元)運算符:格式:(關系表達式)?表達式1:表達式2
鍵盤導入: