Java基礎04-語句

一.運算符operator的優先級priority:
 a.優先級比較: && 高於 ||
 b.建議使用"( )"來區分優先級
 
二.語句
 1.選擇結構
  a.if .. else if .. else
   根據if中的條件進行判斷, 選擇執行某一條分支
   如果if中的條件未滿足, 就會判斷else if中的條件
   如果所有條件都未滿足, 就會執行else中的語句
   注:
   if() {
   
   }else if {
   
   }else {
   
   }
   
   if() {
   
   }else {
   
   }
   
   if(){
   
   }
   
  b.switch語句
   通過一個變量, 確定從哪一個case開始執行, 一旦確定, 會從指定的case向下執行
   如果執行某個case之後, 不想繼續執行下面的case, 可以使用break中斷
   如果所有case都未滿足條件, 會執行default選項
   switch最初只能支持int類型(byte,short,char也可以), JDK5之後可以支持enum, JDK7之後可以支持String
   注:
    switch(month) {
    case 3:
    case 4:
    case 5:
     System.out.println("現在是春季!"); 
     break;
    case 6:
    case 7:
    case 8:
     System.out.println("現在是夏季!"); 
     break;
    case 9:
    case 10:
    case 11:
     System.out.println("現在是秋季!"); 
     break;
    case 12:
    case 1:
    case 2:
     System.out.println("現在是冬季!"); 
     break;
    default:
     System.out.println("兄弟,你是從火星來的吧!");
    } 
   
 2.循環結構
  a.while
   先判斷條件, 如果滿足則執行循環體, 循環體執行結束後再次判斷, 直到條件不滿足時退出
   注:
    while() {
    
    }
    
  b.do .. while
   先執行循環體, 然後判斷條件, 條件滿足則繼續執行循環體, 直到條件不滿足時退出
   注:
    do {
    
    }while(); //注意:有分號
    
   c.for語句
   括號中可以寫3條語句
   第一條語句在循環開始之前執行, 只執行一次
   第二條語句是循環條件, 如果爲true就執行循環體, 爲false則退出
   第三條語句在每次循環體執行結束之後運行
   注:
   1.
    for(;;) { //這樣寫,是無限循環!
    
    }
    等價於:
    for(;true;) { //這樣寫,是無限循環!
    
    }
    
   2.for中語句的執行順序:

     語句1->判斷語句2->語句2若是true,則執行語句4->執行語句4->判斷語句2->語句2若是true,則執行語句4->......
    for(語句1;語句2;語句3) {
     語句4
    }
   
  d.循環控制
   continue: 跳出本次循環, 繼續執行下一次
   break: 結束循環, 執行循環外的代碼
   return: 結束方法, 循環外的代碼也不會再執行了,若使用在main主方法中,則程序結束!
   注:
   outer:
    for() {
     for() {
      break outer;  //直接會跳出兩層循環
     }
    }
   
三.數組
 1.什麼是數組
  數組是一個類型一致, 長度不可變的容器
  
 2.定義方式
  int[] arr1 = {1, 2, 3};    // 定義數組, 指定元素, 這種方式只能用在給一個變量賦值的時候,
  注:
   不能寫成這樣的格式:
    int[] arr1 ;
    arr1= {1, 2, 3};
       
  int[] arr2 = new int[]{1, 2, 3}; // 定義數組, 指定元素, 這種方式在任何情況下都能使用
  int[] arr3 = new int[3];   // 定義數組, 指定長度爲3, 其中所有元素都是默認值. 基本數據類型的默認值都是0 
  
  3.遍歷數組
  使用length屬性可以獲取數組長度, 定義循環, 從0循環到length-1, 每次獲取其中一個元素
  注:
   int [] a = new int[size]; //這邊的size類型,只能是int類型(byte,short,char也可以),但是long不可以!
   
  
 4.常見異常
  ArrayIndexOutOfBoundsException: 訪問數組索引越界時出現
  NullPointerException: 數組引用爲空時出現
  
 5.多維數組:
  數組的數組
  分配空間時,必須先分配高維,再分配低維
  注:
   int[][] arr = new int[3][];
   arr[0]=new int[3];
   arr[1]=new int[4];
   arr[2]=new int[5];
  也可定義如下格式:
   int[][]arr = new int[3][4]; //新建一個包含3個元素的二維的數組,該數組的每個元素又是一個包含4個元素一維的數組
   
四.參數傳遞:
 基本類型: 改變形參的值,不會影響到實參
 引用類型: 通過形參的改變,實參也會受影響.因爲都是指向堆中的同一地址的數據!
 
 (內存圖)
  棧內存: 每運行一個函數,都會開闢一塊棧內存,用來存放函數中定義的變量.
  堆內存: 用來存放一些引用數據類型的數據
  

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