Java零基础入门-控制流程

哈喽,各位小伙伴们,你们好呀,我是喵手。

  今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。

  我是一名后端开发爱好者,工作日常接触到最多的就是Java语言啦,所以我都尽量抽业余时间把自己所学到所会的,通过文章的形式进行输出,希望以这种方式帮助到更多的初学者或者想入门的小伙伴们,同时也能对自己的技术进行沉淀,加以复盘,查缺补漏。

小伙伴们在批阅的过程中,如果觉得文章不错,欢迎点赞、收藏、关注哦。三连即是对作者我写作道路上最好的鼓励与支持!

前言

控制流程在软件开发中具有重要意义,它可以控制程序运行的顺序和逻辑,让程序更加灵活、高效。本文将以Java开发语言为例,深入探讨Java中的控制流程。

摘要

本文主要介绍了Java中的三种控制流程语句:顺序结构、分支结构和循环结构。并且通过源代码解析、应用场景案例、优缺点分析、类代码方法介绍以及测试用例等方面,深入探讨了Java中控制流程的实现方式和应用场景。

Java之控制流程

简介

Java是一种面向对象的编程语言,其控制流程结构与其他编程语言有许多相似之处。Java中控制流程语句主要有三种:顺序结构、分支结构和循环结构。

顺序结构是指程序按照代码编写的顺序依次执行,没有分支和循环等控制结构。

分支结构是指程序根据不同的条件分支执行不同的代码块,Java中的分支语句主要有if-else语句、switch语句等。

循环结构是指程序根据循环条件重复执行同一段代码块,Java中的循环语句主要有for循环、while循环、do-while循环等。

源代码解析

顺序结构

顺序结构是最简单的程序控制结构,它按照代码编写的顺序依次执行,如下所示:

public class SequentialStructure {
    public static void main(String[] args) {
        System.out.println("第1行");
        System.out.println("第2行");
        System.out.println("第3行");
    }
}

上述代码中,程序按照代码编写的顺序依次执行,输出结果如下:

第1行
第2行
第3行

分支结构

if-else语句

if-else语句是最常用的分支结构,它根据条件是否成立执行不同的代码块,如下所示:

public class IfElseStatement {
    public static void main(String[] args) {
        int x = 10;
        if (x > 5) {
            System.out.println("x大于5");
        } else {
            System.out.println("x小于等于5");
        }
    }
}

上述代码中,如果x大于5,则输出"x大于5",否则输出"x小于等于5",输出结果如下:

x大于5
switch语句

switch语句也是一种分支结构,它根据表达式的值执行不同的代码块,如下所示:

public class SwitchStatement {
    public static void main(String[] args) {
        int x = 2;
        switch (x) {
            case 1:
                System.out.println("x等于1");
                break;
            case 2:
                System.out.println("x等于2");
                break;
            default:
                System.out.println("x不等于1也不等于2");
                break;
        }
    }
}

上述代码中,如果x等于1,则输出"x等于1",如果x等于2,则输出"x等于2",否则输出"x不等于1也不等于2",输出结果如下:

x等于2

循环结构

for循环

for循环是一种常用的循环结构,它重复执行某一段代码,直到循环条件不再成立,如下所示:

public class ForLoop {
    public static void main(String[] args) {
        for (int i = 0; i < 5; i++) {
            System.out.println("i的值为:" + i);
        }
    }
}

上述代码中,i从0开始,每次循环增加1,循环条件是i小于5,因此循环5次,输出结果如下:

i的值为:0
i的值为:1
i的值为:2
i的值为:3
i的值为:4
while循环

while循环是另一种常用的循环结构,它在循环条件成立的情况下重复执行某一段代码,如下所示:

public class WhileLoop {
    public static void main(String[] args) {
        int i = 0;
        while (i < 5) {
            System.out.println("i的值为:" + i);
            i++;
        }
    }
}

上述代码中,i从0开始,每次循环增加1,循环条件是i小于5,因此循环5次,输出结果如下:

i的值为:0
i的值为:1
i的值为:2
i的值为:3
i的值为:4
do-while循环

do-while循环与while循环类似,但它先执行一次循环体,然后再检测循环条件,如下所示:

public class DoWhileLoop {
    public static void main(String[] args) {
        int i = 0;
        do {
            System.out.println("i的值为:" + i);
            i++;
        } while (i < 5);
    }
}

上述代码中,i从0开始,每次循环增加1,循环条件是i小于5,因此循环5次,输出结果如下:

i的值为:0
i的值为:1
i的值为:2
i的值为:3
i的值为:4

应用场景案例

案例一:分数等级评定

为了评定某个人的成绩,我们将他的分数按照以下规则进行评定:

  • 分数大于等于90分,评定为A等级
  • 分数大于等于80分,评定为B等级
  • 分数大于等于70分,评定为C等级
  • 分数大于等于60分,评定为D等级
  • 分数小于60分,评定为E等级

根据上述规则,我们可以使用if-else语句实现以下代码:

