JAVA語言基礎 +JAVA學習筆記-DAY04

04.01_Java語言基礎(循環結構概述和for語句的格式及其使用)

  • A:循環結構的分類
    • for,while,do…while
  • B:循環結構for語句的格式:

  • for(初始化表達式;條件表達式;循環後的操作表達式) {
    循環體;
    }
  • C執行流程:
    • a:執行初始化語句
    • b:執行判斷條件語句,看其返回值是true還是false
      • 如果是true,就繼續執行
      • 如果是false,就結束循環
    • c:執行循環體語句;
    • d:執行循環後的操作表達式
    • e:回到B繼續。
  • D:案例演示

    • 在控制檯輸出10次”helloworld”

      for (int i = 1;i <= 10 ;i++ ) {
          System.out.println("helloworld");
      }
      

04.02_Java語言基礎(循環結構for語句的練習之獲取數據)

  • A:案例演示

    • 需求:請在控制檯輸出數據1-10

      for (int i = 1;i <= 10 ;i++ ) {
          System.out.println(i);
      }
      
    • 需求:請在控制檯輸出數據10-1

      for (int i = 10;i >= 1 ;i-- ) {
          System.out.println(i);
      }
      
  • B:注意事項

    • a:判斷條件語句無論簡單還是複雜結果是boolean類型。
    • b:循環體語句如果是一條語句,大括號可以省略;如果是多條語句,大括號不能省略。建議永遠不要省略。
    • c:一般來說:有左大括號就沒有分號,有分號就沒有左大括號

04.03_Java語言基礎(循環結構for語句的練習之求和思想)

  • A:案例演示

    • 需求:求出1-10之間數據之和

      int sum = 0;
      for (int i=1;i<=10;i++ ) {
          sum += i;
      }
      System.out.println(sum);
      
  • B:學生練習

    • 需求:求出1-100之間偶數和

    int sum = 0;
    for (int i = 1;i <= 100 ;i++ ) {
    if (i % 2 == 0) {
    sum = sum + i;
    }
    }

    • 需求:求出1-100之間奇數和

      int sum = 0;
      for (int i = 1;i <= 100 ;i+=2 ) {       
          sum = sum + i;
      }
      

04.04_Java語言基礎(循環結構for語句的練習之水仙花)

  • A:案例演示

    • 需求:在控制檯輸出所有的”水仙花數”

    • 所謂的水仙花數是指一個三位數,其各位數字的立方和等於該數本身。

    • 舉例:153就是一個水仙花數。
    • 153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153

      for (int i = 100 ;i < 1000 ;i++ ) {
          int g = i % 10;//個位數
          int s = i / 10 % 10;//十位數
          int b = i / 100 % 10;//百位數
          if (i == (g*g*g + s*s*s + b*b*b)) {
              System.out.println(i);  
          }
      }
      

04.05_Java語言基礎(循環結構for語句的練習之統計思想)

  • A:案例演示

    • 需求:統計”水仙花數”共有多少個

      int count = 0; //計數器
      for (int i = 100 ;i < 1000 ;i++ ) {
          int g = i % 10;
          int s = i / 10 % 10;
          int b = i / 100 % 10;
          if (i == (g*g*g + s*s*s + b*b*b)) {
              count++;
          }
      }
      System.out.println(count);
      
  • B:案例演示

    • 九九乘法表

       for (int i = 1 ;i <=9 ;i++ ) {
          for (int j = 1 ;j <= i ;j++ ) {
                  System.out.print(j+" * "+i+" = "+i*j);
                  System.out.print('\t');         
          }
          System.out.println();
      }
      

04.06_Java語言基礎(循環結構while語句的格式和基本使用)

  • A:循環結構while語句的格式:
  • while循環的基本格式:
    while(判斷條件語句) {
        循環體語句;
    }
    
    完整格式:
    
    初始化語句;
    while(判斷條件語句) {
         循環體語句;
         控制條件語句;
    }
    
  • B:執行流程:
    • a:執行初始化語句
    • b:執行判斷條件語句,看其返回值是true還是false
      • 如果是true,就繼續執行
      • 如果是false,就結束循環
    • c:執行循環體語句;
    • d:執行控制條件語句
    • e:回到B繼續。
  • C:案例演示

    • 需求:請在控制檯輸出數據1-10

      int x = 1;
      while (x <= 10) {
          System.out.println("x = " +  x);
          x++;
      }
      

