欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java学习 java -,

来源: javaer 分享于  点击 1691 次 点评:249

java学习 java -,


流程控制 — 循环结构
循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构 。循环结构可以看成是一个条件判断语句和一个向回转向语句的组合。
在java语言中循环语句有三个

1、while循环
1
while(循环判断条件){
2
循环体
}
循环的规则:
当判断条件成立时 执行循环体
当判断条件不成立时 结束循环
当循环条件恒成立时 会出现死循环
可以给死循环 写一个出口 来结束循环

执行顺序: 1– >2– >1– >2– >判断条件不成立 停止循环

例题:打印十遍 上班

    int number = 0;
    while(number < 10) {
        System.out.println("上班");
        number++;
    }

在例题中 首先要定义一个变量 作为 循环判断条件的变量(在变量没有被赋值时 是不可以使用的)。这个变量number 也叫做循环增量
注意:初始化循环增量 只走一次️
步骤: 1.初始化循环增量
2.寻找循环的判断条件
3.写循环体
用一道题来检测下:将1-10的数字相加 打印结果

    int aa = 1;
    int bb = 0;
    while(aa < 11) {
        bb += aa;  //相当于  bb = bb + aa;
        aa++;
    }   

这道题的思想就是 先将aa + bb的结果保存在bb中 依次循环 一直加到10 结束循环

2、do-while循环
do{
1
循环体(循环内容)
2
}while(循环判断条件)

循环的规则:
先执行一次循环体(无论条件成立与否 都会执行一次循环体)再去判断循环条件
如果成立 就之心循环体 反之 不成立 结束循环
执行顺序:
1– >2– >1……

例题1.将1-10的数字相加 打印结果

    int sum = 0;
    int aa = 1;
    do {
        sum += aa;
        aa++;

    } while (aa < 11);
    System.out.println(sum);

例题2.从周一开始打印 并询问明天上班不 输入上班继续打印 反之 停止程序

    int number = 1;
    Scanner scanner = new Scanner(System.in);
    String work = "";
    do {
        System.out.println("星期" + number);
        System.out.println("你明天上班不?输入上班或者不上班");
        work = scanner.nextLine();
        number++;

    } while (work.equals("上班") && number < 8);

与while相同 在每次使用循环时 首先要定义一个变量 作为 循环增量

3、for循环

循环的第三种形式(重点)
for(表达式1;判断条件;表达式2){
循环体
}
1 2 3
for(int i = 0; i < 10; i++){
4
System.out.println(“睡觉”);
}

执行顺序:
1–> 2–> 4–> 3–> 2–> 4–> 3

例题:将1-10的数字相加 打印结果

    int sum = 0;
    for(int i = 1; i <= 10; i++) {
        sum += i;

    }
    System.out.println(sum);

也就是说 可以用while来做的 也可以用for,可以用for来做的 也可以用do-while。在三个循环语句是可以互相转换的

那for是三个循环语句中最重要的语句 也是 最常使用的 所以 我们着重的说一下for其中的难点——for语句的嵌套
for语句的嵌套如下

        for (int i = 0; i < args.length; i++) {
            for (int j = 0; j < args.length; j++) {

            }
        }

像这样的两个(也可以是多个)for语句套在一起就是for语句的嵌套

做一些习题有助于理解和逻辑思维的思考

例题1.打印出下列图形

                ****
                ****
                ****
                ****
        1   2      3
    for(int i = 0; i < 4; i++) {
               4         5     6
        for(int k = 0; k < 4; k++) {
                          7
            System.out.print("*");
        }
                8
        System.out.println();
    }

在这里 我们说一下 嵌套后的循环顺序:
1. 1–>2–>
2. 4–>5–>7–>6–>5–>7–>6–>5(不成立时结束内循环)
3. –>8–>3–>2
2. –>4–>5–>7……..

例题2.尖向下的 三角形

                    *****
                    ****
                    ***
                    **
                    *
    int a = 5;
    for (int i = 0; i < 5; i++) {
        for (int j = i; j < 5; j++) {
            System.out.print("*");

        }
        System.out.println();
    }

改变 内循环的 循环增量的初始值

例题3.尖向上的 三角形

                *
                **
                ***
                ****
                *****
    for (int i = 0; i < 5; i++) {
        for (int j = 0; j <= i ; j++) {
            System.out.print("*");
        }
        System.out.println();
    }

改变 内循环 判断条件的值

例题4.打印以下图形
1
12
123
1234
12345

    for (int i = 1; i < 6; i++) {
        for (int j = 1; j <= i ; j++) {

            System.out.print(j);
        }
        System.out.println();
    }

相当于打印每次内循环次数的数值

例题5.九九乘法表

    int x;
    for (int i = 1; i < 10; i++) {
        for (int j = 1; j <= i; j++) {
            x = j * i;
            System.out.print(j + "*" + i + "=" + x + "\t");

        }
        System.out.println();
    }

相当于打印外循环和内循环次数数值的乘积

例题6. 打印以下图形

           *
          * *
         * * *
        * * * *
       * * * * *

    for (int i = 0; i < 5; i++) {
        for (int j = i; j < 5; j++) {
            System.out.print(" ");
        }
        //拼接后半部分的图形
        for (int z = 0; z <= i; z++) {
            System.out.print(" *");

        }
        System.out.println();
    }

这个体可以将这个图形转换成例题2和3的结合体 再在*的前面加上空格就可以了

总结 while do-while for 的异同点
在学完这三个循环后,应明确它们的异同点:用while和do…while循环时,循环变量的初始化的操作应在循环体之前,而for循环一般在表达式1中进行的;while 循环和for循环都是先判断表达式,后执行循环体;而do…while循环是先执行循环体后判断表达式,也就是说do…while的循环体最少被执行一次,而while 循环和for就可能一次都不执行。另外还要注意的是这三种循环都可以用break语句跳出循环。
顺序结构、分支结构和循环结构并不彼此孤立的,在循环中可以有分支、顺序结构,分支中也可以有循环、顺序结构,其实不管哪种结构,我们均可广义的把它们看成一个语句。在实际编程过程中常将这三种结构相互结合以实现各种算法,设计出相应程序。

相关文章

    暂无相关文章
相关栏目:

用户点评