JAVASE-DAY03

一拥诡、基礎(chǔ)綱要:


運(yùn)算符

1.賦值運(yùn)算符

?????? ?????? 1.1基本賦值運(yùn)算符: =?? java中唯一個自右向左運(yùn)算的符號

????????????? 1.2擴(kuò)展賦值運(yùn)算符:+=? -=? *= /= %=?????????????

????????????? 1.3:優(yōu)缺點(diǎn)

????????????? ?????? 缺點(diǎn):

??????????????????????????? 不直觀

???????????????????? 優(yōu)點(diǎn):

??????????????????????????? 自動做強(qiáng)制類型轉(zhuǎn)換

??????????????????????????? 提高執(zhí)行效率

???????????????????? 推薦使用擴(kuò)展賦值運(yùn)算符

2.比較運(yùn)算符|關(guān)系運(yùn)算符:>?<?? >=? <=? ==!=

????????????? 2.1結(jié)果是boolean類型的值???????????

????????????? ?????? byte?short? int? long??float? double? char

????????????? 2.2可以做基本數(shù)據(jù)類型的比較,可以做引用數(shù)據(jù)類型的比較

浮點(diǎn)數(shù)參與運(yùn)算結(jié)果可能不準(zhǔn)確

3.邏輯運(yùn)算符 & | 触趴!^????????????

短路 如果左邊的操作的值就能決定最終整個表達(dá)式的結(jié)果,右面的表達(dá)式就不在執(zhí)行

????????????? &&? 兩個操作數(shù)都是true才是true,一個為false結(jié)果就為false

????????????? ||? 一個為true就是true,兩個都為false才為false???????

????????????? 推薦使用短路與短路或

4.條件運(yùn)算符 | 三目| 三元???????

????????????? 條件表達(dá)式 ? 值1 : 值2 ;????????

????????????? 執(zhí)行流程:

???????????????????? 4.1.先執(zhí)行條件表達(dá)式? -->值為boolean類型的表達(dá)式

???????????????????? 4.2.如果結(jié)果為true, 最終結(jié)果取值1

???????????????????? 4.3.如果結(jié)果為false,最終結(jié)果取值2

5.位運(yùn)算符

????????????? &二進(jìn)制的兩個數(shù),同一位置的值,進(jìn)行邏輯判斷,兩個值如果有一個為0就位0,兩個值都是1才是1

????????????? |同一位置的兩個數(shù),如果有一個為1就是1,兩個都是0才是0

????????????? ^同一位置的兩個數(shù),如果相同為0,不同為1????????




6.運(yùn)算符的優(yōu)先級 :

????????????? 單目算數(shù)位關(guān)系,邏輯三目后賦值

兩個常用類

1.使用引用數(shù)據(jù)類型的方式

????????????? 1.1創(chuàng)建引用數(shù)據(jù)類型的變量|引用

???????????????????? 引用數(shù)據(jù)類型變量名|引用 = new 引用數(shù)據(jù)類型(); --公式?

????????????? 1.2使用功能

???????????????????? ?????? 引用.功能名字();??

?????? 2.Scanner:

????????????? 2.1導(dǎo)包 import 相對地址;

???????????????????? 提供類Scanner的位置

???????????????????? 位置:類的上面導(dǎo)包

????????????? 2.2創(chuàng)建Scanner類型的引用

????????????? 2.3使用:功能名字();

???????????????????? nextInt();? 接收用戶輸入的int類型整數(shù)

???????????????????? nextByte();? 接收用戶輸入的byte類型整數(shù)

???????????????????? nextShort();? 接收用戶輸入的Short類型整數(shù)

???????????????????? nextLong();? 接收用戶輸入的Long類型整數(shù)

???????????????????? nextDouble();? 接收用戶輸入的Double類型整數(shù)

???????????????????? nextFloat();? 接收用戶輸入的Float類型整數(shù)

???????????????????? next();接收用戶輸入的String類型數(shù)據(jù)

??????????????????????????? 有效字符開始接收,遇到空格停止接收氮发,遇到enter停止功能

???????????????????? nextLine();接收用戶輸入的一整行的內(nèi)容

??????????????????????????? 從第一個位置開始接收,遇到enter結(jié)束

