1. 程式人生 > 其它 >本地Git配置

本地Git配置

1. switch語句

1.1 switch語句結構(掌握)

  • 格式

    switch (表示式) {
    case 1:
    語句體1;
    break;
    case 2:
    語句體2;
    break;
    ...
    default:
    語句體n+1;
    break;
    }
  • 執行流程:

    • 首先計算出表示式的值

    • 其次,和case依次比較,一旦有對應的值,就會執行相應的語句,在執行的過程中,遇到break就會結 束。

    • 最後,如果所有的case都和表示式的值不匹配,就會執行default語句體部分,然後程式結束掉。

1.2 switch語句練習-春夏秋冬(應用)

  • 需求:一年有12個月,分屬於春夏秋冬4個季節,鍵盤錄入一個月份,請用程式實現判斷該月份屬於哪個季節,並輸出。

  • 執行結果:

春:3、4、5
夏:6、7、8
秋:9、10、11
冬:1、2、12
  • 示例程式碼:

public class Demo1 {
public static void main(String[] args) {
//鍵盤錄入月份資料,使用變數接收
Scanner sc = new Scanner(System.in);
System.out.println("請輸入一個月份:");
int month = sc.nextInt();
//case穿透
switch(month) {
case 1:
case 2:
case 12:
System.out.println("冬季");
break;
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;
default:
System.out.println("你輸入的月份有誤");
}
}
}
  • 注意:如果switch中得case,沒有對應break的話,則會出現case穿透的現象。

2. for迴圈

2.1 for迴圈結構(掌握)

  • 迴圈:

    迴圈語句可以在滿足迴圈條件的情況下,反覆執行某一段程式碼,這段被重複執行的程式碼被稱為迴圈體語句,當反覆 執行這個迴圈體時,需要在合適的時候把迴圈判斷條件修改為false,從而結束迴圈,否則迴圈將一直執行下去,形 成死迴圈。

  • for迴圈格式:

for (初始化語句;條件判斷語句;條件控制語句) {
迴圈體語句;
}
  • 格式解釋:

    • 初始化語句: 用於表示迴圈開啟時的起始狀態,簡單說就是迴圈開始的時候什麼樣

    • 條件判斷語句:用於表示迴圈反覆執行的條件,簡單說就是判斷迴圈是否能一直執行下去

    • 迴圈體語句: 用於表示迴圈反覆執行的內容,簡單說就是迴圈反覆執行的事情

    • 條件控制語句:用於表示迴圈執行中每次變化的內容,簡單說就是控制迴圈是否能執行下去

  • 執行流程:

    ①執行初始化語句

    ②執行條件判斷語句,看其結果是true還是false

    如果是false,迴圈結束

    如果是true,繼續執行

    ③執行迴圈體語句

    ④執行條件控制語句

    ⑤回到②繼續

2.2 for迴圈練習-輸出資料(應用)

  • 需求:在控制檯輸出1-5和5-1的資料

  • 示例程式碼:

public class ForTest01 {
public static void main(String[] args) {
//需求:輸出資料1-5
for(int i=1; i<=5; i++) {
System.out.println(i);
}
System.out.println("--------");
//需求:輸出資料5-1
for(int i=5; i>=1; i--) {
System.out.println(i);
}
}
}

2.3 for迴圈練習-求和(應用)

  • 需求:求1-5之間的資料和,並把求和結果在控制檯輸出

  • 示例程式碼:

public class ForTest02 {
public static void main(String[] args) {
//求和的最終結果必須儲存起來,需要定義一個變數,用於儲存求和的結果,初始值為0
int sum = 0;
//從1開始到5結束的資料,使用迴圈結構完成
for(int i=1; i<=5; i++) {
//將反覆進行的事情寫入迴圈結構內部
// 此處反覆進行的事情是將資料 i 加到用於儲存最終求和的變數 sum 中
sum += i;
/*
sum += i; sum = sum + i;
第一次:sum = sum + i = 0 + 1 = 1;
第二次:sum = sum + i = 1 + 2 = 3;
第三次:sum = sum + i = 3 + 3 = 6;
第四次:sum = sum + i = 6 + 4 = 10;
第五次:sum = sum + i = 10 + 5 = 15;
*/
}
//當迴圈執行完畢時,將最終資料打印出來
System.out.println("1-5之間的資料和是:" + sum);
}
}
  • 本題要點:

    • 今後遇到的需求中,如果帶有求和二字,請立即聯想到求和變數

    • 求和變數的定義位置,必須在迴圈外部,如果在迴圈內部則計算出的資料將是錯誤的

2.4 for迴圈練習-求偶數和(應用)

  • 需求:求1-100之間的偶數和,並把求和結果在控制檯輸出 }

  • 示例程式碼:

