java-判断语句

if单分支

  • 这是一个单判断语句,if(这里是个boolean值)。
  • boolean如果为true会进入if()后面的;如果为false,就不会进去了。
		int i ; //定义变量
		i = 5 ;
		if( i == 5) {//单判断
			System.out.println(" i  = 5") ;
		}

if - else双分支

  • 双分支,同单分支一个道理,满足哪个分支的条件进入哪个分支,如果都不满足,那么就任何分支都不进入也就是不执行。
  • else后面不用写括号,直接写花括号。
		int i ; //定义变量
		i = 5 ;
		if( i == 5) {
			System.out.println(" i  = 5") ;
		}else {
			System.out.println(" i != 5");
		}

if - else if …else if - else多分支

多分支,else if可以有多个,这个怎么使用呢。
if()条件较难达到
else if()条件次难达到
else 条件最容易达到

为什么要这样设计,因为程序是从上而下执行的,如果if很容易达到,那么后面的else if语句写了作用就降低了
下面举个栗子

现在有个需求输入成绩,输出成绩的等级。

如果成绩低于60分(不包含60分),输出"不及格";

如果成绩高于60分但是低于70分(不包含70分),输出"合格";

如果成绩高于70分但是低于80分(不包含80分),输出"良好";

如果成绩高于80分但是低于90分(不包含90分),输出"优秀";

如果成绩不低于90分(包含90分),输出"超优秀"
		int score ; //假设成绩都是整数,这里忽略小数
		Scanner input = new Scanner(System.in);
		System.out.println("请输入成绩(0-100):");
		score = input.nextInt(); //输入成绩
		if(score >= 90) {
		//上面判断条件不用写成if else(score < 90 && score >= 80),
		//因为如果开始的if条件不满足,那么score就小于90了
		//下面的同理
			System.out.println("超优秀");
		}else if(score >= 80) {
			System.out.println("优秀");
		}else if(score >= 70) {
			System.out.println("良好");
		}else if(score >= 60) {
			System.out.println("合格");
		}else {
			System.out.println("不合格");
		}

if 判断的多层嵌套

  • 用法可以每次一层一层的写,这样就可以看作是一层一层的单层循环。

switch判断

  • switch只用于byte,short,int,char以及jdk1.7版本以上可以使用String,外加上枚举类型。
  • switch只用于值相等判断,switch(变量名,这里的变量名只能是上面的那几种),变量的取值和case 对应的值 :语句;这样来进行判断
  • switch要和break结合使用,如果没有break语句,那么就会继续执行下面的代码。
  • 实际使用中比if判断用的少。
    现在有个需求,输入月份,输出月份的天数,二月以28天计算 那么使用switch比if更加方便
int month ; //月份
		Scanner input = new Scanner(System.in);
		System.out.println("请输入月份:");
		month = input.nextInt(); //输入月份
		switch(month) {
			case 1 :
				System.out.println("1月31天");
			case 2 :
				System.out.println("2月28天");
			case 3 :
				System.out.println("3月31天");
			case 4 :
				System.out.println("4月30天");
			case 5 :
				System.out.println("5月31天");
			case 6 :
				System.out.println("6月30天");
			case 7 :
				System.out.println("7月31天");
			case 8 :
				System.out.println("8月31天");
			case 9 :
				System.out.println("9月30天");
			case 10 :
				System.out.println("10月31天");
			case 11 :
				System.out.println("11月30天");
			case 12 :
				System.out.println("12月31天");
		}
/**
代码写成这样你就会发现一下问题
**/

明明输入的是1月,12个月份都输出了

这里就是要使用break语句用来终止判断的执行,正确代码如下

		int month ; //月份
		Scanner input = new Scanner(System.in);
		System.out.println("请输入月份:");
		month = input.nextInt(); //输入月份
		switch(month) {
			case 1 :
				System.out.println("1月31天");
				break;
			case 2 :
				System.out.println("2月28天");
				break;
			case 3 :
				System.out.println("3月31天");
				break;
			case 4 :
				System.out.println("4月30天");
				break;
			case 5 :
				System.out.println("5月31天");
				break;
			case 6 :
				System.out.println("6月30天");
				break;
			case 7 :
				System.out.println("7月31天");
				break;
			case 8 :
				System.out.println("8月31天");
				break;
			case 9 :
				System.out.println("9月30天");
				break;
			case 10 :
				System.out.println("10月31天");
				break;
			case 11 :
				System.out.println("11月30天");
				break;
			case 12 :
				System.out.println("12月31天");
				break;
		}
	//运行结果如下

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值