????????????? close();一定要在用完之后關(guān)閉,否則當(dāng)前類中重新開啟也不能用

注意:nextLine()功能之前如果存在系列的next功能.需要處理遺留在緩沖區(qū)的enter

2.4字符串比較是否相等?? 字符串1.equals(字符串2)?

3.Random 類? 產(chǎn)生隨機(jī)數(shù)

????????????? 3.1導(dǎo)包 java.util.Random

????????????? 3.2創(chuàng)建類型的引用? Random

????????????? 3.3使用功能

???????????????????? 產(chǎn)生隨機(jī)整數(shù)

??????????????????????????? nextInt()?? --> int范圍內(nèi)的隨機(jī)整數(shù)

??????????????????????????? nextInt(n)? -->隨機(jī)產(chǎn)生 [0,n) 隨機(jī)整數(shù)

??????????????????????????? n只能決定最大范圍

???????????????????? 產(chǎn)生隨機(jī)小數(shù)

??????????????????????????? nextDouble()[0.0,1.0)隨機(jī)小數(shù)?

?????? 注意:?????????

????????????? 偽隨機(jī)數(shù)?????????????

????????????? 常用公式:????????????

???????????????????? [min,max]引用.nextInt(max-min+1)+min;

控制語句

?????? 1.分類:

????????????? 順序結(jié)構(gòu) : 默認(rèn) 從上到下?從左到右

????????????? 選擇結(jié)構(gòu) : 根據(jù)某些條件執(zhí)行不同的代碼

????????????? 循環(huán)結(jié)構(gòu) : 重復(fù)執(zhí)行一些代碼


?????? 2.選擇結(jié)構(gòu):

???????????????????? if..else

???????????????????? switch??????????

2.1 if ..else

2.1.1單分支|單選擇

???????????????????? if(條件表達(dá)式){

??????????????????????????? 語句體...

???????????????????? }????????????

???????????????????? 條件表達(dá)式:值為boolean類型的表達(dá)式

???????????????????? 執(zhí)行流程:

??????????????????????????? 計算條件表達(dá)式的結(jié)果

??????????????????????????? 如果false,就跳過if結(jié)構(gòu),繼續(xù)向下執(zhí)行

??????????????????????????? 如果為true,執(zhí)行{}中的語句體?????????????????

????????????? ?????? 2.1.2雙分支|雙選擇

???????????????????? if(條件表達(dá)式){

??????????????????????????? 語句體1...

???????????????????? }else{

??????????????????????????? 語句體2

???????????????????? }

???????????????????? 如果條件滿足執(zhí)行語句體1,條件不滿足執(zhí)行語句體2

????????????? ?????? 2.1.3多選擇|多分支

???????????????????? if(條件表達(dá)式1){

??????????????????????????? 語句體1...

???????????????????? }else if(條件表達(dá)式2){

??????????????????????????? 語句體2...

???????????????????? }else if(條件表達(dá)式3){

??????????????????????????? 語句體3

???????????????????? }else{

??????????????????????????? 語句體n;

???????????????????? }

???????????????????? 執(zhí)行流程:

??????????????????????????? 1.先執(zhí)行條件表達(dá)式1,如果為true,執(zhí)行語句體1

??????????????????????????? 2.如果為false,計算條件表達(dá)式2,如果為true,執(zhí)行語句體2

??????????????????????????? 3.如果為false,計算條件表達(dá)式3,如果為true,執(zhí)行語句體3

??????????????????????????? 4....

??????????????????????????? 5.如果以上條件都不滿足,執(zhí)行else中的語句體n???????????????????????

????????????? ?????? 注意:語句體前后的{}可以省略,語句體只有一句的時候可以省略

2.2.switch? 定值判斷??

????????????? switch(表達(dá)式){

???????????????????? case值1:

??????????????????????????? 語句體1;

??????????????????????????? break;

???????????????????? case值2:

??????????????????????????? 語句體2;

??????????????????????????? break;

??????????????????????????? ....

???????????????????? default:

??????????????????????????? 語句體n;

??????????????????????????? break;

????????????? }

????????????? 表達(dá)式:byte,short,int,char , 枚舉(1.5),字符串(1.7)這幾種類型的值

