if 语句第二种格式: if…else

  1. if(关系表达式) {
  2. 语句体1;
  3. }else {
  4. 语句体2;
  5. }

执行流程

  • 首先判断关系表达式看其结果是 true 还是 false
  • 如果是 true 就执行语句体1
  • 如果是 false 就执行语句体2

ifelse.jpg

语法案例演示1

  1. public static void main(String[] args){
  2. // 判断给定的数据是奇数还是偶数
  3. // 定义变量
  4. int a = 1;
  5. if(a % 2 == 0) {
  6. System.out.println("a是偶数");
  7. } else{
  8. System.out.println("a是奇数");
  9. }
  10. System.out.println("结束");
  11. }

语法案例演示2:if 语句和三元运算符的互换

在某些简单的应用中,if 语句是可以和三元运算符互换使用的

  1. public static void main(String[] args) {
  2. int a = 10;
  3. int b = 20;
  4. //定义变量,保存a和b的较大值
  5. int max;
  6. if(a > b) {
  7. max = a;
  8. } else {
  9. max = b;
  10. }
  11. //可以上述功能改写为三元运算符形式
  12. max = a > b ? a : b;
  13. }
  1. public static void main(String[] args) {
  2. int a = 10;
  3. int b = 20;
  4. //定义变量,保存a和b的较大值
  5. int max;
  6. if(a > b)
  7. max = a;//当语句块只有一个语句时,可以省略{},但是不建议省略{}
  8. else
  9. max = b;
  10. }

练习:求出最大值

从键盘输入三个数,求出最大值,用单分支 if 和双分支 if..else 来计算

  1. class Day03_Test08_MaxValueExer{
  2. public static void main(String[] args){
  3. java.util.Scanner input = new java.util.Scanner(System.in);
  4. System.out.print("请输入第1个整数:");
  5. int a = input.nextInt();
  6. System.out.print("请输入第2个整数:");
  7. int b = input.nextInt();
  8. System.out.print("请输入第3个整数:");
  9. int c = input.nextInt();
  10. /*
  11. int max;//存储三个数中的最大值
  12. if(a > b){
  13. max = a;
  14. }else{
  15. max = b;
  16. }
  17. if(c > max){
  18. max = c;
  19. }
  20. */
  21. int max = a>b ? a : b;
  22. max = max>c ? max : c;
  23. System.out.println(a+","+b+","+c+"中最大的是:"+ max);
  24. }
  25. }