if语句的三种格式
格式一:
if(表达式){
语句;
}
执行流程:
1.判断表达式是否成立,如果成立执行语句 否则就不执行
if语句的注意事项
表达式无论是复杂还是简单,都是boolean类型的
import java.util.Scanner ;
class Demo{
public static void main(String[] args){
//创建键盘录入数据
Scanner sc = new Scanner(System.in) ;
//提示
System.out.println("请输入一个数据")
//接收数据
int x = sc.nexInt();
//if语句格式1
//比如输入一个录入3 最后只会打印over
//输入一个15,会打印执行成功和over
if(x >= 10){
System.out.println("执行成功");
}
System.out.println("over") ;
}
}
格式二
if(关系表达式){
语句体1;
}else{
语句体2;
}
执行流程:
首先判断关系表达式看结果是true还是false
如果是true就执行语句体1
如果是false就执行语句体2
应用场景:登录,注册.对两种结果进行判断
import java.util.Scanner ;
class Demo{
public static void main(String[] args){
//创建键盘录入数据
Scanner.sc = new Scanner(System.in);
//提示
System.out.println("请输入一个数据") ;
//接收数据
int a = sc.nextInt();
//针对数据进行判断
//比如录入一个10 打印的是a小于20和over
if(a >= 20){
System.out.println("a大于等于20");
}else{
System.out.println("a小于20");
}
System.out.println("over");
}
}
练习题
判断两个数据是否相同
import java.util.Scanner ;
class Demo{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
//提示
System.out.println("请输入第一个要比较的数据") ;
//接收
int x = sc.nextInt();
//提示
System.out.println("请输入第二个要比较的数据") ;
//接收
int y = sc.nextInt() ;
//if语句第二种格式
if(x==y){
System.out.println("两个数据相等");
}else{
system.out.println("两个数据不相等") ;
}
//还可以使用三元运算符
boolean flag = (x==y) ? true : false
System.out.println(flag); //false
}
}
输出两个数中较大的值
import java.util.Scanner ;
class Demo{
public static void main(String[] args){
Scanner sc = new Scanner(System.in) ;
System.out.println("请输入第一个要比较的数据");
int x = sc.nextInt();
system.out.println("请输入第二个要比较的数据");
int y = sc.nextInt();
//使用三元运算符.数据类型是int就用int接收
int i = (a>b)? a:b ;
System.out.println("两个数据中的最大值是" + i) ;
//使用if语句格式2
//定义一个变量max
int max ;
if(a>b){
max = a ; //如果它成立 就把a赋值给max
}else{
max = b ; //a和b在做比较 最终结果输出max
}
System.out.println("两个数据中的最大值是" + max) ;
}
}
判断这个数是奇数还是偶数
(从这里要知道if语句和三元运算符的区别)
import java.util.Scanner ;
class Demo{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个要判断数据") ;
int x = sc.nextInt();
if(x % 2 == 0){
System.out.println("当前数据是偶数");
}else{
system.out.println("当前数据是奇数")
}
//使用三元运算符
//String字符串类
String s = (x % 2 == 0)? ("当前数据是偶数"):("当前数据是奇数") ;
}
}
结论:
1.三元运算符针对的是某个数据的数据值在进行判断的;(表达式)true的结果:false的结果;
2.if语句格式2针对两个结果进行判断输出一个结果(可能是一个输出语句,也可能是具体的值三元运算符是一个具体的结果)
3.三元运算符能够使用的一定能用if语句,但是if使用,不一定能用三元运算符
4.开发的过程中如果没有特别的要求,都是使用if语句!!!
if语句的第三种格式
格式:
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以下不及格
import java.util.Scanner ;
class Demo{
public static void main(String[] args){
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
//提示
System.out.println("请输入当前学生的成绩");
//接收
int x = nextInt();
//防止出现非法数据 如果x小于0了 就会进行提示
//x大于一百了 也会进行提示 分数最高为100
if(x < 0 || x > 100){
System.out.println("当前数据是非法数据")
//if语句的第三种格式,如果该学生的成绩大于等于90 小于等于100了,那么该学生成绩为优秀
}else if(x >= 90 && x <= 100){
System.out.println("该学生成绩为优秀");
}else if(x >= 80 && x < 90){
System.out.println("该学生成绩为良好");
}else if(x >= 70 && x < 80){
System.out.println("该学生成绩为中等");
}else if(x >= 60 && x < 70){
System.out.println("该学生成绩为及格");
}else{
System.out.println("该学生成绩为不及格");
}
}
}
三种格式的应用场景:
if格式1: 针对单个情况进行判断
if格式2: 针对两种情况判断 (开发中使用居多)
if格式3: 针对两个以上的判断