- 關鍵字
- 被Java語言賦予特定含義的單詞
- 特點:
- 關鍵字
全部小寫
- 注意事項:
goto和const作爲保留字存在
- 標識符
- 給類、接口、方法、變量等起名字的字符序列
- 組成規則
- 英文大小寫字母
- 數字
- $和_
- 注意事項
- 不能以數字開頭
- 不能是java中的關鍵字
- 區分大小寫
- 常見命名規則(見名知意)
- 包:全部小寫
- 單機包:小寫
- 多級包:小寫,並用.隔開
- 類或者接口
- 一個單詞:首字母大寫
- 多個單詞:每個單詞首字母大寫
- 方法或者變量
- 一個單詞:首字母小寫
- 多個單詞:從第二單次開始,每個單詞首字母大寫
- 常量
- 包:全部小寫
全部大寫,多個單詞用_隔開。
- 註釋
- 就是對程序進行解釋說明的文字
- 分類:
單行註釋://
多行註釋:/**/ (不能嵌套)
文檔註釋:/** */
- 常量
- 在程序執行的過程中,其值不發生改變的量
- 分類
- 字面值常量
- 自定義常量
- 字面值常量
字符串常量 |
“hello” |
整數常量 |
12,213 |
小數常量 |
12.345 |
字符常量 |
'a' , 'A' , '0' |
布爾常量 |
true\false |
空常量 |
null |
- 自定義常量
在java中,利用關鍵字final指示常量。
關鍵字final表示這個變量只能被賦值一次。常量名使用全大寫
註釋:在java中經常希望某個常量可以在一個類中的多個方法中使用,通常將這些常量稱爲類常量,可以使用關鍵字static final設置一個類常量。
- 變量
在Java中,每一個變量屬於一種類型,在聲明變量時,變量所屬的類型位於變量之前。變量就是指在程序執行過程中值在某個範圍內可以發生改變的量。
變量的定義格式:
數據類型 變量名 = 初始化值;
聲明一個變量之後,必須使用賦值語句對變量進行顯示初始化。變量的聲明儘可能靠近變量第一次使用的地方。
- 數據類型
- Java是一種強類型語言。這就意味着必須爲每一個變量聲明一種類型。
- 分類:
基本數據類型:
4類八種
引用數據類型:
類,接口,數組
- 基本數據類型
-
整數
佔用字節數
Byte
1
Short
2
Int
4
Long
8
-
-
浮點數
佔用字節數
Float
4
Double
8
-
字符
佔用字節數
Char
2
-
布爾
佔用字節數
Boolean
1
注意:整數默認是int類整型,浮點數默認是double
長整型要加L或l
單精度的浮點數要加F或者f
- 數據類型轉換
- boolean類型不參與轉換
- 默認轉換
- 從小到大
- byte,short,char -- int -- long -- float -- double
- byte,short,char之間不參與相互轉換,直接轉換成int類型參與運算。
- 強制轉換
- 從大到小
- 可能會損失精度
- 格式
目標數據類型 變量名 = (目標數據類型) (被轉換的數據);
- 運算符
- 算術運算符
- +,-,*,/,%,++,--
- +的用法
- 加法
- 正號
- 字符串連接符
- /和%的用法
- 算術運算符
數據做除法操作的時候,/取得的是商,%取得的是餘數。
- ++和--的用法
- 自增或者自減
- 使用
- 單獨使用
放在操作數據的前面和後面的效果一樣。
- 參與操作使用
放在操作數前面:先自增或者自減,在參與操作。
放在操作數後面:先參與操作,再自增或者自減。
- 賦值運算符
- =,+=,-=,*=,/+,%=等
- =叫做賦值運算符,也是最基本的賦值運算符
- 擴展的賦值運算符的特點
隱含了自動強制轉換
第一個有問題!
- 比較運算符
- ==,!=,>,>=,<,<=
- 無論運算符兩段簡單還是複雜最終結果都是boolean類型
- 邏輯運算符
- &,|,^,!,&&,||
- 邏輯運算符用於連接boolean類型式子
- 結論
& |
有false則false |
| |
有true則true |
^ |
相同則false,不同則true |
! |
非true則false,非flase則true |
&& |
和&相同,不過有短路效果,左邊是false,右邊不執行 |
|| |
和|相同,不過有短路效果,左邊是true,右邊不執行 |
- 位運算符
- ^的特殊用法
一個數據對另外一個數據位異兩次,該數不變。
- 三元運算符
- 格式
比較表達式?表達式1:表達式2;
- 執行流程
首先計算表達式的值,是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方法。