Java选择结构-if语句,switch语句详解

Java程序设计中引入了选择语句。选择语句总共有两种常见的形式:if语句,和switch语句。

1. if语句

(1)if单选择结构

if(比较表达式或者是boolean类型的值)
 {
  语句体;
 }

执行流程:
先计算比较表达式的值,看其返回值是true还是false。 如果是true,就执行语句体;
如果是false,就不执行语句体;

(2) if-else双选择结构

if语句的格式2
 if(比较表达式) {
  语句体1;
 }else {
  语句体2;
 }

执行流程:
首先计算比较表达式的值,看其返回值是true还是false。
如果是true,就执行语句体1;
如果是false,就执行语句体2;

示例:

im**por**t java.util.Scanner;

public class  heng {
    public static void main(String[] args) {
        Scanner ac=  new Scanner(System.in);
        System.out.println("请输入第一个数字");
        int x=ac.nextInt();
        int y=0;
        if (x>=3)
        y = 2*x + 1;
        else
            y=3*x;
        System.out.println("y="+y);
    }
}   

(3) if-else if-else多选择结构

if(比较表达式1) {
  语句体1;
 }else if(比较表达式2) {
  语句体2;
 }else if(比较表达式3) {
  语句体3;
 }
 ...
 else {
  语句体n+1;
 }

执行流程:
首先计算比较表达式1看其返回值是true还是false,
如果是true,就执行语句体1,if语句结束。
如果是false,接着计算比较表达式2看其返回值是true还是false,
如果是true,就执行语句体2,if语句结束。

注意:当只要有一个条件满足时,if语句结束。else是可以省略,但是不建议省略。
示例:

import java.util.Scanner;

public class  heng {
    public static void main(String[] args) {
        Scanner ac=  new Scanner(System.in);
        System.out.println("请输入第一个数字");
        int x=ac.nextInt();
        int y=0;
        if (x>=3)
        y = 2*x + 1;
        else if (-1<=x&x<3)
        y = 2*x;
        else if (x<-1)
        y = 2*x-1;
        System.out.println("y="+y);
    }
}

2. switch语句

switch(表达式){
  case1:
   语句体1;
   break;
  case2:
   语句体2;
   break;
  case3:
   语句体3;
   break;
  ....
  default: 
   语句体n+1;
   break;
 }

执行流程:
先计算表达式的值
然后和case后面的匹配,如果匹配成功就执行对应的语句,遇到break就会结束,否则执行default控制的语句

注意:
Switch表达式的取值:byte,short,int,char;JDK5以后可以使用枚举,JDK7以后可以是String。
Case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的。

示例:

import java.util.Scanner;

public class  heng {
    public static void main(String[] args) {
        Scanner ac=  new Scanner(System.in);
        System.out.println("请输入第一个数字");
        int a=ac.nextInt();
        System.out.println("请输入第二个个数字");
        int b=ac.nextInt();
        switch(a){
            default:
                b++;
                break;
            case 3:
                b++;
                break;
            case 4:
                b++;
                break;
        }
        System.out.println("y="+b);
    }
}
输入
3
4
结果为5
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章