[笔记]Java-4 流程控制语句

本文详细介绍了Java中的流程控制语句,包括分支结构的if、if-else、if-else if-else和switch case,以及循环结构的for、while和do-while。通过案例分析了各种结构的使用场景和特点,如条件判断、循环次数控制等,适合初学者学习。
摘要由CSDN通过智能技术生成

4 流程控制语句

4.1 分支结构(重中之重)

分支结构的概念
当需要进行条件判断并做出选择时,使用分支结构。


if分支结构

代码:

if(条件表达式) {
   
    语句块;
}

判断条件表达式是否成立:
=> 若成立,则执行语句块;
=> 若不成立,则跳过语句块;

案例题目:
提示用户输入两个整数,使用if分支结构找到最大值并打印出来。

/*
    编程使用if分支结构查找两个整数中的最大值
 */

import java.util.Scanner; 
 
public class IfMaxTest {
   
	
	public static void main(String[] args) {
   
		
		// 1.提示用户输入两个整数并使用变量记录
		System.out.println("请输入两个整数:");
		Scanner sc = new Scanner(System.in);
		int ia = sc.nextInt();
		int ib = sc.nextInt();
		
		// 2.使用if分支结构找到最大值并打印
		// 方式一:使用两个if分支结构可以找到最大值
		/*
		if(ia >= ib) {
			System.out.println("最大值是:" + ia);
		}
		if(ia < ib) {
			System.out.println("最大值是:" + ib);
		}
		*/
		// 方式二:假设第一个数为最大值并记录  推荐方式  通用性
		int max = ia;
		if(ib > max) {
   
			max = ib;
		}
		System.out.println("最大值是:" + max);
	}
}

案例题目:
使用if分支结构模拟网吧上网的过程

/*
     编程使用if分支结构模拟网吧上网的过程
 */

import java.util.Scanner; 
 
public class IfTest {
   
	
	public static void main(String[] args) {
   
		
		// 1.提示用户输入年龄信息并使用变量记录
		System.out.println("请输入您的年龄:");
		Scanner sc = new Scanner(System.in);
		int age = sc.nextInt();
		
		// 2.使用if分支结构判断是否成年并给出对应的提示
		if(age >= 18) {
   
			System.out.println("开心的浏览起了网页...");
		}
		
		// 3.打印一句话
		System.out.println("美好的时光总是短暂的!");
	}
}



if else 分支结构

代码块:

if(条件表达式) {
   
    语句块1;
} else {
   
    语句块2}

判断条件表达式是否成立:
=> 若成立,则执行语句块1;
=> 若不成立,则执行语句块2;

案例题目:

  • 提示用户输入一个整数,使用if else分支结构判断该整数是负数还是非负数并打印。
  • 使用if else分支结构判断该整数是正数、负数还是零。
/*
    编程使用if else分支结构判断是否为负数和非负数
 */

import java.util.Scanner; 
 
public class IfElseJudgeTest {
   
	
	public static void main(String[] args) {
   
		
		// 1.提示用户输入一个整数并使用变量记录
		System.out.println("请输入一个整数:");
		Scanner sc = new Scanner(System.in);
		int num = sc.nextInt();
		
		// 2.使用if else分支结构判断负数和非负数并打印
		if(num < 0) {
   
			System.out.println(num + "是负数!");
		} else {
   
			//System.out.println(num + "是非负数!");
			// 针对目前的非负数再次判断是正数还是零
			if(num > 0) {
   
				System.out.println(num + "是正数!");
			} else {
   
				System.out.println(num + "是零!");
			}
		}
	}
}

案例题目:
使用if else分支结构来模拟考试成绩查询的过程

/*
    编程使用if else分支结构来模拟考试成绩查询的过程
 */

import java.util.Scanner; 
 
public class IfElseTest {
   
	
	public static void main(String[] args) {
   
		
		// 1.提示用户输入考试成绩并使用变量记录
		System.out.println("请输入您的考试成绩:");
		Scanner sc = new Scanner(System.in);
		int score = sc.nextInt();
		
		// 2.使用if else分支结构判断考试成绩是否及格并给出对应的提示
		if(score >= 60) {
   
			System.out.println("恭喜您考试通过了!");
		} else {
   
			System.out.println("下学期来补考吧!");
		}
		
		// 3.打印一句话
		System.out.println("世界上最遥远的距离不是生与死而是你在if我在else,似乎一直相伴却又永远分离!");
	}
}


if else if else分支结构

代码块:

if(条件表达式1) {
   
    语句块1;} 
else if(条件表达式2) {
   
    语句块2;}
else {
   
    语句块n;}

判断条件表达式1是否成立:
=> 若成立,则执行语句块1;
=> 若不成立,则判断条件表达式2是否成立
=> 若成立,则执行语句块2;
=> 若不成立,则执行语句块n;

案例题目:
根据用户输入的薪水计算个人所得税并打印出来,其中个税起征点为:5000元,具体规则如下:

/*
    编程使用if else if else分支结构来计算个人所得税
 */

import java.util.Scanner; 
 
public class IfSalaryTest {
   
	
	public static void main(String[] args) {
   
		
		// 1.提示用户输入个人的薪水并使用变量记录
		System.out.println("请输入您的薪水:");
		Scanner sc = new Scanner(System.in);
		// 局部变量:作用范围是从声明开始一直方法体结束
		int salary = sc.nextInt();
		
		// 2.使用if else if else分支结构判断薪水所在的范围并计算对应的个人所得税
		// 个人所得税公式: 本月应纳税所得额 * 对应的税率 - 速算扣除数
		double salaryPrice = 0.0;
		if(salary <= 5000) {
   
			System.out.println("无需纳税!");
		}
		else if(salary <= 8000) {
   
			// 块变量:作用范围是从声明开始一直到当前语句块结束
			//double salaryPrice = (salary - 5000) * 0.03;
			//salaryPrice = (salary - 5000) * 0.03;
			salaryPrice = (salary - 5000) * 0.03 - 0;
		}
		else if(salary <= 17000) {
   
			//salaryPrice = (salary - 8000) * 0.1 + (8000 - 5000) * 0.03;
			salaryPrice = (salary - 5000) * 0.1 - 210;
		}
		else if(salary <= 30000) {
   
			//salaryPrice = (salary - 17000) * 0.2 + (17000 - 8000) * 0.1 + (8000 - 5000) * 0.03;
			salaryPrice = (salary - 5000) * 0.2 - 1410;
		}
		// ...
		
		// 3.打印最终的计算结果
		System.out.println("最终的个人所得税是:" + salaryPrice);
	}
}

案例题目

  • 出租车计费方式:由里程钱数和等候时间钱数相加得出。
  • 里程数前3公里13元,超过3公里到15公里部分每公里2元,15公里以上部分每公里3元。
  • 等候时间每2分半1元,不足部分不要钱。
  • 输入公里数和等候秒数,输出车费。
  • 16公里,等候290秒,车费 = 13 + (15-3)*2 + (16-15)*3 + 1 = 41
/*
    编程使用if分支结构实现出租车计费系统的实现
 */

import java.util.Scanner; 
 
public class IfTaxiTest {
   
	
	public static void main(String[] args) {
   
		
		// 1.提示用户输入公里数和等待的秒数并使用变量记录
		System.out.println("请输入公里数和等待的秒数:");
		Scanner sc = new Scanner(System.in);
		int km = sc.nextInt();
		int sec = sc.nextInt();
		
		// 2.根据公里数计算对应的里程费并使用变量记录
		int kmPrice = 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Shiroki 1.0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值