04.07_Java語言基礎(循環結構while語句的練習)

  • A:求和思想

    • 求1-100之和

      int sum = 0;
      int i = 1;
      while (i <= 100) {
          sum += i;       //sum = sum + i;
          i++;            //讓變量i自增
      }
      
      System.out.println("sum = " + sum);
      
  • B:統計思想

    • 統計”水仙花數”共有多少個

      //統計”水仙花數”共有多少個
      int count = 0;                  //計數器
      int i = 100;
      while (i <= 999) {
          int ge = i % 10;
          int shi = i / 10 % 10;
          int bai = i / 100;
      
          if (i == ge * ge * ge + shi * shi * shi + bai * bai * bai) {
              count ++;
          }
      
          i++;
      }
      
      System.out.println("count =" + count);
      

04.08_Java語言基礎(循環結構do…while語句的格式和基本使用)

  • A:循環結構do…while語句的格式:
  • do {
        循環體語句;
    }while(判斷條件語句);
    
    完整格式;
    初始化語句;
    do {
        循環體語句;
        控制條件語句;
    }while(判斷條件語句);
    
  • B:執行流程:
    • a:執行初始化語句
    • b:執行循環體語句;
    • c:執行控制條件語句
    • d:執行判斷條件語句,看其返回值是true還是false
      • 如果是true,就繼續執行
      • 如果是false,就結束循環
    • e:回到b繼續。
  • C:案例演示

    • 需求:請在控制檯輸出數據1-10

      int i = 11;
      do {
          System.out.println("i = " + i);
          i++;
      }
      while (i <= 10);
      

04.09_Java語言基礎(循環結構三種循環語句的區別)

  • A:案例演示
    • 三種循環語句的區別:
    • do…while循環至少執行一次循環體。
    • 而for,while循環必須先判斷條件是否成立,然後決定是否執行循環體語句。
  • B:案例演示
    • for循環和while循環的區別:
      • A:如果你想在循環結束後,繼續使用控制條件的那個變量,用while循環,否則用for循環。不知道用誰就用for循環。因爲變量及早的從內存中消失,可以提高內存的使用效率。

04.10_Java語言基礎(循環結構注意事項之死循環)

  • A:一定要注意控制條件語句控制的那個變量的問題,不要弄丟了,否則就容易死循環。
  • B:兩種最簡單的死循環格式
    • while(true){…}
    • for(;;){…}

04.11_Java語言基礎(循環結構循環嵌套輸出4行5列的星星)

  • A:案例演示

    • 需求:請輸出一個4行5列的星星(*)圖案。
    • 如圖:
          *****
          *****
          *****
          *****
      
      注意:
          System.out.println("*");和System.out.print("*");的區別
      
  • B:結論:
    • 外循環控制行數,內循環控制列數

04.12_Java語言基礎(循環結構循環嵌套輸出正三角形)

  • A:案例演示

  • 需求:請輸出下列的形狀
    *
    **
    *
    **
    *

04.13_Java語言基礎(循環結構九九乘法表)

  • A:案例演示
    • 需求:在控制檯輸出九九乘法表。
  • B:代碼優化
  • 注意:
    '\x' x表示任意,\是轉義符號,這種做法叫轉移字符。
    
    '\t'    tab鍵的位置
    '\r'    回車
    '\n'    換行
    '\"'
    '\''
    

04.14_Java語言基礎(控制跳轉語句break語句)

  • A:break的使用場景
    • 只能在switch循環

04.15_Java語言基礎(控制跳轉語句continue語句)

  • A:continue的使用場景
    • 只能在循環

04.16_Java語言基礎(控制跳轉語句標號)

  • 標號:標記某個循環對其控制
  • 標號組成規則:其實就是合法的標識符

    class DemoMark {                                        //mark 標記
        public static void main(String[] args) {
            outer: for (int i = 1;i <= 10 ;i++ ) {      //a就是標號,只要是合法的標識符即可
                System.out.println("i = " + i);
                inner: for (int j = 1;j <= 10 ;j++ ) {
                    System.out.println("j = " + j);
                    break outer;
                }
            }                       
        }
    }
    

