ishowcode.eth

ishowcode.eth

区块链小白

java基礎語法(上)

Java 基本語法#

1. 關鍵字與保留字#

1.1 關鍵字 (keyword) 的定義和特點#

  • 定義:被 Java 語言賦予了特殊含義,用做專門用途的字符串(單詞)
  • 特點:關鍵字中所有字母都為小寫
  • 官方地址 (點擊跳轉)

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

1.2 保留字 (reserved word)#

Java 保留字:現有 Java 版本尚未使用,但以後版本可能會作為關鍵字使用。自己命名標識符時要避免使用這些保留字。goto 、const

1.3 標識符 (Identifier)#

標識符:#

  • Java 對各種變量、方法和類等要素命名時使用的字符序列稱為標識符。
  • 技巧:凡是自己可以起名字的地方都叫標識符。

定義合法標識符規則:#

  • 由 26 個英文字母大小寫,0-9 ,_或 $ 組成
  • 數字不可以開頭。
  • 不可以使用關鍵字和保留字,但能包含關鍵字和保留字。
  • Java 中嚴格區分大小寫,長度無限制。
  • 標識符不能包含空格。

1.4Java 中的名稱命名規範:#

  • 包名:多單詞組成時所有字母都小寫:xxxyyyzzz
  • 類名、接口名:多單詞組成時,所有單詞的首字母大寫:XxxYyyZzz
  • 變量名、方法名:多單詞組成時,第一個單詞首字母小寫,第二個單詞開始每個單詞首字母大寫:xxxYyyZzz
  • 常量名:所有字母都大寫。多單詞時每個單詞用下劃線連接:XXX_YYY_ZZZ

2. 變量#

2.1 變量的概念:#

  • 內存中的一個存儲區域
  • 該區域的數據可以在同一類型範圍內不斷變化
  • 變量是程序中最基本的存儲單元。包含變量類型、變量名和存儲的值

2.2 變量的作用:#

  • 用於在內存中保存數據

2.3 使用變量注意:#

  • Java 中每個變量必須先聲明,後使用
  • 使用變量名來訪問這塊區域的數據
  • 變量的作用域:其定義所在的一對 { } 內
  • 變量只有在其作用域內才有效
  • 同一個作用域內,不能定義重名的變量

2.4 聲明變量#

  • 語法:<數據類型> < 變量名稱 >
  • 例如:int var;

2.5 變量的賦值#

  • 語法:<變量名稱> = < 值 >
  • 例如:var = 10;

2.6 聲明和賦值變量#

  • 語法: <數據類型> < 變量名 > = < 初始化值 >
  • 例如:int var = 10;

2.7 變量的分類 - 按數據類型#

  • 對於每一種數據都定義了明確的具體數據類型(強類型語言),在內存中分配了不同大小的內存空間。
    在這裡插入圖片描述
  • 補充:變量的分類 - 按聲明的位置的不同
  • 在方法體外,類體內聲明的變量稱為成員變量。
  • 在方法體內部聲明的變量稱為局部變量。
    在這裡插入圖片描述
  • 注意:二者在初始化值方面的異同
  • 同:都有生命週期 異:局部變量除形參外,需顯式初始化

2.8 整數類型:byte、short、int、long#

  • Java 各整數類型有固定的表數範圍和字段長度,不受具體 OS 的影響,以保證 java 程序的可移植性。
  • java 的整型常量默認為 int 型,聲明 long 型常量須後加‘l’或‘L’
  • java 程序中變量通常聲明為 int 型,除非不足以表示較大的數,才使用 long
    在這裡插入圖片描述
public class VariableTest {
 public static void main(String[] args) {
 int number1;
 number1 = 10;
 int number2;
 number2 = 20;
 int number3;
 number3 = number1 + number2;
 System.out.println("Number3 = " + number3);
 int number4 = 50;
 int number5 = number4 - number3;
 System.out.println("Number5 = " + number5);
 }
 }

2.9 浮點類型:float、double#

  1. 與整數類型類似,Java 浮點類型也有固定的表數範圍和字段長度,不受具體操作系統的影響。
  2. 浮點型常量有兩種表示形式:
  • 十進制數形式:如:5.12 512.0f .512 (必須有小數點)
  • 科學計數法形式:如:5.12e2 512E2 100E-2
  1. float: 單精度,尾數可以精確到 7 位有效數字。很多情況下,精度很難滿 足需求。double: 雙精度,精度是 float 的兩倍。通常採用此類型。
  2. Java 的浮點型常量默認為 double 型,聲明 float 型常量,須後加‘f’或‘F’。
    在這裡插入圖片描述

2.10 字符類型:char#

  • char 型數據用來表示通常意義上 “字符”(2 字節)
  • Java 中的所有字符都使用 Unicode 編碼,故一個字符可以存儲一個字
    母,一個漢字,或其他書面語的一個字符。
  • 字符型變量的三種表現形式:
  1. 字符常量是用單引號 (‘ ’) 括起來的單個字符。例如:char c1 = 'a'; char c2= ' 中 '; char c3 = '9';
  2. Java 中還允許使用轉義字符‘\’來將其後的字符轉變為特殊字符型常量。
    例如:char c3 = ‘\n’; // '\n' 表示換行符
  3. 直接使用 Unicode 值來表示字符型常量:‘\uXXXX’。其中,XXXX 代表
    一個十六進制整數。如:\u000a 表示 \n。
  • char 類型是可以進行運算的。因為它都對應有 Unicode 碼。

