1. 程式人生 > >Java語言基礎-java的基本程式設計結構

Java語言基礎-java的基本程式設計結構

    • 關鍵字
      1. Java語言賦予特定含義的單詞
      2. 特點:

全部小寫

  1. 注意事項:

goto和const作為保留字存在

  • 識別符號
    1. 給類、介面、方法、變數等起名字的字元序列
    2. 組成規則
      1.  英文大小寫字母
      2.  數字
      1.  $和_
    3. 注意事項
      1. 不能以數字開頭
      2. 不能是java中的關鍵字
      3. 區分大小寫
    4. 常見命名規則(見名知意)
      1. 包:全部小寫
        1. 單機包:小寫
        2. 多級包:小寫,並用.隔開
      2. 類或者介面
        1. 一個單詞:首字母大寫
        2. 多個單詞:每個單詞首字母大寫
      3. 方法或者變數
        1. 一個單詞:首字母小寫
        2. 多個單詞:從第二單次開始,每個單詞首字母大寫
      4. 常量

全部大寫,多個單詞用_隔開。

  • 註釋
    1. 就是對程式進行解釋說明的文字
    2. 分類:

單行註釋://

多行註釋:/**/    (不能巢狀)

文件註釋:/** */

  • 常量
    1. 在程式執行的過程中,其值不發生改變的量
    2. 分類
      1. 字面值常量
      2. 自定義常量
    3. 字面值常量

字串常量

“hello”

整數常量

12,213

小數常量

12.345

字元常量

'a' , 'A' , '0'

布林常量

true\false

空常量

null

  1. 自定義常量

在java中,利用關鍵字final指示常量。

關鍵字final表示這個變數只能被賦值一次。常量名使用全大寫

註釋:在java中經常希望某個常量可以在一個類中的多個方法中使用,通常將這些常量稱為類常量,可以使用關鍵字static final設定一個類常量。

  • 變數

在Java中,每一個變數屬於一種型別,在宣告變數時,變數所屬的型別位於變數之前。變數就是指在程式執行過程中值在某個範圍內可以發生改變的量。

變數的定義格式:

資料型別    變數名    =    初始化值;

宣告一個變數之後,必須使用賦值語句對變數進行顯示初始化。變數的宣告儘可能靠近變數第一次使用的地方。

  • 資料型別
    1. Java是一種強型別語言。這就意味著必須為每一個變數宣告一種型別。
    2. 分類:

基本資料型別:

4類八種

引用資料型別:

類,介面,陣列

  1. 基本資料型別
    1. 整數               

      佔用位元組數

      Byte

      1

      Short

      2

      Int

      4

      Long

      8

  1. 浮點數

    佔用位元組數

    Float

    4

    Double

    8

  2. 字元

    佔用位元組數

    Char

    2

  3. 布林

    佔用位元組數

    Boolean

    1

注意:整數預設是int類整型,浮點數預設是double

長整型要加Ll

單精度的浮點數要加F或者f

  1. 資料型別轉換
    1. boolean型別不參與轉換
    2. 預設轉換
      1. 從小到大
      2. byteshortchar -- int --  long -- float -- double
      3. byteshortchar之間不參與相互轉換,直接轉換成int型別參與運算。
    3. 強制轉換
      1. 從大到小
      2. 可能會損失精度
      3. 格式

目標資料型別變數名=    (目標資料型別)(被轉換的資料);

  • 運算子
    1. 算術運算子
      1. +,-,*,/,%,++,--
      2. +的用法
        1. 加法
        2. 正號
        3. 字串連線符
      3. /%的用法

資料做除法操作的時候,/取得的是商,%取得的是餘數。

  1. ++--的用法
    1. 自增或者自減
    2. 使用
      1. 單獨使用

放在操作資料的前面和後面的效果一樣。

  1. 參與操作使用

放在運算元前面:先自增或者自減,在參與操作。

放在運算元後面:先參與操作,再自增或者自減。

  1. 賦值運算子
    1. =+=-=*=/+%=
    2. =叫做賦值運算子,也是最基本的賦值運算子
    3. 擴充套件的賦值運算子的特點

隱含了自動強制轉換

第一個有問題!

  1. 比較運算子
    1. ==,!=>>=<<=
    2. 無論運算子兩段簡單還是複雜最終結果都是boolean型別
  2. 邏輯運算子
    1. &|^,!,&&||
    2. 邏輯運算子用於連線boolean型別式子
    3. 結論

