Java基础:程序结构控制

学习资料

b站狂神说:https://www.bilibili.com/video/BV12J41137hu

顺序结构

顺序结构,按照从上到下的顺序一步步执行,最简单的算法结构

package com.zy7y.struct;

/**
 * @ProjectName: JavaSE
 * @PackageName: com.zy7y.struct
 * @Author: zy7y
 * @Date: 2020/8/14 下午2:49
 * @Description: 顺序结构: 最简单的算法结构,从上至下运行
 */
public class Sequential {
    public static void main(String[] args) {
        System.out.println(1); //1 先执行
        System.out.println(2); //2 后执行
    }
}

选择结构

if选择结构

当布尔表达式为空时,执行对应条件下的内容,其他将条件判断将与其无关

package com.zy7y.struct;

import java.util.Scanner;

/**
 * @ProjectName: JavaSE
 * @PackageName: com.zy7y.struct
 * @Author: zy7y
 * @Date: 2020/8/14 下午2:51
 * @Description: 选择结构: 语法 if(布尔值表达式){成立时运行}
 */
public class Option {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("输入内容:");
        String input = scanner.nextLine();
        // 单结构,equals 判断字符串是否相等
        if (input.equals("hello")){
            System.out.println(input);
        }

        // 双选择结构
        System.out.println("输入数字:");
        int score = scanner.nextInt();
        if (score > 60){
            System.out.println("及格了");
        }
        else {
            System.out.println("不及格");
        }

        System.out.println("end");

        // 多选择结构
        System.out.println("请选择:");
        int userInput = scanner.nextInt();
        if (userInput == 1){
            System.out.println("你选择了1");
        }else if (userInput == 2) {
            System.out.println("你选择了2");
        }else if (userInput == 3){
            System.out.println("你选择了3");
        }else{
            System.out.println("没有此选择项");
        }
    }
}

switch选择结构

package com.zy7y.struct;

/**
 * @ProjectName: JavaSE
 * @PackageName: com.zy7y.struct
 * @Author: zy7y
 * @Date: 2020/8/14 下午3:05
 * @Description: switch 选择结构
 */
public class Switch {
    public static void main(String[] args) {
        // (值)
        switch ("zy7y"){
            // case 后面的值 与 switch(这个值)一致将进入对应语句快,打印后,执行break;结束语句
            case "zy7y1":
                System.out.println("zy7y");
                break;
            case "zy71":
                System.out.println("zy71");
                break;
            case "zyy1":
                System.out.println("zyy1");
                break;
            default: // 当上面条件不满足时执行 这块代码
                System.out.println("没有找到符合的值,使用了默认值");
        }

    }
}

循环结构

while循环

package com.zy7y.struct;

/**
 * @ProjectName: JavaSE
 * @PackageName: com.zy7y.struct
 * @Author: zy7y
 * @Date: 2020/8/14 下午3:19
 * @Description: 循环结构 while, 先判断 在循环
 */
public class CycleWhile {
    public static void main(String[] args) {
        // 打印1-100
        int intValue = 1;
        // while (布尔值表达式){布尔表达式为true时执行}
        while (intValue <= 100){
            System.out.println(intValue++);
        }
    }
}

do...while循环

至少会执行一次; 先执行do{}的内容,在判断while()的内容

package com.zy7y.struct;

/**
 * @ProjectName: JavaSE
 * @PackageName: com.zy7y.struct
 * @Author: zy7y
 * @Date: 2020/8/14 下午3:35
 * @Description: do while循环, 先执行 后判断
 */
public class CycleDoWhile {
    public static void main(String[] args) {
        int i = 0;
        int sum = 0;
        do {
            sum += i;
            i++;
        }while (i <= 100);
        System.out.println(sum);
    }
}

for循环

package com.zy7y.struct;

/**
 * @ProjectName: JavaSE
 * @PackageName: com.zy7y.struct
 * @Author: zy7y
 * @Date: 2020/8/14 下午3:42
 * @Description: for循环
 */
public class CycleFor {
    public static void main(String[] args) {
        // 记录总和的值
        int sum = 0;
        for (int i = 0; i <= 100; i++) {
                sum += i;
        }
        System.out.println(sum);

        // 死循环
//        for (;;){
//            System.out.println(1);
//        }
//        100.for 回车可以快速生成for (int i = 0; i < 100; i++){}
    }
}

for each

jdk5的新特性,主要用于迭代数组,集合

package com.zy7y.struct;

/**
 * @ProjectName: JavaSE
 * @PackageName: com.zy7y.struct
 * @Author: zy7y
 * @Date: 2020/8/14 下午4:19
 * @Description: 增强for循环
 */
public class CycleForEach {
    public static void main(String[] args) {
        // 定义一个数组
        int[] intArray = {1,5,6,7,8,9};
        // 打印每一个值
        for (int number:intArray) {
            System.out.println(number);
        }
    }
}

break、continue

break - 跳出当前语句块; continue - 终止当前循环,执行下次循环

package com.zy7y.struct;

/**
 * @ProjectName: JavaSE
 * @PackageName: com.zy7y.struct
 * @Author: zy7y
 * @Date: 2020/8/14 下午4:27
 * @Description: break 跳出循环
 */
public class CycleBreak {
    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            if (i == 1) {
                // 当等于1时 将不在执行continue后面的代码,进入下次i ==2 的循环
                continue;
            }
            if (i == 6) {
                // 当i 等于 4 时跳转代码块
                break;
            }
            System.out.println(i); // 0 2 3 4 5
        }
    }
}

练习

package com.zy7y.struct;

/**
 * @ProjectName: JavaSE
 * @PackageName: com.zy7y.struct
 * @Author: zy7y
 * @Date: 2020/8/14 下午3:54
 * @Description:
 */
public class TopicFor {
    public static void main(String[] args) {
        // 计算0-100之间的奇数和偶数的和
        int oddSum = 0; // 接收奇数总和的变量
        int evenSum = 0;
        for (int i = 0; i <= 100; i++) {
            if (i % 2 == 0) {
                evenSum += i;
            }else {
                oddSum = oddSum + i;
            }
        }
        System.out.println("奇数总和:" + oddSum);
        System.out.println("偶数总和:" + evenSum);

        // 1-1000之间能被5整除的数,每行输出3个
        for (int i = 0; i < 1000; i++) {
            if (i % 5 == 0){
                System.out.print(i + " ");
            }
            if (i % (5*3) == 0){
                System.out.println();
            }
        }

        System.out.println();

        // 打印九九乘法表

        for (int i = 1; i <= 9; i++) {
            // 内层循环 j根据外层i来决定循环范围
            for (int j = 1; j <= i; j++) {
                System.out.print(i+"*"+j +"="+(i*j) + "	");
//                // 当外面的变量i 与 里面变量相等时 就该换行了
//                if (i == j){
//                    System.out.println();
//                }
            }
            // 结束一行循环后,进行换行
            System.out.println();
        }

        // 打印三角形

        for (int i = 1; i <= 3; i++) {
            // 先打印一个倒的直角三角形
            for (int j = 3; j >= i; j--) {
                System.out.print(" ");
            }
            // 打印,左边直角三角形
            for (int k = 1; k <= i ; k++) {
                System.out.print("*");
            }
            // 打印右边直角三角形
            for (int k = 1; k < i ; k++) {
                System.out.print("*");
            }
            System.out.println();

        }

    }
}
作者:zy7y
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/zy7y/p/13503241.html