java(条件分支语句)

Java中的条件分支语句分两种,if else语句和switch语句:

1、if(条件判断语句){代码A;} 当条件成立时执行代码A,如果条件不成立则不执行代码A,而是直接 执行if的下一句

if(条件){代码块1;}else{代码块2;} 当条件成立时执行代码块1,如果条件不成立则执行代码块2。没 有一种情况是同时执行代码块1和2

if(条件1){代码块1;}

else if(条件2){代码块2;}

...

else{代码块n;} 当条件1成立时执行代码块1,如果条 件1不成立继续判断条件2,如果条件2成立则执行代码块2,依次类推。没有一种情况是同时执行代 码块1和2

说明:允许多个if嵌套使用。

Scanner sc = new Scanner(System.in);
boolean bb = sc.nextBoolean();
if (bb == false) { //判真一般用法为if(bb){} 判假 if(!bb){}
System.out.println("性别为女");
}

要求输入学生成绩(假设成绩都是整数),如果>=85显示优秀,如果>=70显示良好,如果>=60显示及 格,否则显示不及格。

Scanner sc = new Scanner(System.in);
int score = sc.nextInt();
if (score >= 85) {//这里的顺序不能调整,因为条件成立后则立即执行代码块,执行结束则自动跳出
if,不会继续判断
System.out.println("成绩优秀");
} else if(score>=70) {
System.out.println("成绩良好");
} else if(score>=60){
System.out.println("成绩及格");
} else {
System.out.println("成绩不及格");
}

2、switch(

表达式){

case 值1: 判断表达式的值是否在值1,如果相等则执行代码块1 代码块1;

break; 执行完成后,如果没有break,则自动执行后续语句,但是不进行判 定。如果有break则立即中断switch的执行,跳到switch块的下一局继续执行

多个case语句: ... ...

default:如果所有的case都不能成立,则执行代码块n 代码块n; break; }

        **表达式的计算结果可以是整型【不允许long类型】,可以是char,同时允许是字串类型[String] 也可以是枚举类型 case值类型必须和switch条件类型相同或者能隐式转换为switch表达式类型 case值必须唯一,不能与其它的重复 default的位置没有特殊要求,但是一定是所有的case值不相等时才会执行。但是为了增强可读 性,所以一般建议写在所有的case之后**

System.out.println("请输入月份:");
Scanner sc = new Scanner(System.in);
int m = sc.nextInt();
switch (m) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.println("本月31天");
break;
case 2:
System.out.println("请输入年份:");
int year = sc.nextInt();
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
System.out.println("本月29天");
} else
System.out.println("本月28天");
break;
case 4:
case 6:
case 9:
case 11:
System.out.println("本月30天");
break;
default: //default写在switch内部的任何位置上实际都不会影响执行逻辑,但是不建议,
因为会影响可读性
System.out.println("月份错误!");
break;
}
}
}

3、三目运算符

三目条件运算符(?:)规则是完全一致的,使用的形式是: x ? y:z;

Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个整数:");
int num1 = sc.nextInt();
System.out.println("请输入第二个整数:");
int num2 = sc.nextInt();
int max = num1 > num2 ? num1 : num2;
System.out.println("两个整数("+num1+","+num2+")中最大的值为:"+max);
sc.close();

要求表达式1必须返回值为boolean类型

要求表达式2和表达式3的返回值类型一致

你可能感兴趣的:(学习,java)