9、Java控制语句

控制语句

流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定的小功能的小逻辑模块,控制语句分为三类:顺充,选译,循环。

顺序结构

先执行第一行,再执行第二行。代码是从上往下执行的。

选择结构

是一个条件表达所得到的值,如果符合条件执行那一个语句块中的东西,如果不符合条件执行那一个语句块中的东西。

循环结构

在没有满足条件以前,只会执行代码块中的程序。

  这三种结构几乎可以表示所有的事情,这三种基本逻辑结构是相互支撑的,它们共同组成了算法的基本结构,无论怎样复杂的结构可以用它们来表达,所以可以在任何高级语言中看到这三种结构。

选择结构

if单选择结构

if语句对布尔表达式进行判定,若判定为真,则执行{}中的语句块,否则跳过该语句块。如图:

    int a = 1;
    if (a < 2) {
        System.out.println("a满足小于2的条件,所以输出这一句话");
    }
    //if语句下面如果只有一条语句的时候,我们可以省略{},但是最好还是不要省略。

if else 双选择结构

当表达式为真的时候,执行语句块1,如果为假的时候,执行语句块2。

    int a = 1;
    if (a < 2) {
        System.out.println("a满足小于2的条件,所以输出这一句话");
    }else{
        System.out.println("a满足大于2的条件,所以输出这一句话");
    }

if else if else 多选择结构

当第一个条件语句执行为true的时候,执行第一个语句块,如果不是,再判断第二条件语句,如果为true的时候,执行第二个语句块,如果不是,再往下面执行,一直到条件为true的时候,或者到最后也没有符合条件的条件语句。

    int a = 1;
    if (a < 2) {
        System.out.println("a满足小于2的条件,所以输出这一句话");
    }else if(a > 1){
        System.out.println("a满足大于2的条件,所以输出这一句话");
    } else if (a == 1) {
        System.out.println("a满足等于1的条件,所以输出这一句话");
    }else {
        System.out.println("没有满足条件的,执行这一句话");
    }

switch 控制语句

switch 一般是用来作多值的判断,只有多个值的时候用这个控制语句。

switch语句,会根据表达式的值从相匹配的case的地方操作,一直执行到遇见break语句,或者到语句的未尾。如果case的值一直不匹配,则进入最后的default语句。(default语句不是必须的,可以没有)
  switch后面的括号中可以填写byte、short、char、int类型、还可以是枚举类型,在java1.7之后,也可以填写String了。

    int a = 1;
    switch (a) {
        case 1:
            System.out.println("现在的a是1");
            break;
        case 2:
            System.out.println("现在的a是1");
            break;
        case 3:
            System.out.println("现在的a是1");
            break;
        case 4:
            System.out.println("现在的a是1");
            break;
        default:
            System.out.println("没有匹配的值!");
    }

循环结构

循环结构分为两大类,一类是当型,一类是直到型。

当型

在每次执行循环体前,对条件进行判定,当条件满足时,执行循环体,否则终止循环。

for
  for循环语句是支持迭代的一种通用结构,是最有效的,最灵活的循环结构,也是我们最常用到的循环结构。

    //求1到100的和
    int sum = 0;        //定一个变量来存储和
    //1、执行int i = 1;并且只第一次执行,往后都不执行了。
    //2、扫行i <= 100; 每一次运行的时候都会执行这个。
    //   判断条件是否成立,如果成立就续继循环,如果不成立就不再循环了。
    //3、执行sum += i;
    //4、最后一步才是执行 i++;
    //5、回到第二步再进行循环。
    //for (int i = 0,int sum = 0; i <= 100; i++)
    //初始化语句也可以这样写。但是不利于源代码的阅读。
    for (int i = 0; i <= 100; i++) {
        sum += i;
    }
    System.out.println("1到100的和是:"+sum);
    //结果是:1到100的和是:5050

如果想用for来进行无限循环可以用这种方法:

    for(;;){
      System.out.println("正在进行无限循环!");   
    }

while

    //求1到100的和
    int a = 1;          //定义两个初始值
    int sum = 0;        //如果符合条件就续继往下面执行,不符合条件就直接跳出循环了。
    while (a <= 100) {  //循环的开始,先判断a是否小于等于100
        sum += a;       //如果小于等于100就执行下面代码块里面的语句
        a++;            //a每一次循环自增1
    }
    System.out.println("1到100的和是:" + sum);
    //结果是:1到100的和是:5050

直到型

在执行了一次循环后,对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环。

do while
  do while 循环结构是先执行循环体,然后再判断布尔表达式,若条件为真,再执行循环体,当条件为假的时候,结束循环。所以说do while最少执行一次循环。在工作中用的非常的少。

    //求1到100的和
    int sum = 0;        //定一个变量来存储和
    int i = 1;
    do {                //先执行一次循环体
        sum += i;       //加等于
        i++;            //i自增
    }while (i <= 100);  //再进行条件判断
    System.out.println("1到100的和是:"+sum);
    //结果是:1到100的和是:5050

嵌套循环

嵌套循环就是一个循环嵌套另一个循环:
下面看一个九九乘法表:

    //九九乘法表
    for (int i = 1; i <= 9; i++) {
        //第二层循环,条件是 j <= i 是因为要从 1 * 1 开始,
        // 并且每一次都递增,每一层的表达式都和这个层数相同
        for (int j = 1; j <= i; j++) {
            System.out.print(i + "*" + j + "=" +  i * j + "\t");
        }
        System.out.println(); //第一行之后都换行
    }





细节决定成败!

个人愚见,如有不对,恳请扶正!

猜你喜欢

转载自www.cnblogs.com/xdtg/p/12337862.html