选择结构语句if

1.选择结构语句if

格式1:

              if(表达式){
	          语句;
		       }

格式2:

		if(表达式){
			语句1;
		}else{
			语句2;
		}

格式3:

		if(表达式1){
			语句1;
		}else if(表达式2){
			语句2;
		...
		...
		}else{
			语句n+1 ;
		}

需求:

 键盘录入学生成绩,判断学生的成绩等级!
    90-100			优秀
	80-90			良好
    70-80			一般
    60-70			及格
    60以下			不及格
import java.util.Scanner ;
class IfDemo3{

	public static void main(String[] args){
		//创建键盘录入对象
		Scanner sc = new Scanner(System.in) ;
		
		//提示并录入数据
		System.out.println("请你输入学生成绩:") ; 
		int scroe = sc.nextInt() ;
		
		//使用if格式3
		/*
			90-100			优秀
			80-90			良好
			70-80			一般
			60-70			及格
			60以下			不及格
		*/
		/*
		if(scroe >=90 && scroe <=100){
			System.out.println("成绩优秀") ;
		}else if(scroe>=80 && scroe<90){
			System.out.println("成绩良好") ;
		}else if(scroe>=70 && scroe<80){
			System.out.println("成绩一般") ;
		}else if(scroe>=60 && scroe<70){
			System.out.println("成绩一般") ;
		}else{
			System.out.println("成绩不及格") ;
		}
		*/
		
		//测试程序
		//测试:错误数据	:非法数据---- "友情提示"
		//测试:正确数据 :  85分
		//测试:边界数据 :100,70,60....
		
		//改动
		if(scroe < 0 || scroe>100 ){
			System.out.println("您当前输入的数据是不合法的!") ;
		}else if(scroe >=90 && scroe <=100){
			System.out.println("成绩优秀") ;
		}else if(scroe>=80 && scroe<90){
			System.out.println("成绩良好") ;
		}else if(scroe>=70 && scroe<80){
			System.out.println("成绩一般") ;
		}else if(scroe>=60 && scroe<70){
			System.out.println("成绩一般") ;
		}else{
			System.out.println("成绩不及格") ;
		}	
	}
}

if格式的嵌套

  if(表达式){
     if(表达式1){
     }else{
    }
     }else{
    if(表达式2){
     }else{
   }

需求:

    键盘录入三个数据,求最大值(int类型)
    两种方案
      1)使用三元运算符去完成
      2)使用if格式2的嵌套
import  java.util.Scanner ;
public class IfTest2 {
    public static void main(String[] args){

        //创建键盘录入对象
        Scanner sc = new Scanner(System.in);

        //提示并录入数据
        System.out.println("请您输入第一个数据:") ;
        int a = sc.nextInt() ;

        System.out.println("请您输入第二个数据:") ;
        int b = sc.nextInt() ;

        System.out.println("请您输入第三个数据:") ;
        int c = sc.nextInt() ;


        //方案1:
        //三元运输符 (表达式)? 执行true的结果:执行false的结果
        //使用中间变量
        int temp = (a> b) ? a: b ;
        //定义结果变量
        int max = (temp > c)? temp :c ;
        System.out.println ("三个数据中的最大值是:"+max) ;

        System.out.println("---------------------------------------") ;

        //方式2:if格式2的嵌套 (不推荐的)
        //定义变量max2
        int max2 ;
        if(a > b){
            //使用a和c进行对比
            if(a> c){
               max2 = a ;
            }else{
               max2 = c ;
            }

        }else {
            //b大
            if(b > c){
                max2 = b ;
            }else{
                max2 = c ;
            }

        }

        System.out.println("三个数据中的最大值是:"+max2) ;

    }
}

用三元运算符作比较相比于if格式嵌套更简洁

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值