• if 语句第三种格式: if…else if …else
  1. if (判断条件1) {
  2. 执行语句1;
  3. }else if (判断条件2) {
  4. 执行语句2;
  5. }else if (判断条件n) {
  6. 执行语句n;
  7. }else {
  8. 执行语句n+1;
  9. }

执行流程

  • 首先判断关系表达式1看其结果是 true 还是 false
  • 如果是 true 就执行语句体1,然后结束当前多分支
  • 如果是 false 就继续判断关系表达式2看其结果是 true 还是 false
  • 如果是 true 就执行语句体2,然后结束当前多分支
  • 如果是 false 就继续判断关系表达式…看其结果是 true 还是 false
  • 如果没有任何关系表达式为 true ,就执行语句体n+1,然后结束当前多分支

ifelseif.jpg

语法案例演示1:

计算如下函数:x 和 y 的关系满足如下:
(1)x>=3; y = 2x + 1;
(2)-1<=x<3; y = 2x;
(3)x<-1; y = 2x – 1;
从键盘输入 x 的值,计算出 y 的值并输出

  1. public static void main(String[] args) {
  2. java.util.Scanner input = new java.util.Scanner(System.in);
  3. System.out.print("请输入x的值:");
  4. int x = input.nextInt();
  5. int y;
  6. if (x>= 3) {
  7. y = 2 * x + 1;
  8. } else if (x >= -1 && x < 3) {
  9. y = 2 * x;
  10. } else {
  11. y = 2 * x - 1;
  12. }
  13. System.out.println("y的值是:"+y);
  14. }
  1. public static void main(String[] args) {
  2. java.util.Scanner input = new java.util.Scanner(System.in);
  3. System.out.print("请输入x的值:");
  4. int x = input.nextInt();
  5. int y;
  6. if (x>= 3) {
  7. y = 2 * x + 1;
  8. } else if (x >= -1) {
  9. y = 2 * x;
  10. } else {
  11. y = 2 * x - 1;
  12. }
  13. System.out.println("y的值是:"+y);
  14. }

1561700798198.png
1561700825016.png

语法案例演示2:

通过指定考试成绩,判断学生等级

  • 90-100 优秀
  • 80-89 好
  • 70-79 良
  • 60-69 及格
  • 60以下 不及格
    1. public static void main(String[] args) {
    2. int score = 89
    3. if(score<0 || score>100){
    4. System.out.println("你的成绩是错误的");
    5. }else if(score>=90 && score<=100){
    6. System.out.println("你的成绩属于优秀");
    7. }else if(score>=80 && score<90){
    8. System.out.println("你的成绩属于好");
    9. }else if(score>=70 && score<80){
    10. System.out.println("你的成绩属于良");
    11. }else if(score>=60 && score<70){
    12. System.out.println("你的成绩属于及格");
    13. }else {
    14. System.out.println("你的成绩属于不及格");
    15. }
    16. }
    1561436569004.png
  1. public static void main(String[] args) {
  2. int score = 89;
  3. if(score<0 || score>100){
  4. System.out.println("你的成绩是错误的");
  5. }else if(score>=90){
  6. System.out.println("你的成绩属于优秀");
  7. }else if(score>=80){
  8. System.out.println("你的成绩属于好");
  9. }else if(score>=70){
  10. System.out.println("你的成绩属于良");
  11. }else if(score>=60){
  12. System.out.println("你的成绩属于及格");
  13. }else {
  14. System.out.println("你的成绩属于不及格");
  15. }
  16. }

1561437387616.png