黑馬程序員_JAVA語言基礎

 ------- android培訓java培訓、期待與您交流! ----------

一 關鍵字
1關鍵字是被java語言賦予了特殊含義的單詞,如:class(類)、public(共有)、static(靜態)、String(字符串類型)


二 註釋

1java對程序的說明,還可以用來調試程序。註釋的內容JVM會忽略。java支持三種註釋方式
(1)//單行註釋
(2)/*  */ 多行註釋
(3)/**  *文檔註釋
注意:單行註釋可以嵌套單行註釋,多行註釋可以嵌套單行註釋。但是多行註釋不能嵌套多行註釋。


三 標識符
1 在程序中自定義的名稱
2 一般起的名字見名識意,如:name(名字)
3 命名規則
(1)字母和下劃線開頭
(2)由字母和數字和下劃線以及美元符號組成
(3)不可以使用關鍵字


四 常量
1 常量表示不能改變的數
(1)整數常量:所有的整數。
     整數有四種變現形式。二進制、八進制、十進制、十六進制
(2)小數常量:所有的小數
(3)布爾型常量:只有兩個數值,true和false
(4)字符常量:只有一個數字或字母或符號,用''標識。如'a','1,','+'
(5)字符串常量:有一個或多個數字或字母或符號組成,用""標識。如"abc","a","123"
(6)null常量:只有null一個值
2 整數的四種變現形式
(1)二進制,由0和1組成,滿2加1 。注意:計算機存儲的數據都是以二進制變現形式存在的
(2)八進制,由0-7組成,滿8加1。八進制數第一位要加0,如0123
(3)十進制,由0-9組成,滿10加1。如123
(4)十六進制,由0-F組成,滿16加1。由0x開頭,如0x123

3 進制的轉換
(1)十進制轉二進制:將十進制數除2取餘數,再將餘數從最後一位開始組合
(2)二進制轉十進制:將二進制數乘以2的位數-1次冪相加
(3)二進制轉八進制:3個二進制位表示1個八進制爲
(4)二進制轉十六進制:4個二進制位表示1個十六進制位
(5)十進制轉十六進制:將十進制轉二進制,再將二進制轉十六進制
(6)十進制轉八進制:將十進制轉二進制,再將二進制轉八進制
4 負數的表現形式:對應的正整數的二進制位取反加1。規律:負數的最高位都是1


五 變量
1 概念:內存中有名字並且可以存同一類型數據的空間
(1)當數據不確定時,可以定義變量。
(2)變量定義規則
    數據類型 變量名=初始值。如:int x=0;
2 基本數據類型
(1)整型類型
   byte,佔1個字節,範圍是2的-7次冪到2的7次冪-1
   short,佔2個字節,範圍是2的-15次冪到2的15次冪-1
   int,佔4個字節,範圍是2的-31次冪到2的31次冪-1
   long,佔8個字節,範圍是2的-63次冪到2的63次冪-1
(2)浮點型
   float,佔4個字節
   double,佔8個字節
(3)字符型
   char,佔2個字節
(4)布爾型
   boolean,只有兩個值,true和false
3 類型轉換
(1)自動類型轉換,當不同類型數據進行運算時,字節小的會向字節大的自動轉換
(2)強制類型轉換,強制轉換必須在運算結果前面加上(數據類型)。 如:byte b=0;b=(byte)(b+1);


六 運算符
1 賦值運算符與比較運算符
(1)賦值運算符:=,+=,-=,*=,/=,%=。如a=3,a+=3相當於a=a+3
(2)比較運算符:==,!=,<,<=,>,>=,結果返回布爾值,true或false
2 邏輯運算符
(1)邏輯運算符,用於連接兩邊boolean值的表達式
   &(與)、&&(短路):兩邊爲true結果爲true,其他爲false
   |(或)、||(短路):有一邊爲true結果爲true,其他爲false
   !(非):非true爲false,非false爲true
   ^(異或):兩邊相同爲false,不同爲true
(2)&、&&和|、||的區別
  單&無論左邊真假,右邊都參與運算。雙&只有左邊爲真時,右邊才參與運算
  單|無論左邊真假,右邊都參與運算。雙|只有左邊爲假時,右邊才參與運算


七 位運算符
1 位運算其實就是對二進制進行運算
(1)<<(左移):二進制位向左移,空位補0。結果其實就是乘以2的移動位數次冪
(2)>>(右移):二進制位向右移,高位是0,空位補0,高位是1,空位補1。結果其實就是除以2的移動位數次冪
(3)>>>(無符號右移):二進制位向右移,高位無論是0還是1,空位都補0。
(4)&(與):二進制位進行與運算。只有1&1結果是1,其他都是0
(5)|(或):二進制位進行或運算。只有0&0結果是0,其他都是1
(6)^(異或):二進制位進行異或運算。;兩邊相同結果是0,不同爲1
(7)~(取反):二進制位1取反爲0,0取反爲1
2 異或的應用
(1)一個數異或兩個相同的數,結果還是這個數。如:a^b^b=a;
3 變量值的三種互換方式,一般用第三方變量或異或的方式,加減法可能會損失精度
(1)使用第三方變量 int temp=a;a=b;b=temp;
(2)使用加減法  a=a+b;b=a-b;a=a-b;
(3)異或法  a=a^b;b=a^b;a=a^b;


八    程序流程控制
1 判斷語句
(1)if語句,格式:if(條件語句){執行語句},如果條件語句滿足則執行執行語句,反之不執行。
(2)if..else..語句,格式:if(條件語句){執行語句1}      else{執行語句2},   如果條件語句滿足則執行執行語句1,反之執行語句2。
(3)if..else if..else..語句,格式:if(條件語句1)  {語句1}    else if(條件語句2){語句2}    else{語句3},逐級判斷,條件成立執行對應的語句,後面不執行,條件都不成立,執行語句3
2 選擇語句
(1)switch語句 格式:
switch(表達式) //表達式語句類型只能:byte,short,int,char
{
case 1:
執行語句1;
//switch語句遇到break結束
break;
case 2:
執行語句2;
break;
//沒有匹配的case才執行default
default:
執行語句3;
}

3 循環語句
(1)while循環語句,條件語句爲true就循環,條件語句爲false,循環才語句結束。格式如下:
while(條件語句)
{
執行語句;
}
(2)do while循環語句,先執行語句再判斷條件語句,條件語句爲false,不循環。格式如下:
do
{
執行語句;
}
while(條件表達式)
(3)while和do while的區別:while先判斷再執行,do while先執行再判斷。
(4)for語句,格式:
for(初始化表達式1;條件表達式2;循環操作後表達式4)
{
執行語句3;
}
注意:執行順序按照上面1234執行,其中條件表達式2如果不成立,後面不執行
(5)for和while區別:for循環比較節省內存空間,因爲如果for的初始化語句用在for語句內,循環結束變量會被釋放。而while的初始化語句在外面,循環結束變量依然在內存存在。另外,for和while可以相互替換。


九   函數
1 函數是定義在類中的具有特定功能的程序,也叫方法。
2 函數的格式
修飾符 返回值類型 函數名(參數類型 形式參數1)
{
執行語句;
return 返回值;
}
3 函數特點
(1)提高代碼複用性
(2)函數只有被調用才允許,可以調用多次
(3)函數如果沒有具體的返回值,用void表示,而且return可以不寫
(4)函數內部只能調用函數,不能定義函數
4 函數的應用
  定義一個函數,只需要明確兩個明確
(1)確定返回值,如果沒有具體的返回值類型用void表示
(2)確定是否有未知內容參與,也就是參數列表
5 函數重載
(1)在同個類中,函數名一樣,但是參數個數或者參數類型不同,稱爲重載。
(2)重載與返回值類型無關,只看參數列表。


十   數組
1 數組是同一種類型數據的集合,是一個容器。數組會給元素從0開始自動編號。
2 格式:
(1)元素類型[ ] 數組名= new 元素類型[元素個數或數組長度];
     如:int[ ] arr = new int[5];//int類型數組默認初始化都是0
(2)元素類型[ ] 數組名= new 元素類型[ ]{元素,元素,……};
     如:int[ ] arr = {1,2,3,4};//有初始值1、2、3、4
3 內存結構:Java程序在運行時,會在內存中的分配空間。爲了提高運算效率,有對空間進行了不同區域的劃分,每一片區域都有特定的處理數據方式和內存管理方式。
(1)棧內存:用於存儲局部變量,當數據使用完,空間自動釋放。
(2)堆內存:數組和對象,過new建立的實體都存放在堆內存中。實體都有地址值,實體中的變量都有默認初始值。實體不被使用時會被垃圾回收器回收。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章