Java中的關鍵字:被Java 附于特定含義的單詞
定義類:class
權限修飾符:
public:公共的 公開的
面向對象:封裝---private:私有的,無法直接通路的
protected:受保護的(權限修飾符)
資料類型:
基本資料類型
byte
short
int
long
float
double
char
bolean
引用資料類型:類,接口,數組,等
定義類 class
class KeyWorld{
public static void main (String[] args ){
System.out.println("key world");
}
權限修飾符 靜态修飾符 方法
}
辨別符:給類 接口 變量 方法 等等起名字的字元序列 !起名字的時候,做到 "見名知意"
起名規則:
1)可以是英文字母
2)可以是數字字元(但是數字不能開頭)
3)可以有_和$符号
Java中嚴格區分大小寫
給包(package)起名字(字母全部是小寫!)
單級包
com HelloWorld.java
多級包(一般:公司域名反寫)
cn.bd.www (dian ---分包:子目錄)
cn 檔案夾
bd子檔案夾
www 子檔案夾
給類或者後面接口起名字的規則:駝峰命名法:
如果是一個單詞:首字母大寫 其餘小寫 class Hello
多個單詞 每個單詞首字母都大寫 class HelloWord
給變量起名采用小駝峰命名法:
如果是一個單詞:全部小寫
如果是多個單詞:第一個單詞全部小寫,其餘每個單詞的首字母都大寫,其餘字母小寫
給常量命名
一個單詞全部大寫
多個單詞 每個單詞全部大寫 每個單詞之間用_(下劃線)連接配接 MSG_PUBLLIC
注意事項:
1)數字不能開頭
2)Java中嚴格區分大小寫
3)關鍵字不能當作辨別符
4)起名字要做到見名知意
5)不能出現特殊的其他符号
常量
常量:在程式的執行過程中 其值不發生改變的量
常量分為兩大類:
字面值常量
字元串常量:使用雙引号括起來的内容就是字元穿常量
字元常量:使用單引号括起來的單個内容
整數常量
小數常量
布爾常量
空常量
自定義常量:面向對象(繼承的時候引入關鍵字final)
System.out.println("我愛高圓圓")
System.out.prinln('A')
字元常量:如果不參與運算,就是表示一個字元
但是如果參與預算,它去尋找ASCII碼表的值
'a'------97
'A'-------65
'0'-------48
空常量-----引用類型:預設值--->null
String:特殊的引用類型(java提供的"字元串類")
小數常量
整數常量
進制
進制:資料進位的一種方式
x進制:逢x進一
進制的由來:
早期:電信号 使用1, 0 來表示 這個開關
計算機的一些資料:有很多符号表示 使用 1 0 這兩個電信号無法滿足要求
組織規定:使用8個這樣的電信号來描述一個計算機符号
8bit:8個比特位表示這樣的一個資料
一個位元組:由8個bit 組成的
進制越大表示形式越短!
進制 ---屬于常量的範疇
二進制:由0,1 組成 以0b開頭 逢2進1
八進制:you 0 1 2 3 -----7組成 以0開頭,逢8進一
十進制:(整數預設)
十六進制:由0 1 2 3 -----9 a b c de f組成
以0x開頭,逢16 進一
進制之間的轉換
任意進制轉成十進制
位權展開法:系數*基數的全次幂相加 12345=1*10^4+2*10^3+3*10^2+4*10^1+5*10^0
系數:1 2 3 4 5
基數:10
權次幂:4 3 2 1 0
八進制0100=1*8^2+0*8^1+0*8^0=64
系數: 1 0 0
基數: 8
權次幂:2 1 0
十進制到任意進制的轉換
規則: 使用目前十進制資料的基數,一直除到商為零,餘數反轉.
52十進制----變成八進制 064
52十進制----變成十六進制 0x34
52十進制----變成二進制 0b110100
8421碼
1 1 1 1 1 1 1 1
128 64 32 16 8 4 2 1
8421碼:快速轉換法(二進制--十進制)
每一個二進制資料的數值都是1 都對應一個整數
十進制7轉化成二進制就是0b111
十進制10轉化成二進制就是0b1010
十進制11轉換成二進制就是0b1011
需求 :x進制---->y進制
舉例:二進制---->八進制
有符号位的資料表示法:
原碼 反碼 補碼
計算機底層對資料進行計算:通過補碼進行計算的!(一個資料:最高符号位(表示資料的正負)+數值位)
正整數
正整數的原碼;計算出的二進制資料 0000 0111
正整數的最高符号位為0
正數的原碼 反碼 和補碼都是一樣的
負整數
負數的最高符号位是1
負數的反碼:是在原碼的基礎上 符号位不變,數值位按位取反
負數的補碼是:在反碼的基礎上 符号位不變 數值位末尾加1
變量
變量:在程式的執行過程中,其值不斷變化的量
變量定義的三要素:
1)資料類型
2)變量名稱
3)初始化值
格式:
資料類型 變量名稱 =初始化值
資料類型的分類:
兩大類
基本資料類型:四類八種
整數類型:預設int
位元組類型 byte(-128~127)考點!
短整型 short
長整形long(定義是需要在末尾加上L)
浮點類型 預設(double)
float類型 (在定義float類型時需要在變量值的末尾加上f)
字元類型 char
布爾類型boolean
引用資料類型:類 接口 數組
定義變量的注意事項:
1)定義變量的時候不能重複定義(Java是一個強類型的語言,結構嚴謹)
2)在一個{}内:作用域 中有效 超過作用于域 則無法使用
3)一般情況下:為了保證格式更好看些,一行隻定義一個變量
4)在定義變量的時候 必須初始化
Java中隐式類型提升(隐式轉換)
byte short char 三者之間不轉換,一旦參與運算則預設轉換成int類型(考點)
!!!隻要參與運算必定會轉換資料類型,極易出錯
面試題:
byte b, b1=3, b2=4;
1)b=b1+b2;
2)b=3+4;
問:以上兩個當中哪個會編譯失敗?
答案:1
面試題:
byte b=130;
問:有問題嗎
結果是多少?
答案:有問題 byte取值範圍-127~128 byte b=byte(130)
結果是-126
計算機底層使用補碼計算
補碼 -->反碼--.原碼-->推出結果
130的補碼是00000000000 00000000 00000000 10000010 ----截取:強制
截取之後得到補碼是 10000010(最高位是1 表示是負數)---補碼的末位減一,最高位符号位不變則其得到反碼是10000001----->(最高位符号位不變按位取反則)得到原碼是11111110---->轉換成十進制(使用8421碼 即除過最高位1得到一個7位數0000010=64+32+16+8+4+2+0=126) ----加上最高位符号位-負号則得到結果-126
(轉換優先級先是int類型 其次是long類型 再者就是double)
基本資料類型資料類型一緻則直接運算
如果資料類型不一緻則要進行轉換
Java中:顯示類型轉換(強制類型轉換)
将大的類型----->小的類型
強制類型轉換:一般不會使用,會損失精度 不僅适用于基本資料類型 也适用于引用資料類型