程序流程控制-选择结构

    xiaoxiao2025-04-09  11

    今天,我学习了程序流程控制,包括选择结构和循环结构,当然还有计算机本身默认执行的顺序结构。学习这些结构后,我发现计算机能完成种种很强大的功能的原因就在于此,如果计算机只能按顺序结构执行我们的代码,而不能改变执行代码的顺序,那么就不可能完成我们所需要的功能了。

    所有的结构,无论是选择结构还是循环结构,我们都需要一个boolean类型的表达式来作为改变运行顺序的条件,因为boolean返回值是true或false,不过每种结构的运行机制是不太一样的。

    选择结构:有最简单的单分支和双分支结构,也有比较复杂的多分支结构;我们选择用if...else if...else if ...else...来做多分支结构,而不是用多个并列的if,因为else自带上一个if内条件的反面,可以使程序更精炼。还有关于switch结构,其内的表达式为常量,而不是boolean表达式;下面是我用两种结构实现一个功能:

    import java.util.Scanner;

    public class Test5 { /** * 5、企业根据员工的销售额发放奖金。(超出部分) 0 < 销售额 <= 10万,10%; 10万 < 销售额 <= 20万,7.5% 20万 < 销售额 <= 40万,5% 40万 < 销售额 <= 60万,3% 60万 < 销售额 <= 100万,1.5% 100万 < 销售额 ,1%  */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan = new Scanner(System.in); System.out.println("请输入销售额:"); double s = scan.nextDouble(); double get = 0; //获得的奖金 int num = 0;     if(s <= 10){ num = 0; }else if(s <= 20){ num = 10; }else if(s <= 40){ num = 20; }else if(s <= 60){ num = 40; }else if(s <= 100){ num = 60; }else{ num = 100; } switch (num){ case 100: get+=0.01*(s-100); s=100; case 60: get+=0.015*(s-60); s=60; case 40: get+=0.03*(s-40); s=40; case 20: get+=0.05*(s-20); s=20; case 10: get+=0.075*(s-10); s=10; case 0: get+= 0.1*s; } System.out.println("获得奖金为;"+get); } }

    大家看完题会发现break的妙用,当switch结构中没有break时,会顺序执行下一个case命令,直到遇到break为止。下面是我画的这一章的思维导图,希望对大家有所帮助。

    转载请注明原文地址: https://ju.6miu.com/read-1297888.html
    最新回复(0)