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

  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+"\t");
// \t 为制表符,保证格式优良
}
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 基础视频(毕向东)

Java 语言基础之语句的更多相关文章

  1. day03<Java语言基础+>

    Java语言基础(逻辑运算符的基本用法) Java语言基础(逻辑运算符&&和&的区别) Java语言基础(位运算符的基本用法1) Java语言基础(位异或运算符的特点及面试题) ...

  2. Java学习总结(二)----Java语言基础

    1.     Java语言基础 2.1 关键字 定义:被java语言赋予特殊含义的单词 特点:关键字中的字母都为小写 用于定义数据类型的关键字 class,interface,byte,short,i ...

  3. Java之--Java语言基础组成—数组

    Java语言基础组成-数组 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的数组,数组 ...

  4. Java之--Java语言基础组成—函数

    Java语言基础组成-函数 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的函数,函数 ...

  5. Java之--Java语言基础组成(关键字、标识符、注释、常量和变量、运算符)

    Java语言基础组成-关键字.标识符.注释.常量和变量.运算符 Java语言由8个模块构成,分别为:1.关键字:2.标识符(包名.类名.接口名.常量名.变量名等):3.注释:4.常量和变量:5.运算符 ...

  6. Java语言基础(九)

    Java语言基础(九) 一.自增运算(++) 自减运算(--) i++ 就是将i+1再赋给 i i-- 是将i-1再赋给 i 对变量i,j来说,i++ 或++i 这里没什么区别,都是将i的值加1后,再 ...

  7. Java语言基础(一)

    Java语言基础(一) 在这里说明一下,有基础的跳过 高手跳过.在这里我想复习以前的东西,以及给正在学java的一些帮助 我用的MyEclipse8.5编写java代码,有需要联系我  QQ:9035 ...

  8. 第二十六节:复习Java语言基础-Java的概述,匿名对象,封装,构造函数

    Java基础 Java语言概述 Java语言 语言 描述 javaee 企业版 javase 标准版 javame 小型版 JDK JDK(Java开发工具包) Java语言 语言 Java语言 Ja ...

  9. 第二十五节:Java语言基础-面向对象基础

    面向对象 面向过程的代表主要是C语言,面向对象是相对面向过程而言,Java是面向对象的编程语言,面向过程是通过函数体现,面向过程主要是功能行为. 而对于面向对象而言,将功能封装到对象,所以面向对象是基 ...

随机推荐

  1. Atitit.http连接合并组件   ConnReducerV3 新特性

    Atitit.http连接合并组件   ConnReducerV3 新特性 D:\0workspace\AtiPlatf_cms\src\com\attilax\util\ConnReducerV2. ...

  2. Atitti. 语法树AST、后缀表达式、DAG、三地址代码

    Atitti. 语法树AST.后缀表达式.DAG.三地址代码 抽象语法树的观点认为任何复杂的语句嵌套情况都可以借助于树的形式加以描述.确实,不得不承认应用抽象语法树可以使语句翻译变得相对容易,它很好地 ...

  3. Python 常用内建模块(os, sys,random)

    一.os 模块 1,操作系统与环境变量 import osprint(os.name) #操作系统类型,如果是posix 说明系统是linux unix 或 mac os x :如果是nt 就是win ...

  4. .htaccess中的apache rewrite规则写法详解

    .htaccess中的apache rewrite写法: 1 RewriteEngine On 2 RewriteCond %{HTTP_HOST} ^(www\.)?xxx\.com$ 3 Rewr ...

  5. 如何用手机访问电脑上的html文件

    如何用手机访问电脑上的html文件 梦唪 | 浏览 3876 次 推荐于2016-03-26 08:08:58   最佳答案   1,你得搭建服务器,用Apache或者IIS.2,把HTML文件放到服 ...

  6. MapReduce机制

    1. MapReduce是一种分布式计算模型,由Google提出,主要用于搜索领域,解决海量数据的计算问题.2. MR由两个阶段组成:Map和Reduce,用户只需要实现map()和reduce()两 ...

  7. PHP输出javascript,alert中文乱码解决办法

    echo '<html><head><meta http-equiv="Content-Type" content="text/html; ...

  8. [转]移动互联网应用技术架构简介-Restful服务

    Restful是基于网络的软件系统架构风格.其优先考虑分布性和扩展性,而不是安全.错误处理.对象映射. 所以Restful架构特别适用的场合为用户快速增长的互联网和移动互联网领域,看起来很容易理解,以 ...

  9. HP proliant服务器从usb启动

    1,开机出现自检画面开始按F9进入设置,进入BIOS 选择standard boot order(rpl),把usb driver放在第一位,保存好 2,按F1开始启动. (注:我使用ubuntu14 ...

  10. 学习笔记:Vue+Node+Mongodb 构建简单商城系统(二)

    前面几个月工作有点忙,导致构建简单商城系统的计划搁置近三个月.现在终于有时间重新回过头来继续本计划.本篇主要记录自己在阿里云服务器上搭建node运行环境的整个过程,以及对其中遇到的一些问题的思考. 一 ...