³ Java 語言中,對各種變量、方法和類等要素命名時使用的字符序列稱爲標識符。
--凡是自己可以起名字的地方都叫標示符,都遵守標示符的規則。
³ Java 標識符有如下命名規則:
– 標識符由字母、下劃線“_” 、美元符“$”或數字組成。
– 標識符應以字母、下劃線“_” 、美元符“$”開頭。
³ Java 標識符大小寫敏感,長度無限制。
³ 約定俗成:Java 標識符選取因注意“見名知意”且不能與 Java 語言的關鍵字重名。
合法的標識符 |
不合法的標識符 |
HelloWorld |
class |
DataClass |
DataClass# |
_983 |
98.3 |
$bS5_c7 |
Hell World |
命名約定:
類名、接口名 :每個單詞的首字母應該大寫
class MyFirstClass
interface Weapon
字段、方法以及對象:第一個單詞首字母應小寫,其他單詞首字母大寫
boolean isWoman
void setName(String name)
常量:全部用大寫字母表示。
public final int GREEN
public final int HEAD_ COUNT
Java包(Package):它們全都字母小寫。
package java.awt.event
關鍵字
³ Java 中一些賦以特定的含義,用做專門用途的字符串稱爲關鍵字(keyword)。
³ 所有Java關鍵字都是小寫英文字符串。
³ goto 和 const 雖然從未使用,但也作被爲 Java 關鍵字保留。
abstract default if private this boolean do implements protected throw break double import public throws byte else instanceof return transient case extends int short try catch final interface static void char finally long strictfp volatile class float native super while const for new switch null continue goto package synchronized
Java變量
³ Java變量是程序中最基本的存儲單元,其要素包括變量名,變量類型和作用域。
³ Java程序中每一個變量都屬於特定的數據類型,在使用前必須對其聲明,聲明語法格式爲:
• type varName [=value][{,varName[=value]}]
從本質上講,變量其實是內存中的一小塊區域,使用變量名來訪問這塊區域,因此,每一個變量使用前必須要先申請(聲明),然後必須進行賦值(填充內容),才能使用
局部變量:方法或語句塊內部定義的變量
成員變量:方法外部、類的內部定義的變量
注意:類外面(與類對應的大括號外面)不能有變量的聲明
類 型 |
佔用存儲空間 |
表數範圍 |
byte |
1字節 |
-128 ~ 127 |
short |
2字節 |
-215 ~ 215-1 |
int |
4字節 |
-231 ~ 231-1 |
long |
8字節 |
-263 ~ 263-1 |
float |
4字節 |
-3.403E38~3.403E38 |
double |
8字節 |
-1.798E308~1.798E308 |
Long |
8字節 |
-2E63~-2E63-1 |
³ java中可以從任意基本類型轉型到另外的基本類型
³ 例外 à boolean 類型不可以轉換爲其他的數據類型。
³ 轉換分爲默認轉換和強制轉換
³ 整形,字符型,浮點型的數據在混合運算中相互轉換,轉換時遵循以下原則:
– 容量小的類型默認轉換爲容量大的數據類型;數據類型按容量大小排序爲:
• byte,short,char->int->long->float->double
• byte,short,char之間不會互相轉換,他們三者在計算時首先回轉換爲int類型
– 容量大的數據類型轉換爲容量小的數據類型時,要加上強制轉換符,但可能造成精度降低或溢出;使用時要格外注意。
– 有多種類型的數據混合運算時,系統首先自動的將所有數據轉換成容量最大的那一種數據類型,然後再進行計算。(看下頁)
– 實數常量(如:1.2)默認爲 double。整數常量(如:123)默認爲 int 。
³ 有多種類型的數據混合運算時,系統首先自動的將所有數據轉換成容量最大的那一種數據類型,然後再進行計算。
– 如果其中一個運算對象是double類型的
• 另一個也會被轉換成double類型。
– 否則,如果其中一個運算對象是float類型的,
• 另一個也會被轉換成float類型的。
– 否則,如果其中一個運算對象是long類型的,
• 另一個也會被轉換成long類型的。
– 否則,如果其中一個運算對象是int類型的,
• 另一個也會被轉換成int類型的。
– 否則,如果其中一個運算對象是short類型的,
• 另一個也會被轉換成short類型的。
³ 邏輯運算符: !-邏輯非, &- 邏輯與 , | - 邏輯或, ^ - 邏輯異, &&- 短路與, || - 短路或
³ &&,||,! 邏輯運算符只能用於boolean身上。
a |
b |
!a |
a&b |
a|b |
a^b |
a&&b |
a||b |
|||
true |
true |
false |
true |
true |
false |
true |
true |
|||
true |
false |
false |
false |
true |
true |
false |
true |
|||
false |
true |
true |
false |
true |
true |
false |
true |
|||
false |
false |
true |
false |
false |
false |
false |
false |
|||
運算符 |
用法舉例 |
等效的表達式 |
|
|||||||
+= |
a += b |
a = a+b |
|
|||||||
-= |
a -= b |
a = a-b |
|
|||||||
*= |
a *= b |
a = a*b |
|
|||||||
/= |
a /= b |
a = a/b |
|
|||||||
%= |
a %= b |
a = a%b |
|
|||||||
字符串連接符
³ “+” 除用於算術加法運算外,還可用於對字符串進行連接操作
int id = 800 + 90;
String s = "hello" + "world";
³ “+”運算符兩側的操作數中只要有一個是字符串(String)類型,系統會自動將另一個操作數轉換爲字符串然後再進行連接。
int c = 12;
System.out.println("c=" + c);
– ++i , --i 在使用i前,先使i的值改變
– i++ , i-- 在使用i後,再改變i的值
³ “三目條件運算符,語法格式:
• x ? y : z
³ 其中 x 爲 boolean 類型表達式,先計算 x 的值,若爲true,則整個三目運算的結果爲表達式 y 的值,否則整個運算結果爲表達式 z 的值。
³ 舉例:
int score = 80; int x = -100;
String type = score < 60 ? "不及格" : "及格";
int flag = x > 0 ? 1 : (x == 0 ? 0 : -1);
System.out.println("type= " + type);
System.out.println("flag= "+ flag);
³ for 語句爲如下形式:
for(表達式1; 表達式2; 表達式3){ 語句; … ; }
³ 執行過程
首先計算表達式1,接着執行表達式2,若表達式2的值 = ture,則執行語句,接着計算表達式3,再判斷表達式2的值;依此重複下去,直到表達式2的值=false
for語句中三個表達式都可以省略
JDK1.5新補充的for語法(後面課程中補充,數組)
=true 表達式2值 結束for語句 計算表達式3 語 句 計算表達式1 =false
while & do while 語句
³ while 語句爲如下形式:
while(邏輯表達式){ 語句; … ; }
³ 執行過程
先判斷邏輯表達式的值。若=true.則執行其後面的語句,然後再次判斷條件並反覆執行,直到條件不成立爲止
表達式值 語 句 結束 While 語句
³ while 語句爲如下形式:
do { 語句; … ; } while(邏輯表達式);
³ 執行過程
先執行語句,再判斷邏輯表達式的值,若爲true,再執行語句,否則結束循環。
語 句 表達式值 結束 do-While 語句
break & Continue 語句
³ break 語句用於終止某個語句塊的執行。用在循環語句體中,可以強行退出循環;
³ 例如:
public class Test {
public static void main(Stringargs[]){
int stop = 4;
for (int i = 1; i <= 10; i++) {
//當i等於stop時,退出循環
if (i == stop) break;
System.out.println(" i= " + i);
}
}
}
³ continue 語句用在循環語句體中,用於終止某次循環過程,跳過循環體中 continue 語句下面未執行的循環,開始下一次循環過程;
³ 例如:
public class Test {
public static void main(String args[]) {
int skip = 4;
for (int i = 1; i <= 5; i++) {
//當i等於skip時,跳過當次循環
if (i == skip) continue;
System.out.println("i = " + i);
}
}
}
switch語句
³ switch() {
case xx :
….
case xx :
….
default:
….
}
³ 通常case和break配合使用
³ 多個case可以合併到一起
³ default可以省略,但不推薦省略
³ Switch的值表達式中類型可以包括:byte、short、char、int