/* if语句的格式2,和三元运算符的区别?
三元运算符这对的是某个数据的数据值在进行判断; (表达式)?true的结果:false的结果;
if语句格式2:
针对两个结果进行判断,输出一个结果(可能是一个输出语句,也可能是具体的值)
三元运算符能够使用的,一定可以使用if;但是if使用,不一定能够收三元!
开发过程中,没有特别要求,都是用If语句!
奇数和偶数的判断
*/
class IfDemo3{
public static void main(String[] args){
//定义变量
int a = 100 ;
//if语句判断:格式2
if(a %2 ==0){
System.out.println("当前数据是偶数");
}else{
System.out.println("当前数据是奇数");
}
//使用三元运算符
//String:字符串类
//String s =
// (a % 2 == 0)? (System.out.println("当前数据是偶数");):(System.out.println("当前数据是奇数");) ;
}
}
/*
if格式3:
if(关系表达式1) {
语句体1;
}else if (关系表达式2) {
语句体2;
}
…
else {
语句体n+1;
}
执行流程:
1)先判断表达式1是否成立,成立,执行语句1
2)如果不成立,在此判断表达式2是否成立,成立,执行语句2
3)…最终上面的结果都不匹配,执行else中的语句n+1;
需求:
90-100 优秀
80-90 好
70-80 良
60-70 及格
60一下 不及格
if三种格式的应用场景 if格式1:针对单个情况判断
if格式2:针对两种情况判断 (开发中使用居多)
if格式3:针对两个以上的判断
*/
//导包
import java.util.Scanner;
class IfDemo4{
public static void main(String[] args){
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入当前学生成绩: ");
//接收
int score = sc.nextInt() ;
//经过判断,使用if语句格式3
/*
if(score>=90 && score <=100){
System.out.println("该学生成绩-优秀");
}else if(score >= 80 && score < 90){
System.out.println("该学生成绩-较好");
}else if( score >=70 && score <80){
System.out.println("该学生成绩-良好");
}else if(score >= 60 && score<70){
System.out.println("该学生成绩-及格");
}else{
System.out.println("该学生成绩-不及格");
}
*/
/*
上述代码存在漏洞,当用户输入超过当前100,或者低于0,都是非法数据
判断的时候
测试 :"错误数据","边界数据","正确的数据"
使用这种方式进行改进!
*/
if(score<0 || score>100){
System.out.println("当前数据是非法数据...");
}else if(score>=90 && score <=100){
System.out.println("该学生成绩-优秀");
}else if(score >= 80 && score < 90){
System.out.println("该学生成绩-较好");
}else if( score >=70 && score <80){
System.out.println("该学生成绩-良好");
}else if(score >= 60 && score<70){
System.out.println("该学生成绩-及格");
}else{
System.out.println("该学生成绩-不及格");
}
}
}