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绑定到新建的对象上,可以使用"="制定 ...
随机推荐
- Android 开源库和项目 2
1.带尾巴的RecyclerViewPager 特点:1.像viewPager一样滑动一次就滑动一页 2.像画廊gallery一样,滑动一次可以滑动很多页 3.竖向滑动 4.支持点击事件,没有错乱 ...
- java中使用mongodb的几种方式
最近有时间看了一下mongodb,因为mongodb更容易扩展所以考虑使用mongodb来保存数据. 首先下载安装mongodb,这是很简单的,装好后使用mongod命令就可以启动数据库.正式部署的话 ...
- rsync同步架构
1.1 rsync服务器端配置 1.1.1 查看服务器端rsync版本 1.1.2 创建配置文件 默认安装好rsync程序后,并不会自动创建rsync的主配置文件,需要手工来创建,其主配置文件为“/e ...
- HAProxy介绍
简单说明 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.HAProxy特别适用于那些负载特大的web站点,这些站点通常又需 ...
- 【Linux命令】文件和目录操作命令
本文主要用于常用命令的备忘,具体用法可用man查看,或查询其他资料. cd:改变工作目录 ls:列出目录的内容 mkdir:创建一个目录 cat:连接并显示指定的一个和多个文件的有关信息 cp:将给出 ...
- AD域撤销域用户管理员权限方案
一.简介 公司大部分主机加入域已有一段时间了,由于某软件没管理员权限不能执行,所以管理员权限一直没撤销,不能完全实现域的管理效果.但起码实现了域用户脱离不了域的控制:http://www.cnblog ...
- 域普通用户执行金蝶K/3权限不够解决方法
一.问题 公司财务部的机器加入域后,用户一直授予本地管理员的权限,主管坚持要撤销管理员权限,而金蝶K3没管理员权限又无法执行. 报错信息为“注册表许可权不够,请参考安装目录的帮助档案进行许可权的配置. ...
- 【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- [LeetCode] Maximum Product Subarray 求最大子数组乘积
Find the contiguous subarray within an array (containing at least one number) which has the largest ...
- .NET高性能框架Chloe.ORM-完美支持MySql
扯淡 这是一款轻量.高效的.NET C#数据库访问框架(ORM).查询接口借鉴 Linq(但不支持 Linq).借助 lambda 表达式,可以完全用面向对象的方式就能轻松执行多表连接查询.分组查询. ...