`
mw08091020
  • 浏览: 14753 次
  • 性别: Icon_minigender_1
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

关于流程控制的几个细节

阅读更多

流程控制是结构化程序设计的成果。最基本的流程控制结构有3种:顺序结构、分支结构和循环结构。

一、switch语句

1、default分支执行的条件:当default分支前面的所有分支都没有执行时,default分支才获得的执行的机会。
2、每个case分支后的代码块都应该有break;要不然所有分支都会执行。运行javac -Xlint:fallthrough 类名.java 可以检查出是否缺少break。
3、swith表达式可接收的数据类型有:byte,short,int ,char,enum。

二、循环体的花括号

1、在for、while和do...while循环中,重复执行语句只有一条,并且不是局部定义变量语句,才可以省略花括号。
2、根据Java语言规范,for循环里有且只能有2个分号作为分隔符。第一个分好之前是初始化条件,两个分号中间的部分是一个返回boolean的逻辑表达式,第二个分号是循环迭代部分,每次循环结束后会执行循环迭代部分。
3、for循环中的初始化语句和循环迭代语句可以有多条语句,但是只能用逗号作为分隔符。
4、尽量不要改变计数器的值,而且尽量不要使用浮点数做循环计数器,容易导致精度丢失。

三、foreach循环的循环计数器

从JDK5.0之后,增加了foreach循环用于遍历数组和集合的每个元素。当使用foreach循环来迭代输出数组或集合的元素时,系统将其副本传给循环计数器,也就是说foreach循环中的循环计数器并不是数组或集合元素本身。循环计数器只是一个中间变量,临时保存了正在便利的元素。虽然循环计数器可以赋值,但是不要这样做,没意义,而且容易导致错误。
public static void main(String args []){

                List<String> books = new ArrayList<String>();
		books.add("Java编程思想");
		books.add("Effective Java");
		books.add("Java Puzzlers");
		for (String book : books) {
		book = "Core Java";
		System.out.println(book);
		}
		for (String book : books) {
			System.out.println(book);
	}

}

上面代码第一次会打印三遍“Core Java”,第二次会依次打印集合里面的值,说明book的确是一个中间变量。
分享到:
评论

相关推荐

    第四章 80C51的汇编语言程序设计

    局部流程图反映程序模块的具体实施细节。 3.常用的程序结构有哪几种?特点如何? 答: 顺序程序:无分支、无循环结构的程序,其执行流程是依指令在存储器中的存放顺序进行的; 分支程序:可以改变程序的执行顺序; ...

    即时通讯 实时通信程序.rar delphi 源码

    3.通信细节全部封装在几个通用的类中,隐藏了交互通信的所有处理细节,如断包处理,超时重发等功能。 4.数据通信和数据具体应用完全分离,扩展性良好,本例中只做一个上传文件的例子,你可以在不用改动通信核心的...

    实时通信程序.rar(delphi)

    3.通信细节全部封装在几个通用的类中,隐藏了交互通信的所有处理细节,如断包处理,超时重发等功能。 4.数据通信和数据具体应用完全分离,扩展性良好,本例中只做一个上传文件的例子,你可以在不用改动通信核心的...

    Windows 程序设计(第5版)(上、下册)--详细书签版

    他在《Microsoft Systems Joumal》1986年 12月号上发表了第一篇关于 Windows程序设计的杂志论文。从 1986年到 1995年,他为《PC Magazine》撰写“Environments”专栏,给读者介绍了Windows和OS/2程序设计的许多方面...

    remoteDesktop

    程序包括了几个内置的工具协同工作,可以在同时记录所有使用的程序、用户按键、网站访问,而且它可以每小时进行上百张的屏幕截图。可以从远程计算机中实时查看监视记录,因此您可以很轻松地远程监视孩子或雇员的活动...

    windows 程序设计

    Microsoft Windows版本3.1是1992年4月发布的,其中包括的几个重要特性是TrueType字体技术(给Windows带来可缩放的轮廓字体)、多媒体(声音和音乐)、对象连结和嵌入(OLE:Object Linking and Embedding)和通用...

    Remote Desktop Spy v5.20

    一个功能强劲的计算机监视程序,它可以在家中、学校或办公室监视并记录 PC 和 Internet 活动的每一点细节,包括了几个内置的工具协同工作,可以在同时记录所有使用的程序、用户按键、网站访问,而且它可以每小时进行...

    weixin017微信小程序的学生公寓电费信息管理系统+ssm(源码+部署说明+演示视频+源码介绍+lw).rar

    功能模块:该系统提供了丰富的功能,主要包括以下几个方面: 用户管理:支持学生注册、登录、修改个人信息等操作。 电费查询:学生可以查询自己的电费余额、历史缴费记录等信息。 缴费功能:学生可以通过微信支付...

    谈程序文件的编写.pdf

    所以在编写程序文件时一定要注意可操 作性,特别是对那些比较细化的质量活动制定程序时,要 详细列出细节工作流程,详尽明确到每个环节做什么,要 做到哪种程度,需要达到什么要求,怎样进行控制等,还 要考虑到出现...

    封装良好的Socket实时通信程序

    3.通信细节全部封装在几个通用的类中,隐藏了交互通信的所有处理细节,如断包处理,超时重发等功能。 4.数据通信和数据具体应用完全分离,扩展性良好,本例中只做一个上传文件的例子,你可以在不用改动通信核心的...

    Delphi即时通信程序,类似QQ聊天.rar

    通信细节全部封装在几个通用的类中,隐藏了交互通信的所有处理细节,如断包处理,超时重发等功能。  4.数据通信和数据具体应用完全分离,扩展性良好,本例中只做一个上传文件的例子,你可以在不用改动通信核心的...

    基于ΜCOS-Ⅱ的显示控制系统开发.PDF

    文从以下几个方面粗浅地分析u-boot并移植到FS2410板上: 1、u-boot工程的总体结构 2、u-boot的流程、主要的数据结构、内存分配。 3、u-boot的重要细节,主要分析流程中各函数的功能。 4、基于FS2410板子的u-boot移植...

    实时通信程序

    通信细节全部封装在几个通用的类中,隐藏了交互通信的所有处理细节,如断包处理,超时重发等功能。 4.数据通信和数据具体应用完全分离,扩展性良好,本例中只做一个上传文件的例子,你可以在不用改动通信核心的...

    C++初学者指南(原版)

    此模块将向您介绍 C++,包括其历史、设计理念以及几个最重要的功能。此模块简要概述几个 C++ 功能,包括 C++ 程序的一般形式、一些基本控制语句和运算符。它不会介绍太多细节,而会重点介绍对所有 C++ 程序都通用的...

    S3C2410启动程序设计——2410Init.s详细分析

    S3C2410启动程序设计——2410Init.s详细分析 工程里面的头文件 2410Init.s包括了板子上电后的初始化(与vivi很相似),具体有几个步骤: 1. 屏蔽所有中断,关看门狗。 2. 根据工作频率设置PLL寄存器 3. ...

    汇编语言程序.zip

    汇编语言主要应用于以下几个方面: - **系统级编程**:操作系统内核、设备驱动、中断服务程序等底层软件开发,这些领域要求对硬件有精细控制,且性能要求高。 - **性能优化**:在高级语言编写的程序中,对性能敏感...

    宽带QQ批量自动登录器 V4.2.rar

    控制任务是否显示与关闭,主程序关闭也不用担心,可以继续打开主程序控制在线的任 务。目前支持强大的宽带自动拨号、QQ号批量快捷自动登录、程序自动登录、邮箱快捷 登录,支持密码控制,老板键控制,执行...

    词法分析程序生成器实现将正则表达式、NFA、DFA、DFA最小化词法分析程序.zip

    这个生成器通常包括以下几个步骤:正则表达式的转换、NFA(非确定性有限自动机)的构建、DFA(确定性有限自动机)的构建、DFA的最小化,以及最终生成词法分析程序。以下是一个基于这个概念的项目介绍。 ### 项目介绍...

    网上书店系统(论文+jsp源程序)130220.rar

    该资料包主要包括以下几个部分:系统设计与实现论文:这篇论文详细介绍了网上书店系统的需求分析、系统设计、功能模块划分以及关键技术的实现。通过阅读这篇论文,学生可以了解到如何从零开始构建一个网上书店系统,...

Global site tag (gtag.js) - Google Analytics