Java學(xué)習(xí)經(jīng)驗與總結(jié)(02)

一 Java語言基礎(chǔ)

1 進制的了解及轉(zhuǎn)換

進制就是進位制,是人們規(guī)定的一種進位方法。幾進制就是表示某位置的數(shù)到幾時就進一位,二進制就是逢2進1,八進制就是逢8進1,十進制就是逢10進1,十六進制就是逢16進1。

二級制的數(shù)據(jù)表現(xiàn)形式 由0和1組成 ,八進制是由0~7組成,十進制就是0-9組成,十六進制是由0·9,a·f組成,我們?yōu)榱朔奖銋^(qū)分它們 再數(shù)據(jù)前加上特殊的符號來區(qū)分 ,0b用來表示二進制 ,0 用來表現(xiàn)八進制 ,0x用來表現(xiàn)十六進制,整數(shù)默認(rèn)是十進制。

進制的轉(zhuǎn)換

任意進制到十進制的轉(zhuǎn)換

我們一般使用位權(quán)展開法來換算任意進制到十進制的轉(zhuǎn)換 就是用每一位的數(shù) 乘以他的進制和后面數(shù)值的次方 最后相加 得到的數(shù)值 就是十進制的數(shù)值

十進制到任意進制的轉(zhuǎn)換

除基取余法 除到商為0 然后余數(shù)反轉(zhuǎn)得到的數(shù)就是我們需要的轉(zhuǎn)化為該進制的數(shù) 轉(zhuǎn)化成什么進制 就除以什么 這個數(shù)就成為基

當(dāng)然人們?yōu)榱撕啽?也發(fā)明出了一種快速轉(zhuǎn)換法 這就是8421碼 在這種編碼方式中每一位二值代碼的1都是代表一個固定數(shù)值,把每一位的1代表的十進制數(shù)加起來,得到的結(jié)果就是它所代表的十進制數(shù)碼。

2 原碼補碼反碼

計算機所有數(shù)據(jù)的運算都是采用補碼進行的

原碼:就是二進制定點表示法,即最高位為符號位,“0”表示正,“1”表示負(fù),其余位表示數(shù)值的大小。

反碼:正數(shù)的反碼與其原碼相同;負(fù)數(shù)的反碼是對其原碼逐位取反,但符號位除外。

補碼:正數(shù)的補碼與其原碼相同;負(fù)數(shù)的補碼是在其反碼的末位加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)換之強制轉(zhuǎn)換

當(dāng)然有時候我們想要的運算結(jié)果再該類型的范圍內(nèi),但是計算機會自動轉(zhuǎn)換為更高級的類型,從而輸出報錯,這時候,我們就可以對他進行強制轉(zhuǎn)換。強制轉(zhuǎn)換的格式 在目標(biāo)數(shù)類型 變量名 = (目標(biāo)數(shù)據(jù)類型)(被轉(zhuǎn)換的數(shù)據(jù)),但是強制轉(zhuǎn)換會可能存在精度損失的問題,所以不建議經(jīng)常使用。

5 Java字符和字符串的運算

在ASCII碼表中對鍵盤上沒一個字符都有一個規(guī)定的值,我們在進行字符運算的時候,得到的運算結(jié)果就是這些值相加,在進行字符串和字符混合運算的時候需要注意,如果是字符先運算,那么他會相加成數(shù)值再合字符串組合到一起,如果是字符串在前,那他就會和字符直接拼接在一起,字符不做加法運算。

6 Java算數(shù)運算符的基本用法

運算符就是對常量和變量進行操作的符號,分為 算術(shù)運算符、賦值運算符、比較運算符、邏輯運算符、位運算符、三目運算符。

算數(shù)運算符分為

+,-1*,/,%,++,- -

我們運算時需要注意的是 整數(shù)相除只會得到整數(shù) 如果想要得到小數(shù) 需要使用浮點數(shù)

/獲取的是除法操作的商,%獲取的是除法造作的余數(shù),%運算結(jié)果的符號,取決于參與運算時左邊的符號

++和- -的用法

自加(++)自減(–)運算

++:自加。對原有的數(shù)據(jù)進行+1

–:自減。對原有的數(shù)據(jù)進行-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邏輯運算符的基本用法

邏輯運算符分為

&(并且) | (或者) !(非) ^(異或) &&(短路與) ||(短路或)

需要注意的是 邏輯運算符一般用于連接boolean類型的表達式或值,在java中我們要表示一個數(shù)大于3并且小于6,不可以寫成3<6<x,應(yīng)該寫成 x>3 & x<6 。

表達式就是把運算符常量或者變量結(jié)合起來符合Java語法的式子。

邏輯運算符的特點

&邏輯與:有false則false。

|邏輯或:有true則true。

^邏輯異或:相同為false,不同為true。

!邏輯非:非false則true,非true則false。

特點:偶數(shù)個不改變本身。

邏輯運算符&&和&的區(qū)別

最終結(jié)果都是一樣的 而&&具有短路效果 如果左邊是false右邊就不執(zhí)行了 而&會兩邊都執(zhí)行再輸出結(jié)果 所以&&會速度快很多 || 同理 所以我們開發(fā)的時候常用&&和||

10 Java位運算符的基本用法

位運算符分為

&(與),|(或),^(異或) , ~(按位取反) , <<(左移) ,>>(右移) ,>>>(無符號右移)

位運算符是直接對二進制補碼進行運算

&,|,^,~ 的用法

&:有0則0

|:有1則1

^:相同則0,不同則1

~:按位取反 0變1 1變0

位異或運算符的特點

^的特點:一個數(shù)據(jù)被另一個數(shù)據(jù)位異或兩次,該數(shù)本身不變。

<<:左移 空位補0,被移除的高位丟棄。

>>:右移 被移位的二進制最高位是0,右移后,空缺位補0;最高位是1,高位補1。

>>>:無符號右移 被移位二進制最高位無論是0或者是1,空缺位都用0補。

我們可以得到結(jié)論

<< : 把<<左邊的數(shù)據(jù)乘以2的移動次冪

>> : 把>>左邊的數(shù)據(jù)除以2的移動次冪

11 Java三元運算符的基本用法

三元運算符的格式

(關(guān)系表達式) ? 表達式1 : 表達式2;

int a=(10>20)?30:50; a=50

意思就是 如果關(guān)系表達式成立 則取第一個值 如果不成立 則取第二個值

三元運算符的執(zhí)行流程

計算關(guān)系表達式的值,如果為true, 運算后的結(jié)果是表達式1;

如果為false,運算后的結(jié)果是表達式2;

————————————————

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、Python簡介和環(huán)境搭建以及pip的安裝 4課時實驗課主要內(nèi)容 【Python簡介】: Python 是一個...
    _小老虎_閱讀 6,335評論 0 10
  • 這是16年5月份編輯的一份比較雜亂適合自己觀看的學(xué)習(xí)記錄文檔,今天18年5月份再次想寫文章,發(fā)現(xiàn)簡書還為我保存起的...
    Jenaral閱讀 3,144評論 2 9
  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,715評論 0 5
  • ORA-00001: 違反唯一約束條件 (.) 錯誤說明:當(dāng)在唯一索引所對應(yīng)的列上鍵入重復(fù)值時,會觸發(fā)此異常。 O...
    我想起個好名字閱讀 5,972評論 0 9
  • 1 關(guān)鍵字 1.1 關(guān)鍵字的概述 Java的關(guān)鍵字對java的編譯器有特殊的意義,他們用來表示一種數(shù)據(jù)類型,或...
    哈哈哎呦喂閱讀 782評論 0 0

友情鏈接更多精彩內(nèi)容