javaSE溫習一&二

這是一個簡單的筆記  java

涉及到常量、變量;流程控制語句、數組;類與對象、封裝、構造方法;Scanner類、Random類、Arraylist類;數組



一、pubic class  static void


二、標識符應用場景L:類的名字、方法的名字、變量的名字    
標識符包含的內容:數字、字母、下劃線、美圓符號、
不能以數字開頭
標識符不能是關鍵字

命名規範
類名 首字母大寫,後面每一個單詞首字母大寫(大駝峯式)
方法名:首字母小寫,後面每一個單詞首字母大寫(小駝峯式)
變量名:所有小寫

三、基本數據類型:byte short int long double float char  boolen  
引用類型:類、數組、接口

變量名稱:在同一個大括號內,變量名字不能夠相同
變量賦值:定義的變量,不賦值不能使用

變量類型轉換,調用的是ASC編碼



四、方法
方法必須定義在一個類中方法外
方法不能定義在另一個方法裏面





五、流程控制語句

5.1.1 判斷語句--if
if(關係式){
    語句體;
}

5.1.2 判斷語句--if。。。else
if(關係式){
//知足
 語句體1;
} else{
//不知足
語句體2;
}

5.1.3 判斷語句 --if。。。else if。。。else
if (判斷條件1){
 執行語句1;
}else if (判斷條件2){
執行語句2;
} else if (判斷條件n){
執行語句n;

} else {
執行語句n+1;
}

5.2 選擇語句
 switch (表達式){
 case 常量1:
 語句體1;
 break;
 case 常量2 ;
 語句體2;
 break;
 ...
 default :
 語句體n+1;
 break;
 }
 首先計算出表達式的值 其次,和case依次比較,
 一旦有對應的值,就會執行相應的語句,在執行的過程當中,遇到break就會結束。
 最後,若是全部的case都和表達式的值不匹配,就會執行default語句體部分,而後程序結束掉
 
 在switch語句中,若是case的後面不寫break,將出現穿透現象,也就是不會在判斷下一個case的值,直接向後運 行,直到遇到break,
 或者總體switch結束
 
 5.3循環
 5.3.1循環語句 --for
 for (初始化表達式;布爾表達式;步進表達式){
     循環體
 }
 練習:使用循環求100之內的偶數和
 5.3.2 --while
 
 初始化表達式;
 while (布爾表達式){
    循環體;
    步進表達式;
 }
 練習:while循環輸出10次hello world
 
 5.3.4 --do while循環
   初始化表達式;
   do{
      循環體;
      步進表達式;

   }   while(布爾表達式);
 
循環語句的區別:
for 和 while 的區別
控制條件語句所控制的那個變量,在for循環結束後,就不能再被訪問到了,而while循環結束還能夠繼 續使用,
若是你想繼續使用,就用while,不然推薦使用for。緣由是for循環結束,該變量就從內存中消 失,可以提升內存的使用效率。
在已知循環次數的時候使用推薦使用for,循環次數未知的時推薦使用while

5.4 跳轉語句
5.4.1 break語句
使用場景:終止switch或者終止

5.4.2 continue
使用場景:結束本次循環,繼續下一次循環



六、調用方法三種形式
直接調用 、賦值調用、輸出語句調用

七、方法重載
指在同一個類中,容許存在一個以上的同名方法,只要他們的
參數列表不一樣便可,與修飾符和返回類型無關
參數列表:個數不一樣、數據類型不一樣、順序不一樣



8 、數組
8.1數組的定義
方式1  int[] arr = new int[3]//數組的長度一旦指定,就不能改變
方式2  int[] arr = new int []{1,2,3,4,}
方式3  int[] arr = {1,2,3,4}

8.2數組的常見操做
一、數組越界異常:在開發中,數組越界異常是不能出現的,一旦出現了,就必須修改咱們的編碼
二、數組空指針異常:同上
三、數組的遍歷:
public static void  mian(...) {
   int[] arr = new {1,2,3,4,5};
   for (int i =0;i < arr.lenegth;i++){
      syso(arr[i]);
   }
}
四、數組獲取最大值元素
實現思路:
定義變量,保存數組0索引上的元素
遍歷數組,獲取出數組中的每一個元素
將遍歷到的元素和保存數組0索引上值的變量進行比較
若是數組元素的值大於了變量的值,變量記錄住新的值
數組循環遍歷結束,變量保存的就是數組中的最大值

psvm{
 int[] arr  = new {5,13,15,200,3300};
 //定義變量,保存數組0索引上的元素
 int max = arr [0];
 //遍歷數組,獲取出數組中的每一個元素
 for (int i=0;i<arr.length;i++){
 //遍歷到的元素和變量比較
 //若是數組大於max
   if (arr[i]>max){
   max =arr[i];
   }
 }
 syso ("數組的最大值爲"+max);
}
五、數組的反轉
數組的反轉: 數組中的元素顛倒順序,例如原始數組爲1,2,3,4,5,反轉後的數組爲5,4,3,2,1
實現思想:數組最遠端的元素互換位置。
實現反轉,就須要將數組最遠端元素位置交換
定義兩個變量,保存數組的最小索引和最大索引
 兩個索引上的元素交換位置
 最小索引++,最大索引--,再次交換位置 最小索引超過了最大索引,數組反轉操做結
 練習
 public static void main(String[] args){
    int[] arr = {1,2,3,4,5};
    /*
    循環中定義變量min=0最小索引
    max=arr.length-1最大索引
    min--,max ++;
    */
    for (int min =0,max = length-1;min < max ;min --,max ++){
    //利用第三方變量完成數組中元素交換
    int tepm =arr[min];
    arr[min]=arr[max];
     arr[max ]=temp;
     }
     //反轉後,遍歷數組
     for(int i=0;i<arr.length-1;i++){
       System.out.println(arr[i]);
     }
}
 