????????????? case: case后面接的值是與表達(dá)式進(jìn)行判斷,必須是一個值,不能是區(qū)間

????????????? break:防止case穿透 結(jié)束switch語句

case穿透:從滿足條件的語句體開始執(zhí)行,如果遇到break結(jié)束switch,如果沒有break下面的case不再判斷直接執(zhí)行語句體

????????????? default:默認(rèn)的,相當(dāng)于else,如果以上都不滿足,就執(zhí)行default中的內(nèi)容

???????????????????? default位置可以改變???????????????

?????? 2.3.if與switch之間的區(qū)別

????????????? if可以做區(qū)間判斷

????????????? switch定值判斷

????????????? 能用switch都可以用if?能用if的不一定能用switch

3.循環(huán):重復(fù)執(zhí)行一些代碼

?????? ?????? for

????????????? while

????????????? do...while


?????? ?????? for循環(huán)

???????????????????? for(條件初始化;條件判斷;條件變化 ){

??????????????????????????? 循環(huán)體語句;

???????????????????? }


???????????????????? 執(zhí)行流程:

??????????????????????????? 1.先執(zhí)行條件初始化? 聲明一個變量并且賦值 i

??????????????????????????? 2.條件判斷?? 對i進(jìn)行判斷?? 值為boolean類型的表達(dá)式

?????????????????????????????????? 如果值為false,for循環(huán)結(jié)構(gòu)結(jié)束,如果值為true,執(zhí)行循環(huán)體語句

??????????????????????????? 3.條件變化

??????????????????????????? 重復(fù)執(zhí)行2,3步?????????????????

???????????????????? 注意:在循環(huán)體語句中可以使用i的值??

??????????????????????????? ?變量i可以決定循環(huán)執(zhí)行的次數(shù)

二爽冕、拓展

?位運(yùn)算:左右移和符號位

位移運(yùn)算符

???????????????????? >>>無符號右移/2^n

?????? 將運(yùn)算符左邊的對象向右移動右側(cè)指定的位數(shù),在高位補(bǔ)上0披蕉;

>>? (有符號)右移?

?????? 將運(yùn)算符左邊的對象向右移動右側(cè)指定的位數(shù)颈畸,值為正,高位補(bǔ)0没讲,值為負(fù)眯娱,高位補(bǔ)1; ? ? ? ? ??

<<? 左移*2^n

?將運(yùn)算符左邊的對象向左移動右側(cè)指定的位數(shù)食零,在低位補(bǔ)上0 ?

float和double類型數(shù)據(jù)在內(nèi)存中的存儲方式

1.浮點(diǎn)數(shù):

計算機(jī)中有兩種表示實(shí)數(shù)的方法:定點(diǎn)表示和浮點(diǎn)表示

定點(diǎn)數(shù):小數(shù)位數(shù)固定于某個位置困乒,這種方式的整數(shù)和小數(shù)部分的表示形式和普通整數(shù)的表示形式?jīng)]有什么區(qū)別

浮點(diǎn)數(shù):小數(shù)點(diǎn)位置可以浮動的數(shù)據(jù),以科學(xué)技術(shù)法的形式表示

2.表示形式:

N=M*R^E贰谣;

N為浮點(diǎn)數(shù)娜搂,M為尾數(shù)(mantissa),E為階碼(exponent)吱抚,R為階的基數(shù)百宇,也就是底數(shù),計算機(jī)里的底數(shù)不會是10的秘豹,一般是2携御、8、16既绕。在一臺計算機(jī)里啄刹,所有數(shù)據(jù)中的R是確定,并且相同的凄贩。

3.在計算機(jī)內(nèi)的形式:MS? E ?? M

MS為符號位

如單精度浮點(diǎn)數(shù)(32位)誓军,符號位占1位,階碼8位疲扎,尾數(shù)23位

4.舉例:單精度浮點(diǎn)數(shù)3.75

