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循環。因爲變量及早的從內存中消失,可以提高內存的使用效率。
- for循環和while循環的區別:
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總結
把今天的知識點總結一遍。