黑馬程序員——Java基礎語法---關鍵字、常量、變量、運算符

  ------<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 }

 

 文章的主題歸納來自下面一個網絡連接,由於本身歸納總結的框架不夠具體,因而在網絡上查找到了這篇博客,而且認爲此篇博客很好,因而在其基礎上,添加了一些本身的總結,而且刪除了部分。(並沒有商業目的,只爲本身可以總結,梳理)

http://blog.csdn.net/kangmiao89757/article/details/10615069

相關文章
相關標籤/搜索