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

  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. 使用thrift进行跨语言调用(php c# java)

    使用thrift进行跨语言调用(php c# java)   1:前言 实际上本文说的是跨进程的异构语言调用,举个简单的例子就是利用PHP写的代码去调C#或是java写的服务端.其实除了本文提供的办法 ...

  2. MySQL分组查询获取每个学生前n条分数记录(分组查询前n条记录)

    CREATE TABLE `t_test` ( `id` ) NOT NULL AUTO_INCREMENT, `stuid` ) NOT NULL, `score` ) DEFAULT NULL, ...

  3. 【Objective-C】01-Objective-C概述

    前言 目前来说,Objective-C(简称OC)是iOS开发的核心语言,在开发过程中也会配合着使用C语言.C++,OC主要负责UI界面,C语言.C++可用于图形处理.近来,流传Ruby.C#也可以开 ...

  4. Oracle之配置客户端登陆多个远程数据库

    一.引言 一直搞不明白Oracle数据库的客户端是怎么回事,怎么配置,前几天由于工作中需要用到Oracle,而且需要连接两个不同的数据库,就通过上网和请教同事终于把客户端的配置搞定了,记录之,学习之 ...

  5. [转]C++11 标准新特性:Defaulted 和 Deleted 函数

    http://www.ibm.com/developerworks/cn/aix/library/1212_lufang_c11new/

  6. js----Navigator对象,查看浏览器信息,Screen对象,查看屏幕信息

    Navigator对象 Navigator 对象包含有关浏览器的信息,通常用于检测浏览器与操作系统的版本. 对象属性: 查看浏览器的名称和版本,代码如下: <script type=" ...

  7. PHP学习笔记(16)AJAX无刷新技术--深入理解

    Ajax里的onreadystatechange的作用是什么 发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态,XMLHttpRequest对象提供了onrea ...

  8. linux学习笔记34--命令rcp和scp

    rcp代表“remote file copy”(远程文件拷贝).该命令用于在计算机之间拷贝文件.rcp命令有两种格式.第一种格式用于文件到文件的拷贝:第二种格式用于把文件或目录拷贝到另一个目录中. 1 ...

  9. 内核补丁 patch

    https://www.kernel.org/diff/diffview.cgi?file=/pub/linux/kernel/v3.x/patch-3.18.12.xz

  10. linux 下启动SVN服务

    先转到SVN的安装目录,比如,你安装在/home/svn 下面. 然后转到bin目录下,在这里可以看见一个叫svnserve的文件,我们需要用这个来启动SVN服务. 试一下svnserve --hel ...