一 Java語言基礎(chǔ)
1 進(jìn)制的了解及轉(zhuǎn)換
進(jìn)制就是進(jìn)位制饰恕,是人們規(guī)定的一種進(jìn)位方法书在。幾進(jìn)制就是表示某位置的數(shù)到幾時就進(jìn)一位友浸,二進(jìn)制就是逢2進(jìn)1呆奕,八進(jìn)制就是逢8進(jìn)1养晋,十進(jìn)制就是逢10進(jìn)1,十六進(jìn)制就是逢16進(jìn)1梁钾。
二級制的數(shù)據(jù)表現(xiàn)形式 由0和1組成 绳泉,八進(jìn)制是由0~7組成,十進(jìn)制就是0-9組成姆泻,十六進(jìn)制是由0·9零酪,a·f組成,我們?yōu)榱朔奖銋^(qū)分它們 再數(shù)據(jù)前加上特殊的符號來區(qū)分 拇勃,0b用來表示二進(jìn)制 四苇,0 用來表現(xiàn)八進(jìn)制 ,0x用來表現(xiàn)十六進(jìn)制潜秋,整數(shù)默認(rèn)是十進(jìn)制蛔琅。
進(jìn)制的轉(zhuǎn)換
任意進(jìn)制到十進(jìn)制的轉(zhuǎn)換
我們一般使用位權(quán)展開法來換算任意進(jìn)制到十進(jìn)制的轉(zhuǎn)換 就是用每一位的數(shù) 乘以他的進(jìn)制和后面數(shù)值的次方 最后相加 得到的數(shù)值 就是十進(jìn)制的數(shù)值
十進(jìn)制到任意進(jìn)制的轉(zhuǎn)換
除基取余法 除到商為0 然后余數(shù)反轉(zhuǎn)得到的數(shù)就是我們需要的轉(zhuǎn)化為該進(jìn)制的數(shù) 轉(zhuǎn)化成什么進(jìn)制 就除以什么 這個數(shù)就成為基
當(dāng)然人們?yōu)榱撕啽?也發(fā)明出了一種快速轉(zhuǎn)換法 這就是8421碼 在這種編碼方式中每一位二值代碼的1都是代表一個固定數(shù)值,把每一位的1代表的十進(jìn)制數(shù)加起來峻呛,得到的結(jié)果就是它所代表的十進(jìn)制數(shù)碼罗售。
2 原碼補(bǔ)碼反碼
計算機(jī)所有數(shù)據(jù)的運算都是采用補(bǔ)碼進(jìn)行的
原碼:就是二進(jìn)制定點表示法,即最高位為符號位钩述,“0”表示正寨躁,“1”表示負(fù),其余位表示數(shù)值的大小牙勘。
反碼:正數(shù)的反碼與其原碼相同职恳;負(fù)數(shù)的反碼是對其原碼逐位取反,但符號位除外方面。
補(bǔ)碼:正數(shù)的補(bǔ)碼與其原碼相同放钦;負(fù)數(shù)的補(bǔ)碼是在其反碼的末位加1。
3變量的概述及格式
變量是在程序執(zhí)行的過程中恭金,在某個范圍內(nèi)其值可以發(fā)生改變的量操禀,他在內(nèi)存中是一小塊區(qū) 域。定義變量的原因是用來不斷地存放同一類型的常量横腿,并可以重復(fù)使用颓屑。
變量的定義格式
數(shù)據(jù)類型 變量名=變量值;
4 數(shù)據(jù)類型的概述及分類
變量是內(nèi)存中的一小塊區(qū)域耿焊,定義一個變量就是開辟一個內(nèi)存空間揪惦,我們?yōu)榱碎_辟一個合適的 內(nèi)存空間,所以就需要不同的數(shù)據(jù)類型來給內(nèi)存分配不同大小的內(nèi)存空間罗侯。
java中數(shù)據(jù)類型的分類分為基本數(shù)據(jù)類型和引用數(shù)據(jù)類型(類 接口 )器腋,
基本數(shù)據(jù)類型分為數(shù)值型,字符型,布爾型蒂培。
數(shù)值型
整數(shù)型 字節(jié)數(shù) 范圍
byte 1(8bit) -128 ~ 127
short 2(16bit) -2^15 ~ 2^15 - 1
int 4(32bit) -2^31 ~ 2^31 - 1
long 8(64bit) -2^63 ~ 2^63 - 1
浮點數(shù)
float 4(32bit) -3.40310^38 ~ 3.40310^38
double 8(64bit) -1.79810^308 ~ 1.79810^308
字符型 char 2(16bit) 0 ~ 2^16 - 1 = 65535
布爾型 boolean 1
整數(shù)默認(rèn)是int類型再愈,浮點數(shù)默認(rèn)是double類型
數(shù)據(jù)類型轉(zhuǎn)換之隱式轉(zhuǎn)換
在數(shù)據(jù)相加的過程中數(shù)據(jù)類型會默認(rèn)轉(zhuǎn)換為更高級的類型
轉(zhuǎn)換規(guī)則
(1): boolean類型不能轉(zhuǎn)換為其他的數(shù)據(jù)類型
(2): byte,short,char—int—long—float—double
(3): byte,short,char之間不轉(zhuǎn)換,他們參與運算首先轉(zhuǎn)換為int類型
數(shù)據(jù)類型轉(zhuǎn)換之強(qiáng)制轉(zhuǎn)換
當(dāng)然有時候我們想要的運算結(jié)果再該類型的范圍內(nèi),但是計算機(jī)會自動轉(zhuǎn)換為更高級的類型护戳,從而輸出報錯,這時候垂睬,我們就可以對他進(jìn)行強(qiáng)制轉(zhuǎn)換媳荒。強(qiáng)制轉(zhuǎn)換的格式 在目標(biāo)數(shù)類型 變量名 = (目標(biāo)數(shù)據(jù)類型)(被轉(zhuǎn)換的數(shù)據(jù)),但是強(qiáng)制轉(zhuǎn)換會可能存在精度損失的問題驹饺,所以不建議經(jīng)常使用钳枕。
5 Java字符和字符串的運算
在ASCII碼表中對鍵盤上沒一個字符都有一個規(guī)定的值,我們在進(jìn)行字符運算的時候赏壹,得到的運算結(jié)果就是這些值相加鱼炒,在進(jìn)行字符串和字符混合運算的時候需要注意,如果是字符先運算蝌借,那么他會相加成數(shù)值再合字符串組合到一起昔瞧,如果是字符串在前,那他就會和字符直接拼接在一起菩佑,字符不做加法運算自晰。
6 Java算數(shù)運算符的基本用法
運算符就是對常量和變量進(jìn)行操作的符號,分為 算術(shù)運算符稍坯、賦值運算符酬荞、比較運算符、邏輯運算符瞧哟、位運算符混巧、三目運算符。
算數(shù)運算符分為
+勤揩,-1*咧党,/,%雄可,++凿傅,- -
我們運算時需要注意的是 整數(shù)相除只會得到整數(shù) 如果想要得到小數(shù) 需要使用浮點數(shù)
/獲取的是除法操作的商,%獲取的是除法造作的余數(shù)数苫,%運算結(jié)果的符號聪舒,取決于參與運算時左邊的符號
++和- -的用法
自加(++)自減(–)運算
++:自加。對原有的數(shù)據(jù)進(jìn)行+1
–:自減虐急。對原有的數(shù)據(jù)進(jìn)行-1
在單獨使用時 放在操作數(shù)前面和后面的效果一樣
而當(dāng)參與運算時使用 放在操作數(shù)前面的時候 會先自增或自減箱残,然后再參與運算,當(dāng)放在操作數(shù)后面的時候,先參與運算被辑,然后再自增或者自減燎悍。
7 Java賦值運算符的基本用法
賦值運算符分為
= += -= *= /= %=
最基本的賦值符號= 是把右邊的數(shù)據(jù)賦值給左邊 +=是把左邊和右邊做加法,然后賦值給左邊
需要注意的是 賦值運算符要求左邊的數(shù)據(jù)必須是一個變量才可以
8 Java關(guān)系運算符的基本用法
關(guān)系運算符分為
== 盼理!= < > <= >= instanceof
注意事項 無論你的操作是簡單還是復(fù)雜 結(jié)果都是boolean型(true或false)
9 Java邏輯運算符的基本用法
邏輯運算符分為
&(并且) | (或者) L干健(非) ^(異或) &&(短路與) ||(短路或)
需要注意的是 邏輯運算符一般用于連接boolean類型的表達(dá)式或值,在java中我們要表示一個數(shù)大于3并且小于6宏怔,不可以寫成3<6<x,應(yīng)該寫成 x>3 & x<6 奏路。
表達(dá)式就是把運算符常量或者變量結(jié)合起來符合Java語法的式子。
邏輯運算符的特點
&邏輯與:有false則false臊诊。
|邏輯或:有true則true鸽粉。
^邏輯異或:相同為false,不同為true抓艳。
!邏輯非:非false則true触机,非true則false。
特點:偶數(shù)個不改變本身玷或。
邏輯運算符&&和&的區(qū)別
最終結(jié)果都是一樣的 而&&具有短路效果 如果左邊是false右邊就不執(zhí)行了 而&會兩邊都執(zhí)行再輸出結(jié)果 所以&&會速度快很多 || 同理 所以我們開發(fā)的時候常用&&和||
10 Java位運算符的基本用法
位運算符分為
&(與)儡首,|(或),^(異或) , ~(按位取反) , <<(左移) ,>>(右移) ,>>>(無符號右移)
位運算符是直接對二進(jìn)制補(bǔ)碼進(jìn)行運算
&,|,^,~ 的用法
&:有0則0
|:有1則1
^:相同則0庐椒,不同則1
~:按位取反 0變1 1變0
位異或運算符的特點
^的特點:一個數(shù)據(jù)被另一個數(shù)據(jù)位異或兩次椒舵,該數(shù)本身不變。
<<:左移 空位補(bǔ)0约谈,被移除的高位丟棄笔宿。
>>:右移 被移位的二進(jìn)制最高位是0,右移后棱诱,空缺位補(bǔ)0泼橘;最高位是1,高位補(bǔ)1迈勋。
>>>:無符號右移 被移位二進(jìn)制最高位無論是0或者是1炬灭,空缺位都用0補(bǔ)。
我們可以得到結(jié)論
<< : 把<<左邊的數(shù)據(jù)乘以2的移動次冪
>> : 把>>左邊的數(shù)據(jù)除以2的移動次冪
11 Java三元運算符的基本用法
三元運算符的格式
(關(guān)系表達(dá)式) 靡菇? 表達(dá)式1 : 表達(dá)式2重归;
int a=(10>20)?30:50; a=50
意思就是 如果關(guān)系表達(dá)式成立 則取第一個值 如果不成立 則取第二個值
三元運算符的執(zhí)行流程
計算關(guān)系表達(dá)式的值,如果為true厦凤, 運算后的結(jié)果是表達(dá)式1鼻吮;
如果為false,運算后的結(jié)果是表達(dá)式2较鼓;
————————————————