程序流程控制-选择结构

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

所有的结构,无论是选择结构还是循环结构,我们都需要一个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为止。下面是我画的这一章的思维导图,希望对大家有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值