选择结构if1

266 阅读2分钟

/* 关于java语言中的if语句,属于选择结构,if语句又被称为分支语句/条件控制语句: 1、if语句的语法结构:四种编写方式 第一种: if(布尔表达式){ java语句; java语句; java语句; ... }

	   第二种:
	         if(布尔表达式){
				 java语句;
				 java语句;
				 ...
			 }else{
				 java语句;
				 java语句;
				 ...
			 }

	   第三种:
	         if(布尔表达式){
				 java语句;
				 java语句;
				 ...
			 }else if(布尔表达式){
				 java语句;
				 java语句;
				 ...
			 }else if(布尔表达式){
				 java语句;
				 java语句;
				 ...
			 }else if(布尔表达式){
				 java语句;
				 java语句;
				 ...
			 }......

	   第四种:
	         if(布尔表达式){
				 java语句;
				 java语句;
				 ...
			 }else if(布尔表达式){
				 java语句;
				 java语句;
				 ...
			 }else if(布尔表达式){
				 java语句;
				 java语句;
				 ...
			 }else if(布尔表达式){
				 java语句;
				 java语句;
				 ...
			 }else{
				 java语句;
				 java语句;
				 ...
			 }


	2、重点:对于java中的if语句来说,只要有一个分支执行,整个if语句全部结束。
	3、注意:以上的第二种编写方式和第四种编写方式都带有else分支,这两种方式可以保证
	百分之百会有分支执行。
	4、“所有的控制语句”都是可以嵌套使用的。只要合理嵌套就行。
	   if(布尔表达式){
		   if(){
			   if(){

			   }
		   }
	   }else{
		   if(){

		   }else{
			   if(){
				   if(){

				   }
			   }
		   }
	   }

	   注意:嵌套使用的时候,代码格式要求要保证完美。【该缩进的时候那必须缩进大部分情况包围的需要缩进】

	5、if语句的分支只有一条java语句,大括号可以省略不写。
	   if(true){
		   一条java语句;
	   }
	   也可以写成:
	   if(true/false) 一条java语句;

	   这种方式不推荐使用,别人这么写能看懂就行。
	   

		   
	   

*/ public class IfTest01 { public static void main(String[] args){

	//需求:所在位置的五公里范围之内有肯德基的话,去KFC吃午饭
	//公里数
	//double distance = 6.0;//单位KM
    double distance = 2.0;
	//判断语句
	if(distance < 5.0){
		System.out.println("去KFC吃开封菜!");
		
	}
	/*
	    需求:
		    假设系统给定一个考生的成绩,成绩可能带有小数点
			根据学生成绩判断该学生的成绩等级:
			    [90-100] A
				[80-90]  B
				[70-80]  C
				[60-70]  D
				[0-60]   E
		    
			以上的逻辑判断采用if语句完成该怎么写?
	*/
	double i = 89.0;
       //错误示范:变量应该放在左边
       
	if(90.0< i){
		System.out.println("该学生的成绩等级为A");
	}else if(80<= i){
		System.out.println("该学生的成绩等级为B");
	}else if(70 <= i){
		System.out.println("该学生的成绩等级为C");
	}else if(60 <= i){
		System.out.println("该学生的成绩等级为D");
	}else{
		System.out.println("该学生的成绩等级为E");
	}
	
	//老师编写的代码
	double score = 59.5;

	//使用以下这种方式可以完成需求。但是这种方式效率较低,每一个if都是不相关的,都是独立的
	//每一个if都会判断一次。
	/*
         if(){

         }
	 if(){

         }
	 if(){

         }
	 if(){

         }
	*/

	//根据需求决定选择以上的第四种结构来完成需求
	/*
	score = 60.0;
	score = 110.0;
	score = 90;
	if(score < 0 || score >100){
		System.out.println("对不起,您提供的考生成绩不合法");
	}else if(score >= 90){
		System.out.println("该考生的考试成绩等级是:A等级");
	}else if(score >= 80){
		System.out.println("该考生的考试成绩等级是:B等级");
        }else if(score >= 70){
		System.out.println("该考生的考试成绩等级是:C等级");
        }else if(score >= 60){
		System.out.println("该考生的考试成绩等级是:D等级");
        }else{
		System.out.println("该考生的考试成绩等级是:E等级");
        }
	*/

	String grade = "该考生的考试成绩等级是:E等级";
    if(score < 0 || score >100){
		grade = "对不起,您提供的考生成绩不合法";
    }else if(score >= 90){
		grade = "该考生的考试成绩等级是:A等级";
    }else if(score >= 80){
		grade = "该考生的考试成绩等级是:B等级";
    }else if(score >= 70){
		grade = "该考生的考试成绩等级是:C等级";
    }else if(score >= 60){
		grade = "该考生的考试成绩等级是:D等级";
    }

	System.out.println(grade);
}

}