Java学习笔记--循环总结
关键字break和continue
除了在switch语句中使用break,还可以在一个循环中使用break立即终止该循环.
循环语句有三类: while循环, do-while循环和for循环.
循环中需要重复执行的语句所构成的整体称为循环体.
循环体执行一次称为循环的一次迭代.
无限循环是指循环语句被无限次执行.
在设计循环时,既考虑循环控制结构体,还需要考虑循环体.
while循环首先检查循环继续条件.如果条件为true,则执行循环体;如果条件为false,则循环体结束.
do-while循环与while循环类似,只是do-while循环先执行循环体,然后在检查循环继续条件,以确定是继续还是终止.
由于while循环和do-while循环都包含循环继续条件,这个条件是和循环体相关的,重复的次数就是由循环体决定的.因此,while循环和do-while循环常用语循环次数不确定的情况.
标志值是一个特殊的值,用来标志循环的结束.
for循环一般用在循环体执行次数预知的情况,这个次数不是有循环体确定的.
for循环由三部分组成.第一部分是初始操作,通常用于初始化控制变量.第二部分是循环继续条件,决定是否执行循环体.第三部分是每次迭代后执行的操作,经常用于调整控制变量.通常,在控制结构中初始化和修改循环控制变量.
while循环和for循环都称为前测试循环(pretest loop),因为在循环体执行之前,要检测一下循环继续条件.
do-while循环称为后测试循环(posttest loop),因为在循环体执行之后,要检测一下这个条件.
在循环中可以使用关键字break和continue.
关键字break立即终止包含break的最内层循环.
关键字continue只是终止当前迭代.
package welcome;
/*
* 使用嵌套for循环打印一个乘法表
*/
public class MultiplicationTable {
public static void main(String[] args) {
System.out.println(" Multiplication Table"); // 显示标题 System.out.print(" ");
for(int j = 1; j < 10; j++){
System.out.print(" " + j); // 显示从1到9的数字
} System.out.println("\n----------------------------------------"); // 显示横线 for(int i = 1; i < 10; i++){
System.out.print(i + " | ");
for(int j = 1; j < 10; j++){
System.out.printf("%4d", i * j); // 在内层循环中,随着每个i,j取遍1,2,3,..,9,内层循环在每一行显示乘积i*j的值
}
System.out.println();
}
}
}
package welcome;
public class TestSum {
public static void main(String[] args) {
double sum = 0;
int count = 0;
for(double i = 0.01; i <= 1.0; i = i + 0.01){
sum += i;
count++;
System.out.println(count + " " +i);
}
System.out.println("The sum is " + sum);
sum = 0;
double currentValue = 0.01;
for(int i = 0; i < 100; i++){
sum += currentValue;
currentValue += 0.01;
}
System.out.println(sum);
}
}
package welcome;
public class TestBreak {
public static void main(String[] args) {
int sum = 0;
int number = 0;
while(number < 20){
// number++;
sum += ++number;
// number++;
if(sum > 100){
break;
}
}
System.out.println("The number is " + number);
System.out.println("The sum is " + sum);
}
}
package welcome;
public class TestContinue {
public static void main(String[] args) {
int sum = 0;
int number = 0;
while(number < 20){
number++;
if(number == 10 || number == 11)
continue; // 当number为10或11时,就会执行continue语句,continue结束了当前迭代,就不再执行循环体中的其他语句.
sum += number; // 将1到20中除去10和11之外的整数都加到sum中
}
System.err.println("The sum is " + sum);
}
}
Java学习笔记--循环总结的更多相关文章
- 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁
什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...
- 0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用
垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制 ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- Java学习笔记4
Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...
- java学习笔记15--多线程编程基础2
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note15.html,转载请注明源地址. 线程的生命周期 1.线程的生命周期 线程从产生到消亡 ...
- java学习笔记13--反射机制与动态代理
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note13.html,转载请注明源地址. Java的反射机制 在Java运行时环境中,对于任意 ...
- java学习笔记8--接口总结
接着前面的学习: java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--对象的初始化与回收 java学习笔记3- ...
- java学习笔记5--类的方法
接着前面的学习: java学习笔记4--类与对象的基本概念(2) java学习笔记3--类与对象的基本概念(1) java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址 ...
- 20145316许心远《Java学习笔记》第三周总结
20145316许心远<Java程序设计>第3周学习总结 教材学习内容总结 一.定义类: 类定义时使用class关键字 如果要将x绑定到新建的对象上,可以使用"="制定 ...
随机推荐
- 初识java之String与StringBuffer(上)
好久没写博客了,一直在纠结后面的路怎么发展?好了不说废话了!!正题开始!! String与StringBuffer类是我们在开发中最常用的,我们现在一起来分析一下这两个类,首先我们先来谈谈String ...
- SOA服务类项目开发模式
开发模式 以需求用例为基,Cas e&Coding两条线并行,服务(M)&消费(VC)分离,单元.接口.功能.集成四层质量管理,自动化集成.测试.交付全程支持. 3个大阶段(需求分析阶 ...
- CSS3:text-overflow实现文字截取,超出部分显示省略号
1. 概述 使用text-overflow:ellipsis对溢出文本显示省略号有两个好处, 一是不用通过后端程序截取: 二是有利于SEO. 2. text-overflow的属性 clip: 当对象 ...
- MySQL解压版配置步骤
mysql-5.7.14-winx64\bin配置到Path中 在解压路径下复制my-default.ini,修改名称为my.ini 在my.ini添加如下 [mysqld] basedir=C:\\ ...
- 开源监控软件ganglia安装手册
Ganglia是一个监控服务器,集群的开源软件,能够用曲线图表现最近一个小时,最近一天,最近一周,最近一月,最近一年的服务器或者集群的cpu负载,内存,网络,硬盘等指标. Ganglia的强大在于:g ...
- Windows Server 2012 虚拟化实战:SCVMM的安装和部署
本篇大概介绍一下在Windows Server 2012 R2上安装和部署SCVMM的过程及其注意事项.下图是我们数据中心SCVMM的基本架构,其中 SCVMM Database 是用于存储了所有配置 ...
- Docker中部署Kubernetes
Kubernetes为Google开源的容器管理框架,提供了Docker容器的夸主机.集群管理.容器部署.高可用.弹性伸缩等一系列功能:Kubernetes的设计目标包括使容器集群任意时刻都处于用户期 ...
- PL/SQL配置Oracle数据库路径
打开PL/SQL-Tools->Preferences-Orcacle->Connecttion 找到配置路径,打开-product\instantclient_11_2\NETWORK\ ...
- 项目游戏开发日记 No.0x000006(Finish)
项目开发的最后一周! 突然一下就把游戏收尾了, 就像一个嘎然而止的乐章, 留下的, 是无尽的回味. 余音绕梁的夜晚, 也还想着, 拼命码代码的日子, 和还留在嘴里回味的烈酒的浓香. ————————— ...
- ArrayList<E>源码分析
ArrayList是按照线性表结构实现的 ArrayList的主要继承结构 public class ArrayList<E> extends AbstractList<E> ...