/*
控制语句
*选择结构
- if,if..else
-Switch
*循环结构
-for
-while
-do...while()
*控制循环的语句
-break
-continue
*/
/*
关于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分支,这两种方式可以100%保证会有分支执行。
4、"所有的控制语句"都是可以嵌套使用的。只要合理嵌套就行。
if(){
if(){
if(){
}
}
}else{
if(){
}else{
if(){
if(){
}
}
}
}
注意:嵌套使用的时候,代码格式要保证完美。【该缩进的时候必须缩进,大部分情况下使用大括号包围的需要缩进】
5、if语句的分支中只有一条java语句的话,大括号可以省略不写。
if(true/false){
一条java语句;
}
if(true/false)一条java语句;
这种方式不推荐使用,别人这么写能看懂就行。
*/
public class IfTest01
{
public static void main(String[] args){
//需求:所在位置的六公里范围之内有肯德基的话,去nnn吃饭
//公里数
//double distance = 8.0;//单位kM
double distance = 2.0;
//判断语句
if( distance < 6 ){
System.out.println("去nnn吃饭");
}
/*
需求:
假设系统给定一个考生的成绩,成绩可能带有小数点
根据学生的成绩判断该学生的成绩等级:
[90-100] A
[80-90) B
[70-80) C
[60-70) D
[0-60) E
以上的逻辑判断采用if语句完成,
*/
double score = 59.5;
//使用以下这种方式可以完成需求,但是这种方式效率低。每一个if都是不相关的,都是独立的
//每个if都会判断一次。
/*
if(){
}
if(){
}
if(){
}
*/
//根据第四种结构来完成需求
/*
if(score < 0 || score > 100){
System.out.println("对不起,您提供的考生成绩不合格");
}else if(score >= 90 && score <= 100){//没必要判断是否小于等于100,能执行到这里一定是<=100
}
*/
score = 60.0;
score = 110.0;
score = -100;
score = 90;
score = 100;
score = 0;
if(score < 0 || score > 100){
System.out.println("对不起,您提供的考生成绩不合法");
}else if(score >= 90){//能够判断到这里说明成绩一定是[0-100]
System.out.println("该考生的考试成绩是:A等级");
}else if(score >= 80){//能够判断到这里说明成绩一定是小于90分的
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);
}
}