/* 关于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);
}
}