2.11 布林類型:boolean#

  • boolean 類型用來判斷邏輯條件,一般用於程序流程控制:
  • if 條件控制語句;
    while 循環控制語句;
    do-while 循環控制語句;
    for 循環控制語句;
  • boolean 類型數據只允許取值 true 和 false,無 null。
  1. 不可以使用 0 或非 0 的整數替代 false 和 true,這點和 C 語言不同。
  2. Java 虛擬機中沒有任何供 boolean 值專用的字節碼指令,Java 語言表達所操作的 boolean 值,在編譯之後都使用 java 虛擬機中的 int 數據類型來代替:true 用 1 表示,false 用 0 表示。———《java 虛擬機規範 8 版》

2.12 基本數據類型轉換#

  • 自動類型轉換:容量小的類型自動轉換為容量大的數據類型。數據類型按容量大小排序為:
    -在這裡插入圖片描述
  • 有多種類型的數據混合運算時,系統首先自動將所有數據轉換成容量最大的那種數據類型,然後再進行計算。
  • byte,short,char 之間不會相互轉換,他們三者在計算時首先轉換為 int 類型。
  • boolean 類型不能與其它數據類型運算。
  • 當把任何基本數據類型的值和字符串 (String) 進行連接運算時 (+),基本數據類型的值將自動轉化為字符串 (String) 類型。

2.13 字符串類型:String#

  • String 不是基本數據類型,屬於引用數據類型
  • 使用方式與基本數據類型一致。例如:String str = “abcd”;
  • 一個字符串可以串接另一個字符串,也可以直接串接其他類型的數據。例如:str = str + “xyz” ; int n = 100; str = str + n
 public class StringTest {
 public static void main(String[] args) {
 int no = 10;
 String str = "abcdef";
 String str1 = str + “xyz” + no;
 str1 = str1 + "123";
 char c = '國';
 double pi = 3.1416;
 str1 = str1 + pi;
 boolean b = false;
 str1 = str1 + b;
 str1 = str1 + c;

 System.out.println("str1 = " + str1);
 }
 }

2.14 強制類型轉換#

  • 自動類型轉換的逆過程,將容量大的數據類型轉換為容量小的數據類型。使用時要加上強制轉換符:(),但可能造成精度降低或溢出,格外要注意。
  • 通常,字符串不能直接轉換為基本類型,但通過基本類型對應的包裝類則可以實現把字符串轉換成基本類型。
  • 如: String a = “43”; int i = Integer.parseInt (a);
  • boolean 類型不可以轉換為其它的數據類型。

3. 運算符#

  • 運算符是一種特殊的符號,用以表示數據的運算、賦值和比較等。
  • 算術運算符
    賦值運算符
    比較運算符(關係運算符)
    邏輯運算符
    位運算符
    三元運算符

3.1 運算符:算術運算符#

在這裡插入圖片描述

  • 算術運算符的注意問題
  1. 如果對負數取模,可以把模數負號忽略不記,如:5%-2=1。 但被模數是負數則不可忽略。此外,取模運算的結果不一定總是整數。
  2. 對於除號 “/”,它的整數除和小數除是有區別的:整數之間做除法時,只保留整數部分而舍棄小數部分。
  3. “+” 除字符串相加功能外,還能把非字符串轉換成字符串。

3.2 運算符:賦值運算符#

  • 符號:=
    當 “=” 兩側數據類型不一致時,可以使用自動類型轉換或使用強制
    類型轉換原則進行處理。
    支持連續賦值。
  • 擴展賦值運算符: +=, -=, *=, /=, %=
    在這裡插入圖片描述
  • 比較運算符的結果都是 boolean 型,也就是要麼是 true,要麼是 false。
  • 比較運算符 “==” 不能誤寫成 “=” 。

3.3 運算符:邏輯運算符#

  • &— 邏輯與 | — 邏輯或 !— 邏輯非
    && — 短路與 || — 短路或 ^ — 邏輯異或
    在這裡插入圖片描述
  • 邏輯運算符用於連接布林型表達式,在 Java 中不可以寫成 3<x<6,應該寫成 x>3 & x<6 。
  • “&” 和 “&&” 的區別:
    單 & 時,左邊無論真假,右邊都進行運算;
    雙 & 時,如果左邊為真,右邊參與運算,如果左邊為假,那麼右邊不參與運算。
  • “|” 和 “||” 的區別同理,|| 表示:當左邊為真,右邊不參與運算。
  • 異或 (^) 與或 ( | ) 的不同之處是:當左右都為 true 時,結果為 false。
  • 異或,追求的是 “異”!(相同為 0,不同為 1)

3.4 運算符:位運算符#

在這裡插入圖片描述

  • 位運算是直接對整數的二進制進行的運算

在這裡插入圖片描述

3.5 運算符:三元運算符#

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

  • 運算符的優先級
    在這裡插入圖片描述

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。