&

有false則false

|

有true則true

^

相同則false,不同則true

非true則false,非flase則true

&&

和&相同,不過有短路效果,左邊是false,右邊不執行

||

和|相同,不過有短路效果,左邊是true,右邊不執行

  1. 位運算子
    1. ^的特殊用法

一個數據對另外一個數據位異兩次,該數不變。

  1. 三元運算子
    1. 格式

比較表示式?表示式1:表示式2;

  1. 執行流程

首先計算表示式的值,是true,表示式1就是結果

false,表示式2就是結果。

  • 字串

Java字串就是Unicode字元序列。

Java沒有內建的字串型別,而是在標準Java類庫中提供了一個預定義類。很自然的叫做String。每個用雙引號括起來的字串都是String類的一個例項。

  • 子串

String類的substring方法可以從一個較大的字串中提取一個子串。

 

  • 拼接

與絕大多數的程式設計語言一樣,Java語言允許使用+號連線兩個字串。

當將一個字串與一個非字元的值進行拼接時,後者被轉換成字串。

  • 不可變字串

String類沒有提供用於修改字串的方法。       

 

可以修改字串變數greeting,讓它引用另外一個字串。                 

  • 檢測字串是否相等

可以使用equals方法檢測兩個字串是否相等。


如果字串s與字串greeting相等,則返回true,否則,返回false。

可以是字串變數,也可以是字串常量。

檢測兩個字串是否相等,而不區分大小寫,可以使用equalsIgnoreCase方法。

不能使用==運算子檢測兩個字串是否相等,這個運算子只能夠確定兩個字元是否放置在同一個位置上。

  • 空串與Null

空串""是長度為0的字串。可以呼叫以下程式碼檢查一個字串是否為空。

空串是一個Java物件,有自己的串長度(0)和內容(空)。不過,String變數還可以存放一個特殊的值,名為Null,這表示目前沒有任何物件與該變數關聯。

檢查一個字串是否為null

檢查一個字串既不是null,也不為空串

  • 程式碼點與程式碼單元

要想得到實際的長度,即程式碼點的數量,可以呼叫

要想得到第i個程式碼點,應該使用

  • 構建字串

構建一個空的字串構建器

當每次需要新增一部分內容時,就呼叫append方法

在需要構建字串時就呼叫toString方法,將可以得到一個String物件,其中包含了構建器中的字元序列

  • 輸入輸出
    • 讀取輸入

要想通過控制檯進行輸入,首先需要構造一個Scanner物件,並與“標準輸入流”System.in關聯。

nextLine()方法將輸入一行

讀取一個單詞(以空白符作為分隔符)呼叫next()

讀取一個整數,呼叫nextInt()

讀取浮點數,呼叫nextDouble()

在程式最開始一行新增一行

:Console類實現讀取一個密碼

  • 檔案輸入與輸出

要想對檔案進行讀取,就需要一個用File物件構造一個Scanner物件

寫入檔案就需要構造一個PrintWriter物件

  • 控制流
    • 條件語句

If(condition) statement

這裡的條件必須用括號括起來

If(condition) statement1 else statement2

  • 迴圈

當條件是true時,while迴圈執行一條語句。

While(condition) statement

先執行語句,再檢測迴圈條件

Do statement while (condition);

  • 確定迴圈

for迴圈語句是支援迭代的一種通用結構,利用每次迭代之後更新的計數器或類似的變化來控制迭代次數。

for (int I =1; I <= 10; I++)

System.out.println(i);

  • 多重選擇:switch語句

Switch (chioce)

{

case 1:

break;

case 2:

Break;

.

.

.

defalut:

break;

}

switch語句將從與選項值相匹配的case標籤處開始執行直到遇到break語句,或者執行到switch語句的結束處為止。如果沒有相匹配的case標籤,而有default子句。就執行這個語句。

從JavaSe7開始,case標籤還可以是字串字面量和列舉(JDK5).

continue跳出單層迴圈一次。

  • 大數值

如果基本的整數和浮點數精度不能夠滿足需求,那麼可以使用java.math包中的兩個很有用的類:BigInteger和BigDecimal。前者實現了任意精度的整數運算,後者實現了任意精度的浮點數運算。

使用靜態的valueOf方法可以將普通的數值轉換為大數值

處理大數值用大數值類中的add和multiply方法。