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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值