1. 程式人生 > 其它 >day3 2021 2 3 演算法結構完整版

day3 2021 2 3 演算法結構完整版

演算法結構

順序結構

從上到下執行

選擇結構

if語句大多數時候在if結構外把scanner賦值

if單選擇結構

語法:

if(布林表示式){
    //如果布林表示式為true將被執行的語句
}

例項:

package com.wang.scanner;

import java.util.Scanner;

public class IfDemo1 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("請輸入內容:");
        String str = scanner.nextLine();

        //equals 判斷字串是否相等
        if (str.equals("hello world")) {
            System.out.println("yes");
        }
        System.out.println("end");
        scanner.close();
    }
}

if雙選擇結構

語法:

if(布林表示式){
     //布林表示式為ture將執行的命令
}else{
     //布林表示式為false將執行的命令
}

例項:

package com.wang.scanner;

import java.util.Scanner;

public class IfDemo2 {
    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        System.out.println("請輸入您的成績:");
        double i = scanner.nextDouble();

        if (i>=60){
            System.out.println("及格");
        }else {
            System.out.println("不及格");
        }
        
        scanner.close();
    }
}

if多選擇結構

語法:

if(布林表示式1){
     //如果布林表示式1為ture則執行程式碼
}else if(布林表示式2){
     //如果布林表示式2為true則執行程式碼
}else if(布林表示式3){
     //如果布林表示式3為true則執行程式碼
}.....
...
....
}else{
  //如果以上表達式都不為true時執行該程式碼
}

例項:

package com.wang.scanner;

import java.util.Scanner;

public class IfDemo3 {
    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        System.out.println("請輸入您的成績:");
        double i = scanner.nextDouble();

        if (i>=90 && i<=100){
            System.out.println("A等成績");
        }else if(i>=80 && i<90){
            System.out.println("B等成績");
        }else if (i>=70 && i<80){
            System.out.println("C等成績");
        }else if (i>=60 && i<70){
            System.out.println("D等成績");
        }else if(i>=0 && i<60){
            System.out.println("E等成績");
        }else{
            System.out.println("成績不合法");
        }
        scanner.close();
    }
}


if巢狀結構

語法:

if(布林表示式1){
    //如果布林表示式1為ture則執行程式碼
    if(布林表示式2){
    //如果布林表示式2為true則執行程式碼
   }
}

switch選擇結構

語法:

case標籤必須為字串常量或字面量

switch(expression){
     case value:
     //語句
     break; //可選
     case value:
     //語句
     break; //可選
    //可以有人一數量的case語句
    default : //可選
    //語句
}    

例項:

package com.wang.scanner;

import java.util.Scanner;

public class SwitchDemo1 {
    public static void main(String[] args) {
        //case穿透 若不寫 break 則會執行以下全部程式 

        Scanner scanner = new Scanner(System.in);
        System.out.println("請輸入您的成績等級(A,B,C,D):");
        String grade = scanner.nextLine();

        switch (grade) {
            case "A":
                System.out.println("優秀");
                break;
            case "B":
                System.out.println("良");
                break;
            case "C":
                System.out.println("及格");
                break;
            case "D":
                System.out.println("不及格");
                break;
            default:
                System.out.println("非法輸入");

        }
    }
}

迴圈結構

while迴圈

語法:

while(布林表示式){
     //布林表示式為true執行程式碼
}

例項:

package com.wang.scanner;

public class WhileDemo1 {
    public static void main(String[] args) {
        int i = 0;
        while (i<=100){
            System.out.println(i);
            i = i + 1;
        }
    }
}

死迴圈:

while(true){
    //程式碼
}

DO While迴圈

語法:

do{
    //程式碼
}whlie(布林表示式);

不論布林表示式是否為true

do裡的程式碼至少先要執行一次之後,再判斷while

例項1:

package com.wang.scanner;

public class WhileDemo1 {
    public static void main(String[] args) {
        int i = 0;
        int sum = 0;
        do {
            sum = sum + i;
            i++;
        }while (i<=100);
        System.out.println(sum);
    }
}

----------------------------------------------
輸出:
5050

例項2:

package com.wang.scanner;

public class WhileDemo1 {
    public static void main(String[] args) {
        int i = 101;
        int sum = 0;
        do {
            sum = sum + i;
            i++;
        }while (i<=100);
        System.out.println(sum);
    }
}

----------------------------------------------
輸出:
101

理解兩個例項的異同

For迴圈

語法:

for(初始化;布林表示式;更新){
       //程式碼
}

例項:

package com.wang.scanner;

public class ForDemo1 {
    public static void main(String[] args) {
        int sum = 0;
        //初始化//判斷條件//迭代
        for (int i = 0;i<=100;i++){
            sum = sum + i;
        }//先執行判斷條件,再執行程式碼,最後執行迭代!!!!
        System.out.println(sum);
    }
}

練習1:

package com.wang.scanner;

public class ForDemo2 {
    //用for迴圈輸出1到1000之間能被5整除的數,且每行輸出三個
    public static void main(String[] args) {
        for (int i = 0; i <= 1000; i++) {
            //求被5整除的數
            if((i % 5) == 0){
                System.out.print(i+"\t");
            }
            //三個以換行
            if((i % 15) == 0){
                // \n 換行
                System.out.print("\n");
            }
            //print 不換行輸出
            //println 換行輸出

        }
    }
}

練習2:輸出99乘法表

package com.wang.scanner;

public class 輸出99乘法表 {
    public static void main(String[] args) {
        for (int i = 1; i <=9; i++) {
            int m = 1;
            while (m<=i){
                System.out.print(m+"*"+i+"="+m*i+"\t");
                m++;
            }
            System.out.print("\n");

        }
    }
}
----------------------------------------------
package com.wang.scanner;

public class 輸出99乘法表 {
    public static void main(String[] args) {
        for (int i = 1; i <= 9; i++) {
            for (int m = 1; m <= i; m++) {
                System.out.print(m + "*" + i + "=" + m * i + "\t");
            }
            System.out.print("\n");

        }
    }
}

For的增強

語法:

for(宣告語句:表達方式)
{
  //程式碼句子
}

例項:

package com.wang.scanner;

public class ForDemo3 {
    public static void main(String[] args) {
        int[] numbers = {10,20,30,40,50}; //定義陣列!!
        for (int x :numbers){
            System.out.println(x);
        }

        System.out.println("=========================");
        for (int i = 0;i < 5;i++){
            System.out.println(numbers[i]);

        }
    }
}

==============================================
輸出:
10
20
30
40
50
=========================
10
20
30
40
50