Java学习之路 第三章 流程控制

第三章 流程控制

1.if条件语句
(1)简单的if条件语句语法:

if(条件){
	语句;
}

注意:a.条件必须最后返回一个布尔值。
(2)嵌套if语句语法:

if(条件1){
	if(条件2){
			...
	}
}

(3)并列if语句语法:

if(条件1){
		语句1;
}
if(条件2){
		语句2;
}
...

(4)多重if语句语法:

if(条件1){
		语句1;
}else if(条件2){
		语句2;
}else if(条件3){
		语句3;
}else{
		语句n;
}

练习1:输入一给值判断是否为闰年。

/* 输入一给值判断是否为闰年*/
import java.util.Scanner;
public class Year{
	public static void main(String []args){
		Scanner sc=new Scanner(System.in);
		System.out.print("请输入一给年份:");
		int year = sc.nextInt();
		if((year%4==0&&year%100!=0)||(year%400==0)){
			System.out.println(year+"是闰年");
		}else
			System.out.println(year+"是平年");
	}
}

运行结果:
在这里插入图片描述
练习2:2018年个人所得税计算器。
需求在这里插入图片描述
缴税=全月应纳税所得额*税率-速算扣除数
全月应纳税所得额=(应发工资-五险一金)-5000
实发工资=应发工资-五险一金-缴税

/*创建一个RevenueCounter类
*RevenueCounter:税收计算器
*/
import java.util.Scanner;
public class RevenueCounter{
	public static void main(String[] args){
	Scanner sc = new Scanner (System.in);
	System.out.println("请输入你的工资:");
	double salary = sc.nextDouble();
	System.out.println("各项社会保险费:");
	double salary = sc.nextDouble();
	double a=salary-charge-5000;   //a为全月应纳税所得额;
	if(a>0){
		double pay=0,get=0;      //pay:应缴税款  get:实发工资:
		if(a<=2910){
			pay=(a*0.03);
			System.out.println("使用税率 3%");	
		}else if(a<=11010){
			pay=(a*0.1)-210;
			System.out.println("使用税率 10%");
		}else if(salary<=21410){
			pay=(a*0.2)-1410;
			System.out.println("使用税率 20%");
		}else if(salary<=28910){
			pay=(a*0.25)-2660;
			System.out.println("使用税率 25%");
		}else if(salary<=42910){
			pay=(a*0.3)-4410;
			System.out.println("使用税率 30%");
		}else if(salary<=59160){
			pay=(a*0.35)-7160;
			System.out.println("使用税率 35%");
		}else if(salary>59160){
			pay=(a*0.4)-15160;
			System.out.println("使用税率 40%");
		}
		    get=salary-charge-pay;
			System.out.println("应缴税款:"+pay);
			System.out.println("实发工资:"+get);	
	}else
			System.out.println("你无需缴纳个人所得税"); 
	}
}

运行结果在这里插入图片描述
2、switch多分支语句
(1)语法结构

switch(表达式){
	case 值1:
		语句;
		break;
	case 值2:
		语句;
		break;
	...
	default:
		语句;
}

注意事项:
a,不要省掉break
b,值不允许重复
c,值只能是整形或字符型,不能是String (Java高版本支持字符串)
练习:switch…case

import java.util.Scanner;
public class Call{
	public static void main (String[] args){
	Scanner sc = new Scanner(System.in);
	System.out.println("请按号拨打电话:\n\t 按1:拨爸爸的号 \n\t 按2:拨妈妈的号 \n\t 按3:拨爷爷的号 \n\t 按4:拨奶奶的号");
	String num = sc.next();
	switch(num){
			case "1":
				System.out.println("爸爸号码拨号ing...");
				break;
			case "2":
				System.out.println("妈妈号码拨号ing...");
				break;
			case "3":
				System.out.println("爷爷号码拨号ing...");
				break;
			case "4":
				System.out.println("奶奶号码拨号ing...");
				break;
			default:
				System.out.println("拨号错误!");
		}
	}
}

运行结果:
在这里插入图片描述
3、循环语句(while/do…while/for)
(1)三种循环语句的语法结构

while(循环条件){ 						
		循环操作;
} 
注意:a、循环操作中要有改变循环条件的执行语句,使循环朝着结束的方向走。
      b、先判断后执行的循环。
--------------------------------------------------------------------------------------------------------      
do{
		循环操作;
}while(循环条件);     
注意:a、先执行后判断的循环。
      b、注意while后的;不要忘记写了。
-----------------------------------------------------------------------------------------------------------
for(初始化循环变量;循环条件;更新循环变量){
		循环操作;
}
注意:a、for中的;不可以省略。
-------------------------------------------------------------------------------------------------------------                                                      

(2)理解三种循环的执行顺序
实现:用三种循环实现1-10自加。
在这里插入图片描述
(3)三种循环的死循环

for(;;){
		if(条件) break;
	}
-----------------------
while(true){
		if(条件) break;
	}
-----------------------
do{
		if(条件) break;
	}while(true);

(4)三种循环练习操作。

/*do...while 的是否继续操作;*/
import java.util.Scanner;
public class D-continue{
	public static void main(String [] args){
	Scanner sc = new Scanner(System.in);
	String input;
	do{
		System.out.println("你的一些操作");
		System.out.println("是否继续运行  y/n");
		input = sc.next();
		}while(input.equals("y"));
		System.out.println(”88“);
	}
}

运行结果;在这里插入图片描述
2.猜字游戏的练习

import java.util.Scanner;
public class GuessNumber{
	public static void main(String []args){
	Scanner sc = new Scanner(System.in);
	System.out.println("欢迎进入猜字游戏");
	System.out.println("------游戏开始!-----");
	int right = 36,guess;
	String input;
	do{
			System.out.println("请输入你要猜的数(0~100)");
			guess = sc.nextInt();
			if(guess>right){
				System.out.println("大了!");
			}else if(guess<right){
				System.out.println("小了!");
			}else{
				System.out.println("恭喜你猜对了!");
			}do{
				System.out.println("是否继续?(yes/no)");
				input = sc.next();
			}while(!(input.equals("yes")||input.equals("no")));
		}while(input.equals("yes"));
		System.out.println("欢迎下次在来");	
	}	
}

运行结果;
在这里插入图片描述
for循环来打印九九乘法表;

public class Jiu9{
	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("");
		}
	}
}

运行结果;
在这里插入图片描述
用for打印各种图形(三角形,矩形等。。。)
4.循环控制语句(break/continue)。
break:用于改变程序控制流。用于中断当前的循环而执行循环后的语句。
使用break跳出循环:

public class BreakTest{
 public static void main(String []args){
	for(int i=0;i<=10;i++){
		if(i==6){					//如果i=6了则结束循环
					break;          //跳出循环
				}
		System.out.print(i+" ");
		}
		System.out.println("---end---");
	}
}

运行结果:
在这里插入图片描述
continue :只能用在循环里。 作用:跳过循环体中剩余的语句而执行下一次循环。

public class ContinueTest{
 public static void main(String []args){
	for(int i=0;i<=10;i++){
		if(i==6){					//如果i=6了则跳的下一个循环
					continue;          //跳到下一个循环
				}
		System.out.print(i+" ");
		}
		System.out.println("---end---");
	}
}

运行结果:
在这里插入图片描述
流程控制小结

  • 顺序结构:语句顺序执行
  • 分支结构:语句在啊满足条件下执行(if,if-else,if-else if-else,switch)
  • 循环结构:语句在满足条件下循环执行多次(while,do—while,for)
  • 跳转语句(break,continue)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值