Java開發(fā) 注釋+引用類型+枚舉+注解+運算符+表達式+語句代碼段+標識符+保留字+變量+常量+控制臺輸入【學習篇2】

【作者前言】:13年入圈,分享些本人工作中遇到的點點滴滴那些事兒,17年剛開始寫博客,高手勿噴!以分享交流為主,歡迎各路豪杰點評改進!
{\color{#3f48cc}{\pmb{點擊右上角小【1】快速預覽本文內(nèi)容}}} [1]

??知識點內(nèi)容

??1. JDK工具的使用 [2]

.class:字節(jié)碼文件
Javap反編譯
Javadoc 生成文檔:
Javadoc -d . 文件名稱.java :按照包結(jié)構(gòu)在當前目錄生成文檔

??2.如何注釋 [3]

不會顯示在執(zhí)行結(jié)果中,只是為了給開發(fā)者進行標注,說明一下 這個是誰做的 什么功能等等等
1、單行注釋: //注釋內(nèi)容
2、多行注釋: /* 注釋內(nèi)容 */
3、文檔注釋: /** 文檔注釋內(nèi)容 */

??3.引用類型 [4]

在Java語言中,除了上節(jié)學習到的8種基本數(shù)據(jù)類型,其他類型都是引用類型
也可以說,任何一個對象都是引用類型

image.png

引用類型使用=賦值
除了String、包裝器類(共8個)外,都需要使用new 關(guān)鍵字;
引用類型可以使用==、!=進行比較,比較的是引用類型的地址不是內(nèi)容
引用類型不能使用>、>=、<=、<進行比較
當只聲明了一個引用類型變量,卻沒有為其賦值,則此時該變量為null
引用類型的默認值是null 表示空 什么都沒有指向

一個字符串是null,與一個字符串是""是否一樣?有何區(qū)別?
完全不同。Null指的是根本沒有分配堆內(nèi)存,""是分配了堆內(nèi)存,存儲了一個""字符串,不過這個字符串是空的。

??4.枚舉 [5]

在JDK1.5之后,Java中多了一個新的類型 --- 枚舉;枚舉也是一種引用類型


image.png

枚舉在編譯后也會生成.class 文件,也是一種引用類型

??5. 注解 [6]

在JDK1.5之后,Java中增加了注解(Annotation);
注解也稱為元數(shù)據(jù),是和類、接口、枚舉,并列的一種引用類型;


image.png

除了直接使用API中的注解外,還可以自定義注解類型

??6. 運算符 [7]

從功能角度分,Java中的運算符可以分為算術(shù)、關(guān)系、位、邏輯運算符四類;
運算符既可以對變量進行運算,也可以對常量進行運算,被運算的數(shù)據(jù)稱作操作數(shù);
多數(shù)運算符的操作數(shù)只能是基本數(shù)據(jù)類型,只有+、==、!=例外,其中+不僅能對基本數(shù)據(jù)類型進行加運算,還能將字符串進行連接;==、!=除了可以比較基本數(shù)據(jù)類型的二進制值外,還能比較基本數(shù)據(jù)類型的地址;

【1】算數(shù)運算符
算術(shù)運算符用來對操作數(shù)進行數(shù)學運算;+比較特殊,除了能做加運算外,還能對兩個字符串進行連接;

image.png

a++++a的意思都是讓a自增一個
a----a的意思都是讓a自減一個
區(qū)別:使用的時機(運算的時機)不一樣
int num = 10;
System.out.println(num++); // --- 10 先打印后自增1
System.out.println(++num); // --- 11 先自增1再打印
【自減同理】
【2】關(guān)系運算符
又叫比較運算符,用來運算兩個操作數(shù)額的大小關(guān)系,返回值是true或false
image.png

==以及!=也可以對引用類型進行運算,比較 是否為同一個對象;
【3】位運算符
針對操作數(shù)的二進制進行運算;
15的二進制數(shù)是0000 1111,6的二進制是0000 0110;
image.png

1:真 0:假
& (位與):1111 & 0110 ---> 0110;全真為真(1-1 ---> 1) 有一個假結(jié)果就是假(1-0 ---> 0 ; 0-1 ---> 0)
| (位或):1111 | 0110 ---> 1111;全假為假(0-0 ---> 0),只要有一個為真結(jié)果就是真(1-0 ---> 1 ; 0-1 ---> 1)
^ (異或):1111 ^ 0110 ---> 1001;兩個操作數(shù)不同則返回true(1-0 ---> 1 ; 0-1 ---> 1),兩個操作數(shù)相同則返回false(1-1 ---> 0 ; 0-0 ---> 0) 相當于把每個位的數(shù)直接+
~ (取反):~0110 ---> 1000 0000 0000 0000 0000 0000 0000 0111;高位為1 表示為一個負數(shù) 轉(zhuǎn)化成32位 原碼+1高位進行補位
! (非):true 變 false,false 變 true
<< (左移位):
①【2<<2 過程:0010 ---> 數(shù)向左移動兩位 ---> 1000結(jié)果:8】
②【2<<3 過程:0010 ---> 數(shù)向左移動三位 ---> 0001 0000結(jié)果:16】
>> (右移位):
【8>>2 過程:1000 ---> 數(shù)向右移動兩位 ---> 0010結(jié)果:2】
>>> (無符號右移位,即把符號位一起移了):正數(shù)與>>一樣

  • 擴展·面試題
    ①如何快速的求 2 * 8? --->2<<3
    ②int a=9;int b=6;如何不適用第三個變量,讓這兩個數(shù)進行交換?
    1.a=a+b;b=a-b;a=a-b; 結(jié)果 ---> a=15;b=9;a=6
    2.a=a^b;b=a^b;a=a^b; 結(jié)果 ---> a=1001^0110=1111(15); b=1111^0110=1001(9);a=1111^1001=0110(6);
    【4】邏輯運算符
    image.png

    &:全真為真 有一個假結(jié)果就是假
    |:全假為假,只要有一個真 結(jié)果就是真
    異或-^:兩個操作數(shù)不同返回true,兩個操作數(shù)相同返回false;
    !:true變false,false變true
    &&:全真為真 有一個假結(jié)果就是假
    ||:全假為假,只要有一個真 結(jié)果就是真
  • &(與) 和 &&(雙與) 的區(qū)別 --- |(或) 和 ||(雙或) 的區(qū)別
    都是邏輯運算符,【&、|稱為非短路邏輯運算】 【&&、||稱為短路邏輯運算
    eg
    T1和T2是兩個表達式
    T1&T2,當T1為false時,返回值即已確定為false,但是依然還會運算T2表達式,所以稱之為非短路
    T1&&T2,當T1為false時,返回值已確定為false時,就不會運算T2表達式;所以稱為短路;
    |||也存在類似邏輯,當T1表達式為true時,就確定了返回值肯定是true,所以||不會再運算T2表達式
    【5】三元運算符(三目運算符)
    條件運算符是唯一的一個三元運算符,它有三個表達式操作數(shù)(不是典型的兩個操作數(shù)),使用下面的表達式:
    表達式1 ? 表達式2 : 表達式3
    在這個語句中,表達式1必須產(chǎn)生一個布爾值。
    ①如果表達式1的值為true時,那么表達式2被計算;
    ②如果表達式1的值為false,那么表達式3被計算;
    并且整個表達式的值是有條件的。三元操作符與典型的if語句部分相似
    eg:
    f ? a : b
    f --- true --- 結(jié)果為a
    f --- false --- 結(jié)果為b
    image.png

【6】復合賦值運算符
Java中的賦值可以使用普通的 = 進行賦值;也可以 = 與其他運算符一起進行復合賦值,即運算后賦值:

image.png

+=: int a=7; a+=2; ---> 等同于 a=a+2; 結(jié)果:9
%=: int a=10; a%3; ---> 等同于 a=a%3; 結(jié)果:1

??7. 運算符應用 [8]

判斷數(shù)字num為奇數(shù)還是偶數(shù)

int num = 55;
num % 2 == 0 ? 偶數(shù) : 奇數(shù)

??8. 表達式 [9]

表達式是由操作數(shù)和運算符按一定的語法形式組成的符號序列。
一個常量或一個變量名字是最簡單的表達式,其值即該常量或變量的值;
表達式的值還可以用作其他運算的操作數(shù),形成更復雜的表達式
eg:
num1+num2
a*(b+c)+d
3.14
x<=(y+z)

x&&y||z

??9. 語句、代碼段 [10]

一個由分號;結(jié)尾的單一命令是一條語句(Statement),一條語句一般是一行代碼,但也可以占多行代碼。
int a = 1; // 變量定義及初始化語句
大括號{…… }圍起來的多條語句構(gòu)成一個代碼段(Code block);同時代碼段也包括大括號前的一些修飾性描述:

??10. 標識符 [11]

程序員對程序中的各個元素加以命名時使用的命名記號稱為標識符(identifier)包括:類名、變量名、常量名、方法名、…。
Java語言中,標識符是以字母,下劃線(_),美元符($)
開始的一個字符序列,后面可以跟字母下劃線美元符數(shù)字

  • 合法的標識符:
    identifier userName User_Name _sys_value $change
  • 非法的標識符:
    2mail room# class
  • 類名:使用駝峰命名法
    一個單詞首字母大寫 Student Person Animal
    多個單詞每個單詞首字母都大寫 StudentManager UserName
  • 變量(方法):
    一個單詞直接小寫 account
    多個單詞,首個單詞字母小寫,其他單詞字母大寫 userName
    常量:一般單詞字母都是大寫
    包名:全都是小寫

??11. 保留字:都是小寫 [12]

具有專門的意義和用途,不能當作一般的標識符使用,這些標識符稱為保留字(reserved word):
abstractbreakbytebooleancatchcaseclasscharcontinuedefaultdoubledoelseextendsfalsefinalfloatforfinallyifimportimplementsintinterfaceinstanceoflonglengthnativenewnullpackageprivateprotectedpublicfinalreturnswitchsynchronizedshortstaticsupertrytruethisthrowthrowstransientvoidwhile

??12. 變量 [13]
程序中的基本存儲單元,其定義包括變量名變量類型作用域幾個部分,
定義格式為:

Type varName [= value ][{, varName [=value]}];
int n = 3, n1 = 4;
  • Java中變量的缺省初值都是確定的:
    布爾變量的初值為:false
    整數(shù)變量的初值為:0
    浮點數(shù)變量的初值為:0.0
    引用(復合)變量的初值為:null
  • 變量的作用域: 【指可訪問變量的一段代碼,在程序中不同的地方聲明的變量具有不同的作用域:局部變量、類變量、方法參數(shù)、例外處理參數(shù)。在一定的作用域內(nèi),變量名必須唯一】
  • 作用域(Scope):【決定了變量可使用的范圍】
    全局變量(Global variables):變量可以在整個類中被訪問;
    局部變量( Local variables ):變量只能在定義其的代碼段中被訪問。
  • 作用域規(guī)則:【在一個代碼段中定義的變量只能在該代碼段或者該代碼段的子代碼段中可見】
  • 使用局部變量比使用全局變量更安全。

在類中定義的 --- 全局變量,方法中定義的 --- 局部變量
變量的有效范圍:從定義變量開始,一直到定義這個變量所在代碼塊結(jié)束

??13. 常量 [14]
常量就是特殊的變量,不能修改值的變量。
定義格式為:

final Type varName = value [, varName [ =value] …];
final int globalAccount = 100, nationalAccount = 50;
final double PI=3.14159

注:常量只能在定義時賦值

??14. 如何進行控制臺輸入[15]

在java有一個類型 Scanner 接收控制臺輸入的

1、步驟一:創(chuàng)建Scanner對象
Scanner 對象名稱=new Scanner(System.in);
2、步驟二:通過對象中的方法進行控制臺數(shù)據(jù)的接收
(1)對象.nextInt(): 只能接收一個整數(shù)!!!(對象.nextFloat()、對象.nextDouble()...等同理,只能接收對應類型的輸入內(nèi)容)
(2) 對象.nextLine():接收回車時控制臺輸入的內(nèi)容。

image.png


??2.應用場景:


??3.實現(xiàn)目標:


??4.代碼實現(xiàn):




  1. ??【知識點回顧·簡介】 ↓↓↓

    ?
  2. ??[JDK工具的使用] ?

  3. ??[如何注釋] ?

  4. ??[引用類型] ?

  5. ??[枚舉] ?

  6. ??[注解] ?

  7. ??[運算符] ?

  8. ??[運算符應用] ?

  9. ??[表達式] ?

  10. ??[語句、代碼段] ?

  11. ??[標識符] ?

  12. ??[保留字:都是小寫] ?

  13. ??[變量] ?

  14. ??[常量] ?

  15. ??[如何進行控制臺輸入] ?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,117評論 6 537
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,860評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,128評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,291評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,025評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,421評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,477評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,642評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,177評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,970評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,157評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,717評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,410評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,821評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,053評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,896評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,157評論 2 375

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

  • 1 關(guān)鍵字 1.1 關(guān)鍵字的概述 Java的關(guān)鍵字對java的編譯器有特殊的意義,他們用來表示一種數(shù)據(jù)類型,或...
    哈哈哎呦喂閱讀 669評論 0 0
  • 運算符是處理數(shù)據(jù)的基本方法,用來從現(xiàn)有的值得到新的值。JavaScript 提供了多種運算符,本章逐一介紹這些運算...
    徵羽kid閱讀 696評論 0 0
  • 前言: 最近在學習javascript中數(shù)據(jù)類型、運算符,以及運算符優(yōu)先級等相關(guān)基礎(chǔ)知識,相對簡單、基礎(chǔ)但也很重要...
    饑人谷_遠方閱讀 783評論 0 3
  • 算術(shù)運算符 JavaScript 共提供10個算術(shù)運算符,用來完成基本的算術(shù)運算。 加法運算符:x + y 減法運...
    guyigg閱讀 1,204評論 0 1
  • 今日繼續(xù)上漲。上證指數(shù),30min中樞進入段力度強于離開段。離開段結(jié)束,迎來上漲。 15min下跌兩個中樞,各段力...
    Yankey_eternal閱讀 239評論 3 3