第四章  數組做爲方法參數和返回值 4.1 數組做爲方法參數
之前的方法中咱們學習了方法的參數和返回值,可是使用的都是基本數據類型。那麼做爲引用類型的數組可否做爲 方法的參數進行傳遞呢,固然是能夠的。
數組做爲方法參數傳遞,傳遞的參數是數組內存的地址。

數組能夠做爲方法參數、數組能夠做爲返回類型
方法的參數類型區別
方法的參數爲基本類型時,傳遞的是數據值,方法的參數爲引用類型時,傳遞的是地址

 
 應深刻理解對象內存圖   章節、類與對象
 
 在類中的位置不一樣 重點
 成員變量:類中,方法外
 局部變量:方法中或者方法聲明上(形式參數)
 做用範圍不同 重點
 成員變量:類中
 局部變量:方法中
 初始化值的不一樣 重點
 成員變量:有默認值
 局部變量:沒有默認值。必須先定義,賦值,最後使用
 在內存中的位置不一樣 瞭解
 成員變量:堆內存
 局部變量:棧內存
 生命週期不一樣 瞭解
 成員變量:隨着對象的建立而存在,隨着對象的消失而消失
 局部變量:隨着方法的調用而存在,隨着方法的調用完畢而消失
 
 Scanner 類與random類
 system.in 表示鍵盤錄入的數據
 .nextInt表示錄入的整數
 
練習:
鍵盤錄入三個數據並獲取最大值,代碼以下:
import Scanner
public  class TestScanner{
     psvm {
        //建立對象
        Scanner sc = new Scanner(system.in );
        //接收數據
        System.out.println("請輸入第一個數據:");
        int a = sc.nextInt();
        System.out.println("請輸入第二個數據:");
        int b = sc.nextInt();
        System.out.println("請輸入第三個數據:");
        int c = sc.nextInt();
        
        //獲取三個數據的最大值
        int temp = (a>b?a:b);
        int max =(temp>c?temp :c);
        
        syso("max :"+max );
     }
}

random 類

練習 遊戲開始時,會隨機生成一個1-100之間的整數 number 。
玩家猜想一個數字 guessNumber ,會與 number 做比 較,
系統提示大了或者小了,直到玩家猜中,遊戲結束
//導包
import java.util.Random;
public class Test02Random {  
 public static void main(String[] args) {  
   // 系統產生一個隨機數1‐100之間的。
     Random r = new Random();
     int number = r.nextInt(100) + 1;
     while(true){
       // 鍵盤錄入咱們要猜的數據
       Scanner sc = new Scanner(System.in);
       System.out.println("請輸入你要猜的數字(1‐100):");
       int guessNumber = sc.nextInt();
         // 比較這兩個數據(用if語句)
       if (guessNumber > number) {
         System.out.println("你猜的數據" + guessNumber + "大了");
       } else if (guessNumber < number) {
         System.out.println("你猜的數據" + guessNumber + "小了");
       } else {
         System.out.println("恭喜你,猜中了");
         break;
       }
     }
   }
 
ArryList

經常使用方法和遍歷
對於元素的操做,基本體如今——增、刪、查。經常使用的方法有:
 public boolean add(E e) :將指定的元素添加到此集合的尾部。
 public E remove(int index) :移除此集合中指定位置上的元素。返回被刪除的元素。
 public E get(int index) :返回此集合中指定位置上的元素。返回獲取的元素。
 public int size() :返回此集合中的元素數。遍歷集合時,能夠控制索引範圍,防止越界
 
 ArrayList對象不能存儲基本類型,只能存儲引用類型的數據。
 相似 <int> 不能寫,可是存儲基本數據類型對應的包裝類型是能夠的。
 因此,想要存儲基本類型數據, <> 中的數據類型,必須轉換後才能編寫
 
 
練習:
生成6個1~33之間的隨機整數,添加到集合,並遍歷
public class Test01ArrayList {
   public static void main(String[] args) {
 //建立Random對象
 Random random = new Random();
 //建立Arrylist對象
 ArrayList<Integer> list = new ArrayList<>();
 
 //獲取隨機整數添加到集合
 for (int i= 0;i<6;i++){
   int r  = random.nextInt(33)+1;
   list.add(r);
 }
   //遍歷籍集合輸出
   for(int i= 0;i<list.size ;i++){
      syso (list.get(i));
    
   }
  }
 }
 
 ¥¥¥¥¥¥明天必定要回來看一下以前的筆記
 ################僞隨機數,數組 最後的一個綜合練習還沒作,明天必定要回來作作了
 
 dom

相關文章
相關標籤/搜索