04.17_Java語言基礎(控制調整語句練習)

  • A:練習題
  • for(int x=1; x<=10; x++) {
        if(x%3==0) {
            //在此處填寫代碼
        }
        System.out.println(“Java基礎班”);
    }
    
    我想在控制檯輸出2次:“Java基礎班“
    我想在控制檯輸出7次:“Java基礎班“
    我想在控制檯輸出13次:“Java基礎班“   
    

    *

    class Test1 {
        public static void main(String[] args) {
            for(int x=1; x<=10; x++) {
                if(x%3==0) {
                    //break;                        //我想在控制檯輸出2次:“Java基礎班“
                    //continue;                     //我想在控制檯輸出7次:“Java基礎班“
                    //System.out.println("Java基礎班");//我想在控制檯輸出13次:“Java基礎班“ 
                }
                System.out.println("Java基礎班");
            }
        }
    }
    

04.18_Java語言基礎(控制跳轉語句return語句)

  • A:return的作用
    • 返回
    • 其實它的作用不是結束循環的,而是結束方法的。
  • B:案例演示
    • return和break以及continue的區別?
    • return是結束方法
    • break是跳出循環
    • continue是終止本次循環繼續下次循環

04.19_Java語言基礎(方法概述和格式說明)

  • A:爲什麼要有方法
    • 提高代碼的複用性
  • B:什麼是方法
    • 完成特定功能的代碼塊。
  • C:方法的格式

  • 修飾符 返回值類型 方法名(參數類型 參數名1,參數類型 參數名2…) {
    方法體語句;
    return 返回值;
    }
  • D:方法的格式說明
    • 修飾符:目前就用 public static。後面我們再詳細的講解其他的修飾符。
    • 返回值類型:就是功能結果的數據類型。
    • 方法名:符合命名規則即可。方便我們的調用。
    • 參數:
      • 實際參數:就是實際參與運算的。
      • 形式參數;就是方法定義上的,用於接收實際參數的。
    • 參數類型:就是參數的數據類型
    • 參數名:就是變量名
    • 方法體語句:就是完成功能的代碼。
    • return:結束方法的。
    • 返回值:就是功能的結果,由return帶給調用者。

04.20_Java語言基礎(方法之求和案例及其調用)

  • A:如何寫一個方法
    • 1,明確返回值類型
    • 2,明確參數列表
  • B:案例演示
    • 需求:求兩個數據之和的案例
  • C:方法調用圖解
    這裏寫圖片描述

04.21_Java語言基礎(方法的注意事項)

  • A:方法調用(有具體返回值)

    • a:單獨調用,一般來說沒有意義,所以不推薦。

      add(30,40);//有返回值方法的單獨調用,沒有意義
      
    • b:輸出調用,但是不夠好。因爲我們可能需要針對結果進行進一步的操作。

       System.out.println(add(30,40));        //這樣調用是可以,but如果需要用這個結果不推薦這樣調用
      
    • c:賦值調用,推薦方案。

      int sum = add(10,20);
      System.out.println(sum);
      
  • B:案例演示
    • a:方法不調用不執行
    • b:方法與方法是平級關係,不能嵌套定義
    • c:方法定義的時候參數之間用逗號隔開
    • d:方法調用的時候不用在傳遞數據類型
    • e:如果方法有明確的返回值,一定要有return帶回一個值

04.22_Java語言基礎(方法的練習)

  • A:案例演示
    • 需求:鍵盤錄入兩個數據,返回兩個數中的較大值
  • B:案例演示

    • 需求:鍵盤錄入兩個數據,比較兩個數是否相等

      import java.util.Scanner;
      class Test1_Method {
          public static void main(String[] args) {
              Scanner sc = new Scanner(System.in);                //創建鍵盤錄入對象
              System.out.println("請輸入第一個整數:");
              int x = sc.nextInt();                               //將鍵盤錄入的整數存儲在x中
              System.out.println("請輸入第二個整數:");
              int y = sc.nextInt();                               //將鍵盤錄入的整數存儲在y中
      
              //int max = getMax(x,y);
              //System.out.println(max);
      
              boolean b = isEquals(x,y);
              System.out.println(b);
          }
      
          /*
          返回連個整數的較大值
          1,明確返回值類型 int
          2,明確參數列表 int a,int b
          */
          public static int getMax(int a,int b) {
              return a > b ? a : b;
          }
      
          /*
          判斷兩個整數是否相等
          1,明確返回值類型 boolean
          2,明確參數列表 int a,int b
          */
          public static boolean isEquals(int a,int b) {       //isEquals 是否相等
              return a == b;
          }
      }
      

