前言
程序流程控制是指在程序执行过程中,决定程序执行顺序和走向的机制
下面是Java主要的程序流程控制类型
一、分支结构
(一):
**if**:根据条件来决定执行某一段代码
形式:
1. if(条件表达式){代码}
2.if(条件表达式){
代码1}else if(条件表达式){
代码2}
3. if(条件表达式){
代码1}else if(条件表达式){
代码2}else if(条件表达式){
代码3}............
else if(条件表达式){
代码n}
注意:“{}”,“()”后面不用加上“;”
(二):
*switch* 通过比较值来确定执行哪条分支。
形式:
switch(表达式){
case 值1:
执行代码....;
break;
case 值2:
执行代码....;
break;
case 值3:
执行代码....;
break;
.......
case 值n-1:
执行代码....;
break;
default:
执行代码.....;
}
注意:
1。switch表达式类型只能是byte,int,short,char,string(JDK7开始支持),不支持long,double,folat。
2.正常使用switch时,不要忘记书写break和default。
3.case的值给出的值不允许重复,且只能是字面量,不能是变量。
4.当存在多个case分支语句的代码相同时,可以把相同的代码放在一个case语句当中。
5.case具有穿透性。
(三)
if与switch 的区别:
if在功能上远远强大与switch,只是当条件是区间的判断情况,可以使用if
当条件是与一个一个的值比较时,swicth更合适,且格式性能优良,代码优雅。
二、 循环结构
(一):
for循环:控制一段代码,反复执行多次。
代码格式:
for(初始化语句;循环条件;迭代语句){
循环体语句(也就是重复执行的代码)}
应用:
(1):使用for循环批量生产数据
格式如下:
for(int i=0;i<=100;i++){
System.out.println(i);}
(2):定义一个变量进行累加操作
格式如下:
int sum=0;
for(int i=0;i<=100;i++){
sum+=i;//sum=sum+i
System.out.println(i);}
(二):
while循环:控制一段代码,反复执行多次
代码格式:
初始化语句;
while(循环条件){
循环体语句;
迭代语句;
}
(三):
在for循环中控制循环的变量只能在循环内部使用。而在while语句中控制循环的变量可以在循环外部继续使用。
除此之外如果我们知道一个程序要循环几次的话,建议使用for循环结构,不知道建议使用while循环结构。
(四)
do-while循环:先执行后判断
格式:初始化语句;
do{
循环体语句;
迭代语句;}while(循环条件);
三、跳转关键字
break:跳出并结束当前所在循环中的执行。
continue:用于跳出当前循环中的当次执行,直接进入循环的下一次执行。
四、练习
2019年1月1日起,国家推出新的个人所得税政策,起征点上调值5000元。也就是说税前工资扣除三险一金(三险一金数额假设是税前工资的10%)后如果不足5000元,则不交税。如果大于5000元,那么大于5000元的部分按梯度交税,具体梯度比例如下:
0 ~ 3000元的部分,交税3%
3000 ~ 12000元的部分,交税10%
12000 ~ 25000的部分 , 交税20%
25000 ~ 35000的部分,交税25%
35000 ~ 55000的部分,交税30%
55000 ~ 80000的部分,交税35%
超过80000的部分,交税45%
代码示例如下:
图1-1
图1-2
模拟计算器功能,对键盘录入的两个int类型的数据进行加、减、乘、除的运算,并打印运算结果。
要求:
键盘录入三个整数,其中前两个整数代表参加运算的数据,第三个整数为要进行的运算(1:表示加法运算,2:表示减法运算,3:表示乘法运算,4:表示除法运算)
代码如下(示例):
图2-1
图2-2
键盘录入两个数字number1和number2表示一个范围,求这个范围之内的数字和。
代码如下(示例):
图3-1
图3-2
中国有闰年的说法。闰年的规则是:四年一闰,百年不闰,四百年再闰。(年份能够被4整除但不能被100整除算是闰年,年份能被400整除也是闰年)。请打印出1988年到2019年的所有闰年年份。
代码如下(示例):
图4-1
图4-2
总结
1.第一个题,编写代码过程中,刚开始设置了两个变量,一个是税前工资money1,一个是变量moeny2。导致我需要先输入一次税前工资,然后紧接着又输入了一个值,但由于没有明确说明第二个输入的用途,输入与预期不符,从而影响到了后续计算和输出。
2.通过这几个练习,能够对Java的程序流程控制更进一步的了解,熟悉各个流程控制的特点与规律 。