public class GradeEvaluation {
    public static void main(String[] args) {
        int score = 75;
        if (score >= 90) {
            System.out.println("A等级");
        } else if (score >= 80) {
            System.out.println("B等级");
        } else if (score >= 70) {
            System.out.println("C等级");
        } else if (score >= 60) {
            System.out.println("D等级");
        } else {
            System.out.println("E等级");
        }
    }
}

上述代码中,score的值为75,根据分数等级评定规则,输出结果为"C等级"。

案例二:九九乘法表

九九乘法表是学习数学时常见的一种练习题,我们可以使用嵌套循环实现输出九九乘法表的功能。

代码如下:

public class MultiplicationTable {
    public static void main(String[] args) {
        for (int i = 1; i <= 9; i++) { //外层循环控制行数
            for (int j = 1; j <= i; j++) { //内层循环控制每行的列数
                System.out.print(j + " × " + i + " = " + i*j + "\t"); //输出每个乘法表达式
            }
            System.out.println(); //每行结束换行
        }
    }
}

上述代码中,使用嵌套循环输出了1~9的乘法表,输出结果如下:

1 × 1 = 1	
1 × 2 = 2	2 × 2 = 4	
1 × 3 = 3	2 × 3 = 6	3 × 3 = 9	
1 × 4 = 4	2 × 4 = 8	3 × 4 = 12	4 × 4 = 16	
1 × 5 = 5	2 × 5 = 10	3 × 5 = 15	4 × 5 = 20	5 × 5 = 25	
1 × 6 = 6	2 × 6 = 12	3 × 6 = 18	4 × 6 = 24	5 × 6 = 30	6 × 6 = 36	
1 × 7 = 7	2 × 7 = 14	3 × 7 = 21	4 × 7 = 28	5 × 7 = 35	6 × 7 = 42	7 × 7 = 49	
1 × 8 = 8	2 × 8 = 16	3 × 8 = 24	4 × 8 = 32	5 × 8 = 40	6 × 8 = 48	7 × 8 = 56	8 × 8 = 64	
1 × 9 = 9	2 × 9 = 18	3 × 9 = 27	4 × 9 = 36	5 × 9 = 45	6 × 9 = 54	7 × 9 = 63	8 × 9 = 72	9 × 9 = 81	

优缺点分析

顺序结构

优点:

  • 代码结构简单,易于理解和调试。

缺点:

  • 无法根据条件改变代码的执行流程,缺乏灵活性。

分支结构

优点:

  • 可根据条件改变代码执行的流程,具有一定的灵活性。
  • 可以用于处理不同的分支情况,提供了更多的选择。

缺点:

  • 嵌套层数过多时,代码可读性和可维护性会降低。

循环结构

优点:

  • 可以重复执行某一段代码,提高了代码重用率。

缺点:

  • 循环结构过多时,程序性能可能会受到影响。
  • 循环条件不恰当容易导致死循环。

类代码方法介绍

顺序结构

  • 顺序结构没有特别的方法或函数。

分支结构

  • if语句:判断条件是否成立,可嵌套使用。
  • if-else语句:根据条件是否成立执行不同的代码块。
  • switch语句:根据表达式的值执行不同的代码块。

循环结构

  • for循环:重复执行某一段代码,有循环条件和步长控制。
  • while循环:在循环条件成立的情况下重复执行某一段代码。
  • do-while循环:先执行一次循环体,然后再检测循环条件是否成立。

测试用例

为了验证控制流程语句的正确性,我们可以编写相应的测试用例进行测试。

import org.junit.Test;

public class ControlFlowTest {
    @Test
    public void sequentialStructureTest() {
        SequentialStructure.main(null);
    }

    @Test
    public void ifElseStatementTest() {
        IfElseStatement.main(null);
    }

    @Test
    public void switchStatementTest() {
        SwitchStatement.main(null);
    }

    @Test
    public void forLoopTest() {
        ForLoop.main(null);
    }

    @Test
    public void whileLoopTest() {
        WhileLoop.main(null);
    }

    @Test
    public void doWhileLoopTest() {
        DoWhileLoop.main(null);
    }

    @Test
    public void gradeEvaluationTest() {
        GradeEvaluation.main(null);
    }

    @Test
    public void multiplicationTableTest() {
        MultiplicationTable.main(null);
    }
}

上述代码中,使用JUnit框架编写了测试用例,分别测试了顺序结构、分支结构和循环结构的正确性,以及案例一和案例二的执行结果是否正确。

总结

本文主要介绍了Java中的控制流程语句及其使用方法,包括顺序结构、分支结构和循环结构。通过源代码解析、应用场景案例、优缺点分析、类代码方法介绍以及测试用例等方面,深入探讨了Java中控制流程的实现方式和应用场景。希望本文能对初学者或想深入了解Java控制流程的小伙伴有所帮助。

… …

文末

好啦,以上就是我这期的全部内容,如果有任何疑问,欢迎下方留言哦,咱们下期见。

… …

学习不分先后,知识不分多少;事无巨细,当以虚心求教;三人行,必有我师焉!!!

wished for you successed !!!


⭐️若喜欢我,就请关注我叭。

⭐️若对您有用,就请点赞叭。

⭐️若有疑问,就请评论留言告诉我叭。

你可能感兴趣的:(零基础学Java,java,开发语言)