public class ForTest03 {
public static void main(String[] args) {
//求和的最終結果必須儲存起來,需要定義一個變數,用於儲存求和的結果,初始值為0
int sum = 0;
//對1-100的資料求和與1-5的資料求和幾乎完全一樣,僅僅是結束條件不同
for(int i=1; i<=100; i++) {
//對1-100的偶數求和,需要對求和操作新增限制條件,判斷是否是偶數
if(i%2 == 0) {
sum += i;
}
}
//當迴圈執行完畢時,將最終資料打印出來
System.out.println("1-100之間的偶數和是:" + sum);
}
}

2.5 for迴圈練習-水仙花(應用)

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

  • 解釋:什麼是水仙花數?

    • 水仙花數,指的是一個三位數,個位、十位、百位的數字立方和等於原數

      • 例如153 3*3*3 + 5*5*5 + 1*1*1 = 153

  • 思路:

    1. 獲取所有的三位數,準備進行篩選,最小的三位數為100,最大的三位數為999,使用for迴圈獲取

    2. 獲取每一個三位數的個位,十位,百位,做if語句判斷是否是水仙花數

  • 示例程式碼

public class ForTest04 {
public static void main(String[] args) {
//輸出所有的水仙花數必然要使用到迴圈,遍歷所有的三位數,三位數從100開始,到999結束
for(int i=100; i<1000; i++) {
//在計算之前獲取三位數中每個位上的值
int ge = i%10;
int shi = i/10%10;
int bai = i/10/10%10;

//判定條件是將三位數中的每個數值取出來,計算立方和後與原始數字比較是否相等
if(ge*ge*ge + shi*shi*shi + bai*bai*bai == i) {
//輸出滿足條件的數字就是水仙花數
System.out.println(i);
}
}
}
}

2.6 for迴圈練習-統計水仙花數個數(應用)

  • 需求:統計“水仙花數”一共有多少個,並在控制檯輸出個數

  • 示例程式碼:

public class ForTest05 {
public static void main(String[] args) {
//定義變數count,用於儲存“水仙花數”的數量,初始值為0
int count = 0;
//輸出所有的水仙花數必然要使用到迴圈,遍歷所有的三位數,三位數從100開始,到999結束
for(int i=100; i<1000; i++) {
//在計算之前獲取三位數中每個位上的值
int ge = i%10;
int shi = i/10%10;
int bai = i/10/10%10;
//在判定水仙花數的過程中,滿足條件不再輸出,更改為修改count的值,使count+1
if(ge*ge*ge + shi*shi*shi + bai*bai*bai == i) {
count++;
}
}
//列印輸出最終結果
System.out.println("水仙花共有:" + count + "個");
}
}
  • 本題要點:

    • 今後如果需求帶有統計xxx,請先想到計數器變數

    • 計數器變數定義的位置,必須在迴圈外部

3. while迴圈

3.1 while結構(掌握)

  • while迴圈完整格式:

    初始化語句;
    while (條件判斷語句) {
    迴圈體語句;
    條件控制語句;
    }
  • while迴圈執行流程:

    ①執行初始化語句

    ②執行條件判斷語句,看其結果是true還是false

    如果是false,迴圈結束

    如果是true,繼續執行

    ③執行迴圈體語句

    ④執行條件控制語句

    ⑤回到②繼續

  • 示例程式碼:

public class WhileDemo {
public static void main(String[] args) {
//需求:在控制檯輸出5次"HelloWorld"
//for迴圈實現
for(int i=1; i<=5; i++) {
System.out.println("HelloWorld");
}
System.out.println("--------");
//while迴圈實現
int j = 1;
while(j<=5) {
System.out.println("HelloWorld");
j++;
}
}
}

3.2 while迴圈練習-珠穆朗瑪峰(應用)

  • 需求:世界最高山峰是珠穆朗瑪峰(8844.43米=8844430毫米),假如我有一張足夠大的紙,它的厚度是0.1毫米。請問,我摺疊多少次,可以折成珠穆朗瑪峰的高度?

  • 示例程式碼:

public class WhileTest {
public static void main(String[] args) {
//定義一個計數器,初始值為0
int count = 0;
//定義紙張厚度
double paper = 0.1;
//定義珠穆朗瑪峰的高度
int zf = 8844430;
//因為要反覆摺疊,所以要使用迴圈,但是不知道摺疊多少次,這種情況下更適合使用while迴圈
//摺疊的過程中當紙張厚度大於珠峰就停止了,因此繼續執行的要求是紙張厚度小於珠峰高度
while(paper <= zf) {
//迴圈的執行過程中每次紙張摺疊,紙張的厚度要加倍
paper *= 2;
//在迴圈中執行累加,對應摺疊了多少次
count++;
}
//列印計數器的值
System.out.println("需要摺疊:" + count + "次");
}
}

