1. 程式人生 > >《俗人筆記》之《Java基礎語法下》

《俗人筆記》之《Java基礎語法下》

資料型別轉換
自動轉換:由小範圍轉大範圍,且byte,short,char運算過程中直接轉換為int
byte、short、char < int < long < float < double
強制轉換:
由大範圍到小範圍,需要我們人為操作轉化

ASCLL表
將字元與十進位制數一一對應
0->48,9->57,A->65,Z->90,a->97,z->122
操作:int i1=‘A’ int i2=97;char c1=(char)i2

運算子
資料型別兩邊一樣:正常操作,但byte,short和char會預設轉int
兩邊不一樣:往資料型別大的範圍靠

++與–
在前面是先計算再賦值,在後面是先賦值再計算

&&與&
&&有短路特點,及一假及假
同道理的還有||與|,一真即真

三元運算
boolean c=a>b ? true : false;後面的值要與接收的型別一致

流程控制
switch
1.在switch中的表示式只能是byte、short、int、char、Enum(列舉值)、String(字串)。用其它的型別值編譯會報錯。
Enum是在JDK1.5 引入的新特性, String型別是在JDK1.7引入的新特性。
2.case的穿透性:在switch語句中,如果case的後面不寫break,將出現穿透現象,不再判斷下一個case的值,直接向後執行,直到遇到break,或者整體switch結束。

for迴圈
for ( 初始化語句① ; 判斷條件語句② ; 控制條件語句④ ) {
迴圈體語句③
}
do…while
初始化表示式①
do{
迴圈體③
條件控制語句④
}while(條件判斷語句 ②); //這裡有分號結束

  1. 無條件會先執行一遍
  2. while寫在後面且()後面有分號,記住!

for 和 while 的小區別:

  • 程式碼結構不同是最大的區別
    • 控制條件語句所控制的那個變數:
    • 在for迴圈結束後,就不能再被訪問到了
    • while迴圈結束還可以繼續使用,如果你想繼續使用,就用while,否則推薦使用for(標準格式而言)。

死迴圈:
while( true ){}

for( ; ; ){
迴圈體;
}
在編譯過程中若被編譯器認定為死限迴圈,那麼在死迴圈下面不要再寫任何的語句,因為無法執行。即使寫了也會報錯:錯誤: 無法訪問的語句
int i=0;
while(i<10){
System.out.println(i);
//i++; //如果忘記i++ 了將會永遠迴圈
}
for(int x=1;x>0;i++) { //條件中 x>0 因為 x++永遠大於0 所以該迴圈也是死迴圈
System.out.println(i);
}

跳轉語句:
break:

  1. 在選擇結構switch語句中
    當它出現在switch條件語句中時,作用是終止某個case並跳出switch結構(case中不加break會出現穿透,將switch時講解過)switch結構後面的程式碼。

  2. 在迴圈語句中
    當出現在迴圈語句時,作用是終止並跳出迴圈語句,繼續執行迴圈結構後面的程式碼。

在巢狀迴圈的使用
當break語句出現在巢狀迴圈中的內層迴圈是,它只能跳出內層迴圈,如果想使用break語句跳出到外層迴圈則需要在外層迴圈的關鍵字前新增標記。

continue:
結束本次迴圈,繼續下一次的迴圈

方法:
呼叫:
靜態方法只能呼叫靜態方法,非靜態的可以呼叫靜態的

  1. 直接呼叫:直接寫方法名呼叫
  2. 賦值呼叫:呼叫方法,在方法前面定義變數,接收方法返回值
  3. 輸出語句呼叫: 有返回值型別的方法

過載
指在同一個類中,允許存在一個以上的同名方法,只要它們的引數列表中型別或個數不同即可,與修飾符和返回值型別無關。
(同名不同參) 跟形參變數名沒有關係
引數列表:個數不同,資料型別不同,順序不同(與形參的名字無關,這是基於相同型別無所謂)。
過載方法呼叫:JVM通過方法的引數列表,呼叫不同的方法。

陣列
陣列就是儲存資料長度固定的容器,儲存多個數據的資料型別要一致。
定義:
int[] arr = new int[3];
注意:陣列有定長特性,長度一旦指定,不可更改。

int[] arr = new int[]{1,2,3,4,5};
注意:這種格式定義的長度由 大括號裡面的元素個數指定,不要顯示的定義長度。

int[] arr ={1,2,3,4,5};

當資料確定時,我們可以使用格式2或者格式3進行定義陣列(這兩種定義方式也叫靜態定義)
當資料不確定,我們使用格式1行定義陣列(這兩種定義方式也叫動態定義)