zoukankan      html  css  js  c++  java
  • Java 语言基础之语句

    程序的四种流程控制结构:

    1. 顺序结构
    2. 判断结构 : if 语句
    3. 选择结构 : switch 语句
    4. 循环结构 : while 语句, do...while 语句, for 语句

    以下主要分析循环结构:

    • while 格式
    while(条件表达式)
    {
        执行语句;
    }
    
    • do...while 格式
    do
    {
        执行语句;
    }while(条件表达式);
    

    特点: 无论条件是否满足, 循环体至少执行一次.

    • for 格式
    for(初始化表达式; 循环条件表达式; 循环后的操作表达式)
    {
        执行语句;
    }
    

    for 和 while 的区别:

    1. for 和 while 可以互换;
      2, 如果需要通过变量来对循环进行控制, 该变量只作为循环增量存在时, 区别就体现出来了.例如:

    需求: 打印 1 ~ 10 十个数字
    int x = 1;
    while(x < 11)
    {
    System.out.println("x="+x);
    }

    for(int y = 1; y<11; y++)
    {
    System.out.println("y="+y);
    }

    备注:

    • for 循环一结束, y 在内存中就释放了.
    • 局部代码块: 可以决定局部变量的生命周期.

    for 嵌套结构 (大圈套小圈思想)

    嵌套循环, 外循环控制的是行数, 内循环控制的是列数.

    练习一: 打印 5 * 5 雪花图形
    *****
    *****
    *****
    *****
    *****
    
    for(int x=0; x<5; x++)
    {
        // 可以先写内循环,确定一行的输出,
        // 然后在写外循环,确定输出多少行
        for(int y=0; y<5; y++)
        {
            System.out.print("*");
        }
        System.out.println();//打印完一行后,换行
    }
    
    
    练习二: 打印倒三角雪花(尖朝下)
    *****
    ****
    ***
    **
    *
    
    int z = 5;
    for(int x=1; x<=5; x++)
    {
        // 列数随着行数的增加而递减,
        // 递减可以有两种方式解决: 头不变, 尾变: 1-5, 1-4, 1-3...
        // 头变, 尾不变: 1-5, 2-5, 3-5...
        for (int y=1; y<=z; y++)
        {
            System.out.print("*");
        }
        System.out.println();
        z--;
    }
    
    int z = 1;
    for(int x=1; x<=5; x++)
    {
        // 列数随着行数的增加而递减,
        // 头变, 尾不变: 1-5, 2-5, 3-5...
        for (int y=z; y<=5; y++)
        {
            System.out.print("*");
        }
        System.out.println();
        z++;
    }
    
    又发现 z 递增, x 也在递增. 故最终代码:
    for(int x=1; x<=5; x++)
    {
        // 列数随着行数的增加而递减,
        for (int y=x; y<=5; y++)
        {
            System.out.print("*");
        }
        System.out.println();
    }
    
    
    
    练习三: 打印倒三角雪花(尖朝上)
    *
    **
    ***
    ****
    *****
    
    for(int x = 1; x<=5; x++)
    {
        for(int y = 1; y<=x; y++ )
        {
            System.out.print("*");
        }
        System.out.println();
    }
    
    
    
    练习四: 打印九九乘法表
    
    for(int x=1; x<=9; x++)
    {
        for(int y=1; y<=x; y++)
        {
            System.out.print(y+"*"+x+"="+y*x+"	");
            // 	 为制表符,保证格式优良
        }
        System.out.println();
    }
    
    
    
    练习五: 打印特殊三角形
    * * * * *
     * * * *
      * * *
       * *
        *
    
    分析: 该图形由 "*" 和空格组成
    由两个三角形组成: 尖朝上的三角形和尖朝下的星空格
    
    // 一共 5 行
    for(int x=1; x<=5; x++)
    {
        // 打印尖朝上的三角形,第一行不打印
        for(int y=1; y<x; y++)
        {
            System.out.print(" ");
        }
        // 打印尖朝下的星空格
        for(int z=x; z<=5; z++)
        {
            System.out.print("* ");
        }
        System.out.println();
    
    }
    

    其他流程控制语句

    • break 应用范围: 选择结构(switch) 和循环结构
    • continue 应用范围: 循环结构. 代表结束本次循环, 继续下次循环.

    参考资料:
    JavaSE 基础视频(毕向东)

  • 相关阅读:
    42. Trapping Rain Water
    223. Rectangle Area
    645. Set Mismatch
    541. Reverse String II
    675. Cut Off Trees for Golf Event
    安装 VsCode 插件安装以及配置
    向上取整 向下取整 四舍五入 产生100以内随机数
    JS 判断是否为数字 数字型特殊值
    移动端初始配置,兼容不同浏览器的渲染内核
    Flex移动布局中单行和双行布局的区别以及使用
  • 原文地址:https://www.cnblogs.com/linkworld/p/7420224.html
Copyright © 2011-2022 走看看