条件控制语句

条件控制语句

if~~else案例

import java.util.Scanner;
public class If{
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		System.out.println("请输入你的年龄");
		int age = input.nextInt();
		if (age > 18) {
			System.out.println("你应该承担法律责任");
		}else{
			System.out.println("你还小,应该好好学习");
		}
	}
}

程序执行流程图

image-20230812141832578

双分支

public class If{
	public static void main(String[] args) {
		/*双分支案例*/
		int x = 7;
		int y = 4;
		if(x>5){
			if(y>5){
				System.out.println(x+y);
			}else{
				/*程序执行这段代码*/
				System.out.println("我是大帅逼");
			}
		}else{
			System.out.println("什么都没发生");
		}
	}
}

练习

public class If{
	public static void main(String[] args) {
		/*练习:
			编写一个程序,申明2个double类型的变量并赋值
			判断第一个数字大于10.0,且第二个数字小于20.0,打印两数字之和
		*/
		double num1 = 12.0;
		double num2 = 19.0;
		if(num1 > 10.0){
			if(num2 < 20.0){
				System.out.println(num1 + num2);
			}
		}else{
			System.out.println("这两个数字不大于10.0且小于20.0");
		}
	}
}
public class If{
	public static void main(String[] args) {
		/*练习:
			定义两个变量int 判断二者的和是否能被3又能被5整除
			打印提示信息
		*/
		 int num1 = 15;
		 int num2 = 13;
		 int sum = num1 + num2;
		 if (sum % 3 == 0) {
		 	if (sum % 5 ==0) {
		 		System.out.println("能被3又能被5整除");
		 	}
		 }else
		 System.out.println("不能被3又能被5整除");
	}
}
public class If{
	public static void main(String[] args) {
		/*练习:
			判断一年是否为闰年
			(1)年份可以被4整除,但不能被100整除
			(2)能被400整除
		*/
		int year  = 2020;
		if (year % 4 ==0 && year % 100 != 0 || year % 400 ==0) {
				System.out.println("该年为闰年");
		}else{
			System.out.println("该年为平年");
		}
	}
}

多分支

image-20230812145408894

特别说明:

  1. 多分支可以没有else,如果所有的条件表达式都不成立,则执行入口都没有,输出为空
  2. 如果有else,如果所有的条件表达式都不成立,则默认执行else代码块

案例

import java.util.Scanner;
public class If{
	public static void main(String[] args) {
		/*练习:
			输入信用分
			判断某人的芝麻信用分
		*/
		Scanner input = new Scanner(System.in);
		System.out.println("输入信用分(1-100)");
		int num = input.nextInt();
		if(num > 1 && num <= 100){
			if (num == 100) {
				System.out.println("信用极好");
			}else if (num > 80 && num <= 90) {
				System.out.println("信用优秀");
			}else if (num >= 60 && num <= 80) {
				System.out.println("信用一般");
			}else{
				System.out.println("不合格");
			}
		}else{
			System.out.println("输入错误");
		}
	}
}

嵌套分支

注意:嵌套最好要超过三层,否则可读性不好

案例

import java.util.Scanner;
public class If{
	public static void main(String[] args) {
		/*参加歌手比赛,如果初赛成绩大于8.0分进入决赛,否则进入淘汰赛,并且根据性别
		  进入男子组或者女子组 
		  (1)输入
		  (2)判断
		*/
		Scanner input1 = new Scanner(System.in);
		System.out.println("请输入成绩");
		double score = input1.nextDouble();
		Scanner input2 = new Scanner(System.in);
		System.out.println("请输入性别");
		/*使用char类型接收见键盘输入的方法
			next().charAt(0)
		*/
		char gender  = input2.next().charAt(0);
		if(score > 8.0){
			System.out.println("============进入决赛============");
			if (gender == '男') {
				System.out.println("请进入男子组");
			}else{
				System.out.println("请进入女子组");
			}
		}else{
			System.out.println("============进入淘汰赛============");
			if (gender == '男') {
				System.out.println("请进入男子组");
			}else{
				System.out.println("请进入女子组");
			}
		}
	}
}

运行截图

image-20230812152959626

练习

出票系统

import java.util.Scanner;
public class If{
	public static void main(String[] args) {
		/*出票系统
		 (1)旺季:
		 成人(18-60):60
		 儿童(<18):半价
		 老人(60):票价的1/3
		 (2)淡季:
		 成人:40
		 其他:20
		*/
		Scanner input1 = new Scanner(System.in);
		System.out.println("请输入月份(1-12)");
		int mouth = input1.nextInt();
		Scanner input2 = new Scanner(System.in);
		if(mouth >= 1 && mouth <= 12){
			System.out.println("请输入年龄");
			int age = input2.nextInt();
			if(mouth >= 4 && mouth <=10){
				System.out.println("此时为旺季");
				int price = 60;
				if (age < 18) {
					System.out.println("您是儿童票价为:" + price*0.5);
				}else if (age > 18 && age <60) {
					System.out.println("您是成人票价为:" + price);
				}else if(age > 60){
					System.out.println("您是老人票价为:" + price*(1/3));
				}
			}else{
				System.out.println("此时为淡季");
				if (age > 18 && age <60) {
					System.out.println("您是成人票价为:40");
				}else{
					System.out.println("其他票价为:20");
				}
			}
		
		}else{
			System.out.println("输入有误");
		}
	}
}
posted @   小Y的开发笔记  阅读(17)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示