java-判断语句
程序员文章站
2023-11-13 22:08:46
if单分支这是一个单判断语句,if(这里是个boolean值)。boolean如果为true会进入if()后面的;如果为false,就不会进去了。int i ; //定义变量i = 5 ;if( i == 5) {//单判断System.out.println(" i = 5") ;}if - else双分支双分支,同单分支一个道理,满足哪个分支的条件进入哪个分支,如果都不满足,那么就任何分支都不进入也就是不执行。else后面不用写括号,直接写花括号。...
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天");
}
/**
代码写成这样你就会发现一下问题
**/
这里就是要使用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;
}
//运行结果如下
本文地址:https://blog.csdn.net/toomemetoo/article/details/112094484
上一篇: Win7开年补丁惹麻烦:N多KMS激活系统提示盗版
下一篇: 如何利用watch帮你重复执行命令