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绑定到新建的对象上,可以使用"="制定 ...
随机推荐
- Laravel大型项目系列教程(一)
Laravel大型项目系列教程(一) 一.课程概述 1.课程介绍 本教程将使用Laravel完成一个多用户的博客系统,大概会包含如下内容: 路由管理. 用户管理,如用户注册.修改信息.锁定用户等. 文 ...
- UINavigationBar 和view 重叠覆盖问题
如果没有是storyboard进行界面设计,在ios7之后会遇到rootviewcontroller的view被navigationbar遮盖的问题,其实很好解决 - (void)viewDidLoa ...
- oracle容器化docker解决方案
Docker提供了轻量级的虚拟化,它几乎没有任何额外开销. 提供了一个从开发到上线均一致的环境. 开发效率:一是我们想让开发环境尽量贴近生产环境 二是我们想快速搭建开发环境 基于docker研发小 ...
- 关于WCF报错之调用方未由服务器进行身份验证
在我们部署好WCF服务以后,调用WCF服务会出现”调用方未由服务器进行身份验证”的错误.这个错误是怎么造成的呢? 通常我们在创建WCF后,用本机调试,一切正常,没有任何问题.其实用本机测试的时候,服务 ...
- C#语言学习记录
1.&& || ! 与或非-逻辑运算符,&&的优先级大于||.
- python-基本数据类型
/int整数/ 如: 18.73.84 每一个整数都具备如下功能: class int(object): """ int(x=0) -> int or long i ...
- Tensorflow 官方版教程中文版
2015年11月9日,Google发布人工智能系统TensorFlow并宣布开源,同日,极客学院组织在线TensorFlow中文文档翻译.一个月后,30章文档全部翻译校对完成,上线并提供电子书下载,该 ...
- ANSI Common Lisp Practice - My Answers - Chatper - 3
Ok, Go ahead. 1 (a) (b) (c) (d) 2 注:union 在 Common Lisp 中的作用就是求两个集合的并集.但是这有一个前提,即给的两个列表已经满足集合的属性了.具体 ...
- ORACLE 利用 REPLACE函数替换字段字符串
REPLACE(string,s1,s2) string 希望被替换的字符或变量 s1 被替换的字符串 s2 要替换的字符串 SQL> select replace(he love you,he ...
- lombok在IntelliJ IDEA下的使用
lombok是一款可以精减java代码.提升开发人员生产效率的辅助工具,利用注解在编译期自动生成setter/getter/toString()/constructor之类的代码.代码越少,意味着出b ...