java基礎二——基本語法

java基本語法


一. 關鍵字和保留字

1.1 關鍵字(keyword)

  • 定義:被java語言賦予特殊的含義,用作特定作用的字符串。
  • 特點:關鍵字中的所有字母爲小寫字母。
  • 參考官方java關鍵字和保留字
    自我總結:
    在這裏插入圖片描述在這裏插入圖片描述

1.2 保留字

  • 定義:對於現在版本的java尚且沒有使用這些字符串,但是保留下來防止以後要用到。
  • 舉慄:goto,const(有一次的筆試題就考到了嗷~~)

二. 標識符

  • 定義:對於給類,方法,變量等要素命名的字符序列。(簡單說就是用來自己起名字的字符串就是標識符

2.1 標識符命名規則

  • 標識符由26個英文字母大小寫(A ~ Z,a ~ z),0-9,下劃線(_),美元符號($)組成
  • 開頭不可以是數字
  • 不可以直接使用關鍵字和保留字作標識符,但是可以包含關鍵字和保留字
  • 大小寫敏感,長度無限制
  • 標識符中不要包含空格

2.2 java命名規範

  • 包名: 全部採用小寫。如:xxyyzz
  • 類名,接口名: 多單詞組成時,每個單詞首字母大寫。如:XxYyZz
  • 方法名,變量名: 採用駝峯式命名規則,即:多單詞組成時,首字母小寫,之後的每個單詞首字母大寫。如:xxYyZz
  • 常量名: 多單詞組成時,全部大寫,單詞之間採用下劃線分開。如:XX_YY_ZZ

注意

  • 在起名字時,要注意儘量做到能直接看懂什麼意思(即見名知意)。不要爲了方便自己省事隨便起名字。也不要寫單詞時縮寫,只有自己能看懂。
  • 雖然java採用unicode字符集,因此標識符也可以使用漢字聲明,但是不要這樣做,因爲會拉低你的逼格,還會遭鄙視嗷。我們要有國際範,萬一你的代碼是要供全世界模仿學習的呢?

三. 變量

3.1 變量概述

  • 定義:內存中的一個存儲區域,該區域的數據可以在同一類型範圍內不斷變化,變量是程序中最基本的存儲單元
  • 作用:用於在內存中保存數據

3.1.1 使用變量注意

  • java中的變量必須先聲明,後使用。
  • 我們直接使用Java的變量名來訪問內存中保存的數據。
  • 變量的作用範圍在其定義的一對{}內,且只在作用域內有效。
  • 在同一個作用域內,變量名具有唯一性。

3.1.2 變量的聲明與賦值

  • 變量的聲明

    <數據類型><變量名稱>;
    舉慄:int a;

  • 變量的賦值

    <變量名稱> = <變量數值>;
    舉慄:a = 10;

  • 變量的聲明並賦值

    <數據類型><變量名稱> = <變量數值>;
    舉慄:int b = 2;

3.1.3 成員變量和局部變量

  • 成員變量:
    • 定義:即直接定義在類中的變量
    • 作用域:變量的作用域是當前整個類內部。
  • 局部變量:
    • 定義:即定義在方法體內部,代碼塊內部,或者方法的參數中的變量
    • 作用域:作用範圍爲當前方法內部,代碼塊內部,方法內部.

注意:全局變量可以在定義時不進行初始化和賦值,因爲全局變量會有默認值。局部變量(除了方法參數變量除外)在使用前一定要進行賦值(推薦在定義時直接顯式初始化),不然編譯會失敗嗷。具體分析隨後我會單獨寫一個博客。

3.2 變量數據類型

  • 數據類型定義;由於java是一種強類型語言(即對於每一個數據都應該明確聲明它的數據類型)。java中的變量的類型,總的來說java分爲 基本數據類型引用數據類型 。區分的原因是在進行內存分配時的一些不同。以後的博客中會詳細跟大家介紹噠
    在這裏插入圖片描述

3.2.1 基本數據類型

八大基本類型分類
  • 按所佔bit大小(從小到大):boolean(2bit)<byte(8bit)<char(16bit)<short(16bit)<int(32bit)<float(32bit)<long(64bit)<double(64bit)
  • 整數類型:byte,short,int,long
    • java的整型常量默認爲 int 型,聲明long型常量須後加‘l’或‘L’。
      在這裏插入圖片描述
  • 浮點類型:float,double
    • float:單精度,尾數可以精確到7位有效數字。
    • double:雙精度,精度是float的兩倍。通常採用此類型。
    • 注意:聲明浮點型變量時,默認聲明爲double類型,聲明float時需要顯示聲明,結尾加上“f”或“F”
      在這裏插入圖片描述
  • 字符類型:char
    • char佔2字節(byte)即16bit,通常用來表示字符。
    • Java中的所有字符都使用Unicode編碼,故一個char可以存儲一個字母,一個漢字,或一個字符。
    • 注意:char可以直接參與運算,因爲它都對應有Unicode碼。
    • 表示形式
      1. 字符常量是用單引號(‘ ’)括起來的單個字符。例如:char c = ‘a’。
      2. Java中還允許使用轉義字符‘\’來將其後的字符轉變爲特殊字符型常量。例如:char c = ‘\n’; ( '\n’表示換行符)。
      3. 直接使用 Unicode 值來表示字符型常量:‘\uXXXX’。XXXX代表一個十六進制整數。如:\u000a 表示 \n。
  • 布爾類型:boolean
    • boolean類型數據只允許取值true和false,無null,且不能使用0和1來代表false和true。
    • boolean一般用作判斷邏輯條件。
基本數據類型轉換*
  • 自動轉換(隱式轉換)
    1. 容量小的類型自動轉換爲容量大的數據類型。數據類型按容量大小排序爲 (byte,short,char)–>int–>long–>float–>double
    2. 至於上述byte,short,char放在一塊是因爲它們在參與運算時直接提升到int類型再運算。他們三者不會轉化。
    3. boolean類型不能與其它數據類型運算。
    4. 當把任何基本數據類型的值和字符串(String)進行連接運算時(+)本數據類型的值將自動轉化爲字符串(String)類型。
  • 強制轉換(顯示轉換)
    1. 通常是將容量大的數據類型轉換爲容量小的數據類型,因此會存在精度溢出問題,也就是說在轉換過程中可能會造成精度的缺失。使用時要加上強制轉換符:()。例如:long a = 12l; int b = (int)a;
    2. 注意字符串是引用類型不能直接轉換爲基本類型,但通過基本類型對應的封裝類進行轉換。
    3. boolean類型不可以轉換成其他基本數據類型。

3.2.2 引用數據類型

  • 主要是java中一些非基本數據類型,如類,接口,數組,字符串String(字符串是引用數據類型,記住嗷)
字符串

(待插入,String類比較重要之後會單獨寫一篇博客分析,各位看官敬請期待,等總結到的時候會及時插入博客鏈接的)


四. 運算符

4.1 概述

運算符是一種特殊的符號,用以表示數據的運算、賦值和比較等

4.2 算數運算符

如圖:在這裏插入圖片描述
注意

  • ‘’/‘’,當整數相除時,結果會自動省去小數保留整數。當除數或被除數,或者兩者都是小數時結果按類型保留小數。
  • “+”,除了有相加的功能外,還能把非字符串轉換爲字符串。
  • ‘’%‘’,取模,如果模數爲負,對結果沒有影響,如:5%-2=1。但是如果被模數爲負數,則結果也爲負數。如:-5%2 = -1.
  • 多注意++,–自增自減的前置和後置區別。

4.3 賦值運算符

  • 賦值運算符:=
    擴展賦值運算符:+=,-=,*=,/=,%=
    栗子: int a += 2;就是int a = (int) (a + 2)
    注意:有個強制轉換的過程。如:
    在這裏插入圖片描述
    解釋:a聲明爲short類型變量,第二行a+2在運算過程中會提升爲int類型,最後再賦值回short類型是不可以的,需要顯示轉換。但是下面+=因爲在底層幫你自動轉換了,所以a還是short類型。說到這,java還有個常量優化機制挺有意思的,建議大家瞭解一下。
  • 注意:在聲明變量時不要用擴展的賦值運算符賦值。如:int a += 2;是編譯不通過的。

4.4 比較運算符

如圖:
在這裏插入圖片描述
注意

  • 比較運算符的結果都爲boolean類型的結果:true,false

4.5 邏輯運算符

  • 邏輯運算符:& 邏輯與,| 邏輯或,!邏輯非,^ 邏輯異或,&& 短路與,|| 短路或
    在這裏插入圖片描述
    注意
  • 邏輯運算符用來連接boolean類型表達式
  • &&與&,||與|的區別。爲什麼前者叫短路呢?因爲存在短路現象,就是當條件足夠判斷出結果時,後面的邏輯判斷語句就可以不執行了。
    栗子:3<2&&3<5在執行時,運行到3<2時就可以得出結果爲false,那麼後面的3<5就不會再執行了。同理||也一樣。對於&和|會執行全部判斷再得出結果。

4.6 位運算符

在這裏插入圖片描述
在這裏插入圖片描述

注意

  • 注意<<位數n代表乘以2的 n次方,>>位數n代表除以2的n次方。(傳統意義上講位運算比直接運算快,但是java好像對直接乘除以及%運算做過優化,底層實際也是採用的位運算的方式。但是好多人更樂意能用位運算就不用直接運算。所以見到這種寫法要認識嗷~)

4.7 三目運算符

  • 格式:(條件表達式)?表達式1:表達式2;
  • 解釋:若條件爲true,運算後的結果是表達式1。false則運算後的結果是表達式2。
  • 注意
    • 表達式1和2是同種類型。
    • 三元運算符與if-else的聯繫與區別:
      1)三元運算符可簡化if-else語句
      2)三元運算符要求必須返回一個結果。
      3)if後的代碼塊可有多個語句

4.8 優先級

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章