------<a href="http://www.itheima.com" target="blank">Java培訓、Android培訓、iOS培訓、.Net培訓</a>、期待與您交流! -------java
Java基礎語法(一)---關鍵字、常量、變量、運算符
1、關鍵字 網絡
定義:被Java賦予了特殊含義的單詞。框架
特色:體現上都是英文小寫。函數
一、 用於定義數據類型的關鍵字this
基本數據類型:spa
整數類型: byte(1字節,最大值127) short(2字節,最大值爲2^15-1).net
int(4字節,最大值爲2^31-1) long(8字節,最大值爲2^63-1)線程
浮點類型: float (單精度實數在內存中佔32bit 有效數字爲6~7位)3d
double(雙精度實數佔內存單元爲64bit 有效數字爲15~16位)code
字符類型:char 如’a’,’1’等
布爾型:boolean (flas true)
引用數據類型:
class(類) interface(接口)
void用於函數上表示無返回值類型
二、用於定義數據類型值的關鍵字
true(真) false(假) null(空)
三、 用於定義流程控制的關鍵字
判斷:
if else
switch case default
循環:
for
while
繼續循環:continue 結束循環或選擇結構:break返回:return
四、 用於定義訪問權限修飾符的關鍵字
private(私有的) : 類中使用定義在方法或者變量上,外部類沒法訪問
protected(受保護的):當父類中的某些屬性只想子類繼承時,可用
public(公有的): 權限爲最高,能夠用於修飾類、方法等。
五、 用於定義類、函數,變量修飾符的關鍵字
abstract(抽象的) ;final(最終的):static(靜態的):
synchronized(同步的) :判斷鎖的存在
enum(枚舉):在Vector容器中使用
六、用於定義類與類之間關係的關鍵字
extends(繼承):用於子類繼承父類時使用
implements(實現):用於實現接口時使用
七、 用於定義創建實例及引用實例,判斷實例的關鍵字
new(創建實例) this(當前引用) super(父類引用)
instanceof(判斷對象類型) : if(obj instanceof Student) 判斷obj是不是學生類型
八、 用於異常處理的關鍵字
try{須要被檢測的代碼;}
catch (){處理異常的代碼; }
finally{必定會執行的代碼;}
throw throw 定義在函數內,用於拋出異常對象
throws:定義在函數上,用於拋出異常類,能夠拋出多個用逗號隔開
九、 用於包的關鍵字
package(建立包)
import(導入包) 例如: import java.util.*; (*表明全部)
十、其餘修飾關鍵字
native(本地)
strictfp(strict float point,精確浮點)
transient(變量修飾符,用它聲明一個實例變量,在對象序列化時不會被序列化)
volatile(類型修飾符,用來修飾被不一樣線程訪問和修改的變量)
assert(斷言,能夠看做是異常處理的一種高級形式,用於捕捉咱們在代碼中作出的假設)
注:main不是關鍵字,倒是被虛擬機所識別的一個名稱。
2、標識符
在程序中自定義的一些名稱。由25個英文字母大小寫,數字0-9,符合 _ $組成。
定義合法標識符的規則:
一、 數字不能夠開頭。
二、 不可使用關鍵字。
注:Java中嚴格區分標識符的大小寫。在起名字的時候,爲了提升閱讀性,要儘可能有意義。
Java中的名稱規範:
包名:多單詞組成時全部字母都小寫。
xxxyyyzzz 例如 mypackage
類名接口名:多單詞組成時,全部單詞的首字母大寫。
XxxYyyZzz 例如 MyComparaTo
變量名和函數名:多單詞組成時,第一個單詞首字母小寫,第二個單詞開始每一個單詞首字母大寫。
xxxYyyZzz toString
常量名:全部字母都大寫。多單詞時每一個單詞用下劃線鏈接。
XXX_YYY_ZZZ 例如 MAX_PRIORITY 最高優先級
3、常量
定義:Java中固定不變的、表示不能改變的數值。
Java中常量的分類:
1,整數常量。全部整數。
2,小數常量。全部小數。
3,布爾型常量。較爲特有,只有兩個數值。true false。
4,字符常量。將一個數字字母或者符號用單引號( ' ' )標識。
5,字符串常量。將一個或者多個字符用雙引號(「」)標識。
6,null常量。只有一個數值就是:null。
對於整數,Java有三種表現形式:
十進制:0-9,滿10進1。
八進制:0-7,滿8進1,用0開頭表示。
十六進制:0-9,A-F,滿16進1,用0x開頭表示。
進制的基本轉換:
其餘進制轉十進制
Integer.valueOf("y",x) :x爲多少進制,y爲你想轉的值
十進制轉二進制: toBinaryString(x)
十進制轉換成十六進制:toHexString(x)
十進制轉換成八進制:toOctalString(x)
4、變量
概念:內存中的一個存儲空間。有本身的名稱(變量名)和類型(數據類型)。
做用:用來不斷的存放同一類型的數據,並能夠重複使用。
定義變量的格式:數據類型 變量名 =初始化值;
數據類型:
Java中有兩種數據類型:一、基本數據類型;二、引用數據類型。這裏主要講解基本數據類型。
說明:Java程序中,整數默認:int 小數默認:double
類型的自動提高:
在運算中,當低類型數據與高類型數據進行計算時,系統會自動將表達式中的低類型數據提高到高類型。如:
byte b = 3 ; int c;
c= b + 2; //b會自動提高爲int類型進行運算。
強制類型轉換:
當程序中,數據類型須要變換時,能夠進行強制轉換。如:
byte b = 3;
b = b + 4;//報錯
b = (byte)b+4;//強制類型轉換,強制將b+4的結果轉換爲byte類型,再賦值給b。
5、運算符
一、算術運算符
注:進行取模運算時,若是有負數,運算結果取決於運算左邊有沒有負數。
字符串數據和任何數據使用 +都是相鏈接,最終都會變成字符串。
二、賦值運算符
符號:= += -= *= /= %=
例: int a,b,c; a=b=c =3;
int a = 3; a+=5;//等同運算a=a+5;
三、比較運算符
注:一、比較運算符的結果都是boolean型,也就是要麼是true,要麼是false。二、比較運算符「==」不能誤寫成「=」。
四、邏輯運算符
邏輯運算符用於鏈接boolean類型的表達式。
&:只要兩邊的boolean表達式結果,有一個爲false,那麼結果就是false。只有兩邊都爲true,結果爲true。
|:兩邊只要有一個爲true,結果爲true;只有兩邊都爲false,結果爲false。
^:兩邊相同結果是false,兩邊不一樣結果是true。
&和&&的區別:
單&時,左邊不管真假,右邊都進行運算;
雙&時,若是左邊爲真,右邊參與運算,若是左邊爲假,那麼右邊不參與運算。
「|」和「||」的區別同理,雙或時,左邊爲真,右邊不參與運算。
五、位運算符 (大頭到小頭 爲 什麼移)
左移:<<;空位補0,被移除的高位丟棄,空缺位補0。
右移:>>;被移位的二進制最高位是0,右移後,空缺位補0;最高位是1,空缺位補1。
無符號右移:>>>;被移位二進制最高位不管是0或者是1,空缺位都用0補。
與: &;二進制位進行&運算,只有1&1時結果是1,不然是0。
或:|;二進制位進行 |運算,只有0 | 0時結果是0,不然是1。
異或: ^;任何相同二進制位進行 ^運算,結果是0;1^1=0 , 0^0=0。
不相同二進制位 ^運算結果是1。1^0=1 , 0^1=1。
反碼:~;對二進制進行取反。
六、 三元運算符
D=A?B:C;即A爲真時,D=B,A爲假時,B=D。
獲取兩個數中大數。
int x=3,y=4,z;
z = (x>y)?x:y;//z變量存儲的就是兩個數的大數。
運算符的優先級:
6、轉義字符
概念:經過 \ 來轉變後面字母或符號的含義。
經常使用轉義字符:
\b:退格
\n:換行
\t:製表符,至關於tab鍵
\r:回車
\\:表示反斜槓
\':表示單引號
\":表示雙引號
7、實戰演練
1 class OperateDemo 2 { 3 public static void main(String[] args) 4 { 5 int x = 4270; 6 7 x = x /1000 * 1000;//結果: x=4000; 8 System.out.println(-1%5);//結果 -1 9 10 int a = 3,b; 11 12 //a++; //--> a = a+ 1; 13 14 15 b = ++a;//結果b=4; 16 17 System.out.println("a="+a); 18 //字符串數據和任何數據使用+都是相鏈接,最終都會變成字符串。 19 //System.out.println("5+5"+(5+5));//"5+5=55" 20 21 22 /* 23 轉義字符:經過\ 來轉變後面字母或者符號的含義。 24 \n:換行。 25 \b:退格。至關於backspace。 26 \r:按下回車鍵。window系統,回車符是由兩個字符來表示\r\n. 27 \t:製表符。至關於tab鍵。 28 */ 29 System.out.println("hello \t world"); 30 //System.out.println("hello java"); 31 32 System.out.println("\\hello\\"); 33 34 char ch = '\''; 35 36 char c = 'a'; 37 38 39 } 40 }
2.交換的三種方式
1 class OperateDemo2 2 { 3 public static void main(String[] args) 4 { 5 int n = 3,m = 8; 6 System.out.println("n="+n+",m="+m); 7 8 //1,經過第三方變量。 9 /*int temp; 10 temp = n; 11 n = m; 12 m = temp; 13 */ 14 15 //2不用第三方變量。 16 //11 = 3 + 8; 17 18 //3 = 11 - 8; 19 //8 = 11 - 3; 20 /* 21 n = n + m; //若是n和m的值很是大,容易超出int範圍。即會產生溢出 22 m = n - m; 23 n = n - m; 24 */ 25 26 n = n ^ m; 27 28 m = n ^ m;//(n^m)^m; 29 30 n = n ^ m;//n ^ (n ^ m) 31 32 System.out.println("n="+n+",m="+m); 33 } 34 }
文章的主題歸納來自下面一個網絡連接,由於本身歸納總結的框架不夠具體,因而在網絡上查找到了這篇博客,而且認爲此篇博客很好,因而在其基礎上,添加了一些本身的總結,而且刪除了部分。(並沒有商業目的,只爲本身可以總結,梳理)