(1) 首先轉(zhuǎn)化為2進(jìn)制表示 ?3.75=?(2+1+1/2+1/4)=?1.111×21?3.75=?(2+1+1/2+1/4)=?1.111×21?
(2) 整理符號位并進(jìn)行規(guī)格化表示 ?1.111×21=(?1)(1)×(1+0.1110 0000 0000 0000 0000 000)×21?1.111×21=(?1)(1)×(1+0.1110 0000 0000 0000 0000 000)×21
?(3) 進(jìn)行階碼的移碼處理 (?1)(1)×(1+0.1110 0000 0000 0000 0000 000)×21(?1)(1)×(1+0.1110 0000 0000 0000 0000 000)×21 =(?1)(1)×(1+0.1110 0000 0000 0000 0000 000)×2128?127=(?1)(1)×(1+0.1110 0000 0000 0000 0000 000)×2128?127?
于是昵时,符號位S=1,尾數(shù)M為1110 0000 0000 0000 0000 0001110 0000 0000 0000 0000 000
階碼E為12810=1000 0000212810=1000 00002,
則最終的32位單精度浮點(diǎn)數(shù)為 1 1110 0000 0000 0000 0000 000 1000 0000?
--------------------- 作者:shuzfan 來源:CSDN 原文:https://blog.csdn.net/shuzfan/article/details/53814424?

5.有效位數(shù)

2^-23=0.00000011920928955078125

2^-22=0.0000002384185791015625

因此0.0000001和0.0000002之間的小數(shù)是沒辦法精確描述的椒丧,因此一般說float精確到小數(shù)點(diǎn)后第七位

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末壹甥,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子壶熏,更是在濱河造成了極大的恐慌句柠,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異溯职,居然都是意外死亡管怠,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進(jìn)店門缸榄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人祝拯,你說我怎么就攤上這事甚带。” “怎么了佳头?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵鹰贵,是天一觀的道長。 經(jīng)常有香客問我康嘉,道長碉输,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任亭珍,我火速辦了婚禮敷钾,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘肄梨。我一直安慰自己阻荒,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布众羡。 她就那樣靜靜地躺著侨赡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪粱侣。 梳的紋絲不亂的頭發(fā)上羊壹,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天,我揣著相機(jī)與錄音齐婴,去河邊找鬼油猫。 笑死,一個胖子當(dāng)著我的面吹牛尔店,可吹牛的內(nèi)容都是我干的眨攘。 我是一名探鬼主播,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼嚣州,長吁一口氣:“原來是場噩夢啊……” “哼鲫售!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起该肴,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤情竹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后匀哄,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體秦效,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡雏蛮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了阱州。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片挑秉。...
    茶點(diǎn)故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖苔货,靈堂內(nèi)的尸體忽然破棺而出犀概,到底是詐尸還是另有隱情,我是刑警寧澤夜惭,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布姻灶,位于F島的核電站,受9級特大地震影響诈茧,放射性物質(zhì)發(fā)生泄漏产喉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一敢会、第九天 我趴在偏房一處隱蔽的房頂上張望曾沈。 院中可真熱鬧,春花似錦走触、人聲如沸晦譬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽敛腌。三九已至,卻和暖如春惫皱,著一層夾襖步出監(jiān)牢的瞬間像樊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工旅敷, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留生棍,地道東北人。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓媳谁,卻偏偏與公主長得像涂滴,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子晴音,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評論 2 349

推薦閱讀更多精彩內(nèi)容

  • 1 順序語句 語句:使用分號分隔的代碼稱作為一個語句柔纵。 注意:沒有寫任何代碼只是一個分號的時候,也是一條語句锤躁,...
    哈哈哎呦喂閱讀 376評論 0 0
  • 1 關(guān)鍵字 1.1 關(guān)鍵字的概述 Java的關(guān)鍵字對java的編譯器有特殊的意義搁料,他們用來表示一種數(shù)據(jù)類型,或...
    哈哈哎呦喂閱讀 646評論 0 0
  • 1.編譯程序(1)gcc xx.c,他會默認(rèn)生成一個a.out的可執(zhí)行文件,在a.out所在目錄郭计,執(zhí)行./a.o...
    萌面大叔2閱讀 1,271評論 0 1
  • 國家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 10,930評論 6 13
  • 一霸琴、Python簡介和環(huán)境搭建以及pip的安裝 4課時實(shí)驗(yàn)課主要內(nèi)容 【Python簡介】: Python 是一個...
    _小老虎_閱讀 5,725評論 0 10