04.23_Java語言基礎(方法之輸出星形及其調用)

  • A:案例演示
    • 需求:根據鍵盤錄入的行數和列數,在控制檯輸出星形
  • B:方法調用:(無返回值,void)

    • 單獨調用
    • 輸出調用(錯誤)
    • 賦值調用(錯誤)

      import java.util.Scanner;
      class Demo3_Method {
          public static void main(String[] args) {
              Scanner sc = new Scanner(System.in);            //創建鍵盤錄入對象
              System.out.println("請輸入行數:");
              int row = sc.nextInt();                         //將鍵盤錄入的行數存儲在row中
              System.out.println("請輸入列數:");
              int column = sc.nextInt();                      //將鍵盤錄入的列數存儲在column中
      
              //System.out.println(print(row,column));        //錯誤: 此處不允許使用 '空' 類型,返回值是void的方法不能輸出調用
              //返回值是void的方法只能單獨調用
              print(row,column);
          }
      
          /*
          在控制檯輸出矩形星形
          1,明確返回值類型,經分析沒有具體的返回值類型,void
          2,明確參數列表int a,int b
          */
      
          public static void print(int a,int b) {
              for (int i = 1;i <= a ;i++ ) {                  //行數
                  for (int j = 1;j <= b ;j++ ) {              //列數
                      System.out.print("*");
                  }
                  System.out.println();
              }
      
              //return ;                                      //如果返回值類型是void,return可以省略,即使省略系統也會默認給加上,形式是return;
          }
      }
      

04.24_Java語言基礎(方法的練習)

  • A:案例演示

    • 需求:根據鍵盤錄入的數據輸出對應的乘法表

      import java.util.Scanner;
      class Test2_Method {
          public static void main(String[] args) {
              Scanner sc = new Scanner(System.in);        //創建鍵盤錄入對象
              System.out.println("請錄入一個整數,範圍在1-9之間");
              int num = sc.nextInt();                     //將鍵盤錄入的整數存儲在num中
              print99(num);
          }
      
          /*
          打印99乘法表
          1,返回值類型void
          2,參數列表,int a
          */
      
          public static void print99(int a) {
              for (int i = 1;i <= a ;i++ ) {                  //行數
                  for (int j = 1;j <= i ;j++ ) {              //列數
                      System.out.print(j + "*" + i + "=" + (i * j) + "\t" );
                  }
                  System.out.println();
              }
          }
      }
      

04.25_Java語言基礎(方法重載概述和基本使用)

  • A:方法重載概述
    • 求和案例
      • 2個整數
      • 3個整數
      • 4個整數
  • B:方法重載:

    • 在同一個類中,方法名相同,參數列表不同。與返回值類型無關。

    • 參數列表不同:

      • A:參數個數不同
      • B:參數類型不同
      • C:參數的順序不同(算重載,但是在開發中不用)

        class Demo_Overload {                       //overload重載
            public static void main(String[] args) {
                double sum1 = add(10,20.1);
                System.out.println(sum1);
        
                int sum2 = add(10,20,30);
                System.out.println(sum2);
        
                double sum3 = add(12.3,13);
                System.out.println(sum3);
            }
        
            /*
            求兩個整數的和
            1,返回值類型int
            2,參數列表 int a,int b
            */
        
            public static double add(int a,double b) {
                return a + b;
            }
        
            /*
            求三個整數的和
            1,返回值類型int
            2,參數列表 int a,int b,int c
            */
        
            public static int add(int a,int b,int c) {
                return a + b + c;
            }
        
            /*
            求兩個小數的和
            1,返回值類型double
            2,參數列表 double a,double b
            */
        
            public static double add(double a,int b) {
                return a + b;
            }
        }
        

04.26_Java語言基礎(方法重載練習比較數據是否相等)

  • A:案例演示

    • 需求:比較兩個數據是否相等。
    • 參數類型分別爲兩個int類型,兩個double類型,並在main方法中進行測試

      class Test_Overload {
          public static void main(String[] args) {
              boolean b1 = isEquals(10,10);
              System.out.println(b1);
      
              boolean b2 = isEquals(10.5,10.5);
              System.out.println(b2);
          }
      
          /*
          比較兩個數據是否相等
          1,返回值類型boolean
          2,參數列表int a,int b
          */
      
          public static boolean isEquals(int a,int b) {
              return a == b;
          }
      
          /*
          比較兩個數據是否相等
          1,返回值類型boolean
          2,參數列表double a,double b
          */
      
          public static boolean isEquals(double a,double b) {
              return a == b;
          }
      }
      

04.27_day04總結

把今天的知識點總結一遍。

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