一、java語言基礎構成
二、java關鍵字和保留字
1、關鍵字
- 用於定義數據類型的關鍵字(下表)
class | interface | byte | short | int |
long | float | double | char | boolean |
void |
- 用於定義數據類型值的關鍵字:true,false,null
- 用於定義流程控制的關鍵字(下表)
if | else | switch | case | default |
while | do | for | break | continue |
return |
- 用於定義訪問權限修飾符的關鍵字:private, protected,public
- 用於定義類、函數、變量修飾符的關鍵字:abstract,final,static,synchronized
- 用於定義類與類之間關係的關鍵字:extends, implements
- 用於建立實例及引用實例,判斷實例的關鍵字:new,this,super,instanceof
- 用於異常處理的關鍵字:try,catch,finally,throw,throws
- 用於包的關鍵字:package,import
- 其它修飾符關鍵字:native,strictfp(strict float point,精確浮點),
volatile(類型修飾符,用來修飾被不同線程訪問和修改的變量),
assert(斷言,可以看作是異常處理的一種高級形式,用於捕捉我們在代碼中做出的假設)。
2、保留字:以後可能用的。const、goto
三、java中的常量與變量
1、常量
- 整數常量:所有整數
- 小數常量:所有小數
- 布爾型常量:較爲特有,只有兩個數值,true和false
- 字符常量:將一個數字字母或符號用單引號(‘’)標識
- 字符串常量:將一個或者多個字符用雙引號標識
- null常量:只有一個數值,null
- 二進制:0和1表示,滿2進1
- 十進制:0~9,滿10進1
- 八進制:0~7,滿8進1,開頭用O表示
- 十六進制:0~9,A~F,滿16進1,開頭用Ox表示
- 技術實現簡單,計算機是由邏輯電路組成,邏輯電路通常只有兩個狀態,開關的接通與斷開,這兩種狀態正好可以用“1”和“0”來表示。
- 簡化運算規則,兩個二進制數和、積運算組合各有三種,運算規則簡單,有利於簡化計算機內部結構,提高運算速度。
- 適合邏輯運算,邏輯代數是邏輯運算的理論依據,二進制只有兩個數碼,正好與邏輯代數的“真”與“假”相吻合。
- 易於進行轉換,二進制與十進制數易於互相轉換。
- 用二進制表示數據具有抗干擾能力強,可靠性高等優點。因爲每位數據只有高低兩個狀態,當受到一定程度的干擾時,仍能可靠的分辨出它是高還是低。
2、變量
- 定義:內存中的一個存儲空間,該空間有自己的名稱(變量名)和類型(數據類型)。
- 作用:用於不斷的存放同一類型的常量,並可以重複使用。
- 定義的格式:數據類型 變量名 = 初始化值。 如:int x = 6;
- 變量的作用範圍:從變量定義開始到定義它的代碼塊結束。同一範圍內,不允許多個局部變量命名衝突。
- 什麼時候定義變量:當數據不確定的時候,需要對一個數據進行存儲時,就定義一個變量來完成存儲動作。
①應以字母、下劃線、或美元符號開頭。
3、數據類型
- java是一種強類型語言。這就意味着java必須爲沒一個變量聲明一種類型。在java中,一共有8中基本類型,其中有4種整型、2種浮點類型、一種用於表示Unicode編碼的字符單元的字符類型char和一種用於表示真值的boolean類型。
- java中有兩種基本數據類型:基本數據類型和引用數據類型,其結構圖如下:
- 基本數據類型:所佔字節數及取值範圍如下圖:
- 容量小的向容量大的,可以自動轉換,比如可以將一個int類型的值直接賦值給double,如:double d = 34;
- 容量大的向容量小的轉換,則必須進行強制類型轉換,如:int i = (double)32.42;
- 整數類型常量默認爲int類型,浮點型常量默認爲double類型
- 在多種數據類型進行混合運算時,容量小的自動轉換成整個表達式中容量最大的,然後再進行計算。
- 在進行多種數據類型混合運算時,byte、short、char三種類型不會相互轉換,他們各自轉換成int再進行計算。
- 在有些時候,容量小的會自動提升爲容量大的,比如方法重載傳遞參數的時候,但byte、short不會自動提升爲char。
- 注意:強制類型轉換雖然能通過編譯,但運行時,有可能會造成數據溢出,損失精度。
四、java中的運算符
1、算術運算符
- 單目運算符:+(正)、-(負)、++(自增)、--(自減)
- 雙目運算符:(+、-、*、/、%)(加、減、乘、除、模)
- 三目運算符:a>b?表達式1:表達式2。注:當a>b爲true時,返回表達式1的值,否則返回表達式2的值。
package com.huang.test;
/**
*@author huangxiang
*@date 創建時間:2015年3月10日下午10:32:30
*@version 1.0
*/
public class TestDemo {
//演示算術運算符
public static void main(String[] args) {
//單目運算符的演示
int a = 5,b=4,c=8;
int d = a+b-c*b;
int e = a>d?a:d;//三目運算符
System.out.println(d);//d = -23
System.out.println(e);//e = 5;
}
}
2、賦值運算符:=、+=、-=、*=、/=、%=
3、比較運算符:==(比較的是左右兩邊的變量是否來自於同一個內存地址)
public class Test2Demo {
public static void main(String[] args) {
int a = 1;
int b = 1;
System.out.println(a==b);//結果爲true
}
}
public class Test2Demo {
public static void main(String[] args) {
String s1 = "abc";
String s2 = "abc";
System.out.println(s1==s2);//結果爲true
}
}
但是如果:
public class Test2Demo {
public static void main(String[] args) {
String s1 = "abc";
String s2 = new String("abc");
System.out.println(s1==s2);//結果爲false
}
}
爲什麼結果會不同呢?4、邏輯運算符(&&、||、!、|、&、^)
其中,&和&&的特點是:單&時,左邊無論真假,右邊都進行運算;雙&時,如果左邊爲真,右邊參與運算;如果左邊爲假,則右邊不參與運算。而“|”和“||”的特點是:“|”表示其兩邊都參與運算。而“||”時,表示當左邊爲真,右邊不參與運算。
5、位運算符(&、|、^、~、>>、<<、>>>)
- 左移(<<):被移除的高位丟棄,空位補0
- 右移(>>):被移位的二進制最高位是0,則右移後空位補0;最高位爲1,空位補1。
- 無符號右移(>>>):被移位的二進制無論最高位是什麼,都補0
- 與(&):與二進制位進行&運算,兩個全部爲1,結果爲1,否則爲0
- 或(|):與二進制爲進行|運算,只有兩個都爲0是纔是0,否則爲1
- 異或(^):兩個操作數的位中,相同結果爲0,不同爲1
- 非(~):取反.
6、Instanceof
五、標識符
- 類名和接口:每個字的首字母大寫,含有大小寫。如;Myclass、HelloWorld等
- 方法名:首字母小寫,其餘的字母大寫,含有大小寫,儘量少用下劃線。
- 常量名:基本數據類型的常量名全部使用大寫字母,字與字之間用 下劃線分隔。對象常量可用大小寫混寫。如:SIZE_NAME。
- 變量名:可大小寫混寫,首字母小寫,字間 分隔符用字的首字母大寫。不用下劃線,少用美元符號。給變量名命名儘量見名知意。