4. 迴圈細節

4.1 do...while迴圈結構(掌握)

  • 完整格式:

    初始化語句;
    do {
    迴圈體語句;
    條件控制語句;
    }while(條件判斷語句);
  • 執行流程:

    ① 執行初始化語句

    ② 執行迴圈體語句

    ③ 執行條件控制語句

    ④ 執行條件判斷語句,看其結果是true還是false

    如果是false,迴圈結束

    如果是true,繼續執行

    ⑤ 回到②繼續

  • 示例程式碼:

public class DoWhileDemo {
public static void main(String[] args) {
//需求:在控制檯輸出5次"HelloWorld"
//for迴圈實現
for(int i=1; i<=5; i++) {
System.out.println("HelloWorld");
}
System.out.println("--------");
//do...while迴圈實現
int j = 1;
do {
System.out.println("HelloWorld");
j++;
}while(j<=5);
}
}

4.2 三種迴圈的區別(理解)

  • 三種迴圈的區別

    • for迴圈和while迴圈先判斷條件是否成立,然後決定是否執行迴圈體(先判斷後執行)

    • do...while迴圈先執行一次迴圈體,然後判斷條件是否成立,是否繼續執行迴圈體(先執行後判斷)

  • for迴圈和while的區別

    • 條件控制語句所控制的自增變數,因為歸屬for迴圈的語法結構中,在for迴圈結束後,就不能再次被訪問到了

    • 條件控制語句所控制的自增變數,對於while迴圈來說不歸屬其語法結構中,在while迴圈結束後,該變數還可以繼續使用

  • 死迴圈(無限迴圈)的三種格式

    1. for(;;){}

    2. while(true){}

    3. do {} while(true);

4.3 跳轉控制語句(掌握)

  • 跳轉控制語句(break)

    • 跳出迴圈,結束迴圈

  • 跳轉控制語句(continue)

    • 跳過本次迴圈,繼續下次迴圈

  • 注意: continue只能在迴圈中進行使用!

4.4 迴圈巢狀(理解)

  • 迴圈巢狀概述:在迴圈中,繼續定義迴圈

  • 示例程式碼:

        public static void main(String[] args) {
    //外迴圈控制小時的範圍,內迴圈控制分鐘的範圍
    for (int hour = 0; hour < 24; hour++) {
    for (int minute = 0; minute < 60; minute++) {
    System.out.println(hour + "時" + minute + "分");
    }
    System.out.println("--------");
    }
    }
  • 理解:

    • 請反覆理解這句話(整個內迴圈,就是外迴圈的一個迴圈體,內部迴圈體沒有執行完畢,外迴圈是不會繼續向下執行的)

  • 結論:

    • 外迴圈執行一次,內迴圈執行一圈

5. Random

5.1 Random產生隨機數(掌握)

  • 概述:

    • Random類似Scanner,也是Java提供好的API,內部提供了產生隨機數的功能

      • API後續課程詳細講解,現在可以簡單理解為Java已經寫好的程式碼

  • 使用步驟:

    1. 匯入包

      import java.util.Random;

    2. 建立物件

      Random r = new Random();

    3. 產生隨機數

      int num = r.nextInt(10);

      解釋: 10代表的是一個範圍,如果括號寫10,產生的隨機數就是0-9,括號寫20,引數的隨機數則是0-19

  • 示例程式碼:

import java.util.Random;
public class RandomDemo {
public static void main(String[] args) {
//建立物件
Random r = new Random();
//用迴圈獲取10個隨機數
for(int i=0; i<10; i++) {
//獲取隨機數
int number = r.nextInt(10);
System.out.println("number:" + number);
}
//需求:獲取一個1-100之間的隨機數
int x = r.nextInt(100) + 1;
System.out.println(x);
}
}

5.3 Random練習-猜數字(應用)

  • 需求:

    程式自動生成一個1-100之間的數字,使用程式實現猜出這個數字是多少?

    當猜錯的時候根據不同情況給出相應的提示

    A. 如果猜的數字比真實數字大,提示你猜的資料大了

    B. 如果猜的數字比真實數字小,提示你猜的資料小了

    C. 如果猜的數字與真實數字相等,提示恭喜你猜中了

  • 示例程式碼:

import java.util.Random;
import java.util.Scanner;

public class RandomTest {
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("請輸入你要猜的數字:");
int guessNumber = sc.nextInt();

//比較輸入的數字和系統產生的資料,需要使用分支語句。
//這裡使用if..else..if..格式,根據不同情況進行猜測結果顯示
if(guessNumber > number) {
System.out.println("你猜的數字" + guessNumber + "大了");
} else if(guessNumber < number) {
System.out.println("你猜的數字" + guessNumber + "小了");
} else {
System.out.println("恭喜你猜中了");
break;
}
}

}
}