使用标志位控制循环

前面提到了控制循环的常用技术:计数器控制的循环.另一种控制循环的常用技术是在读取和处理一个集合的值时指派一个特殊值.这个特殊的输入值也成为标志值(sentinel value),用以表明循环的结束.如果一个循环使用标志值来控制它的执行,他就称为标志位控制的循环(sentinel-controlled loop).

在循环控制中,不要使用浮点值来比较值是否相等.因为浮点值都是某些值的近似值,使用它们可能导致不精确的循环次数和不准确的结果.

输入和输出重定向

输入重定向指从文件读取输入,而不是从键盘.

输出重定向指将输出发送给文件,而不是屏幕.

SentineValue类代码在文末,在F:\workspace\Welcome\bin目录下新建input.txt文件,内容如下:

packagewelcome;importjava.util.Scanner;/** 用来读取和计算个数不确定的整数之和,输入0则表示输入结束*/

public classSentinelValue {public static voidmain(String[] args) {

Scanner in= newScanner(System.in);

System.out.print("输入一个整数,若输入0将退出: ");int data =in.nextInt();int sum = 0;while (data != 0) {

sum= sum +data;

System.out.print("输入一个整数,若输入0将退出:");

data=in.nextInt();

}

System.out.println("The sum is " +sum);

}

}

java中什么是标志位_Java学习笔记14---使用标志位控制循环相关推荐

  1. java中集合的模型特点_Java 学习笔记(十四)集合

    集合 在开发的时候,如果需要存储多个数据,可以使用数组,不过数据是固定长度的,如果需要存储可变长度的多个数据,可以使用集合.集合提供存储空间可变的存储类型,存储的容量可以实时改变 集合分类 Colle ...

  2. Java中如何创建自定义的注解学习笔记(MD版)

    概要 Java中如何创建自定义的注解学习笔记(MD版). 博客 博客地址:IT老兵驿站. 前言 记得这篇笔记还是在泉州的龙玲酒店记录的,是一个周六的晚上,坐飞机从上海到泉州,从笔记中能勾起一些旅游的回 ...

  3. java怎么给类中的私有变量赋值_Java学习笔记分享 如何理解接口抽象类和关键字...

    不知不觉中,千锋重庆学习Java已经半个月了,同学们感觉受益匪浅.有一个同学本来是软件编程专业基础却是意外的差,什么标识符.变量的命名规则.方法的定义.数组.面向对象的封装.继承.多态,还有接口.抽象 ...

  4. java中的枚举类与注解学习笔记

    java中的枚举和注解 01.枚举类的使用 1.1.枚举类的理解 1.2.自定义枚举类 1.3.使用enum关键字定义枚举类 1.4.Enum类中的常用方法 1.5.使用enum关键字定义的枚举类实现 ...

  5. java毫秒值转换成日期_Java学习笔记day08

    Object类 java.lang.Object 类Object是类层次结构的根类 每个类都使用Object作为 超(父)类 所有对象(包括数组)都实现这个类的方法 Object类的toString方 ...

  6. java applet类开始博饼_java学习笔记---第一个applet程序以及一个小问题的解决

    继续学习! 在D:\majava\文件夹下建立了一个helloworld_app.java,写入以下内容: import java.awt.*; import java.applet.*; publi ...

  7. java 遍历阿斯克吗_java学习笔记

    Java复习所得到的知识 1:数组的新的排序方法 import java.util.*; public class pasixu { public static void main(String[] ...

  8. java小项目租车系统_Java学习笔记三十:Java小项目之租车系统

    Java小项目之租车系统 一:项目背景介绍: 根据所学知识,编写一个控制台版的"呱呱租车系统" 功能: 1.展示所有可租车辆: 2.选择车型.租车量: 3.展示租车清单,包含:总金 ...

  9. java网格式布局登录界面_Java学习笔记------自己书写的登录界面实例

    package com.package_view; import  com.package_model.*; import javax.swing.*; import java.awt.*; impo ...

最新文章

  1. Python的串口操作库pyserial
  2. JavaWeb基础—JSP
  3. 从零开始学python电子书-从零开始学Python程序设计 PDF 完整影印版
  4. CCNA-EiGrp学习
  5. 通过一段代码说明C#中rel与out的使用区别
  6. Linux学习之系统编程篇:IPC 和管道的基本概念及管道的创建
  7. 覃超-算法训练营 学习方法分享[1] 如何精通一个领域
  8. 可接受任意数量参数的函数
  9. I Hate It HDU - 1754 (线段树)
  10. SAP CDS view如何取得当前系统日期和系统时间戳
  11. python串口通讯数据过长_Python 串口通讯
  12. android自定义控件(6)-详解在onMeasure()方法中如何测量一个控件尺寸
  13. OpenSips使用说明
  14. Java快递物流运输管理系统源码
  15. 爬取https://sc.chinaz.com/tupian/的图片
  16. SyntaxError: Non-ASCII character ‘\xe7‘ in file F:/python_code/test/venv/Shan.py on line 7,
  17. 华为路由交换课程笔记10-GARP和GVRP
  18. tiup cluster restart
  19. 8种开源的ETL工具
  20. 路径和(cdq分治)

热门文章

  1. 如风达——凡客吃不下的“最后一公里”
  2. 电子防抖(EIS)无效的相关修改
  3. 使用风讯CMS系统的痛苦经历 - 真实体验
  4. 大数据职业规划的N种正确姿势
  5. 前方高能提示:SDCC 2017之区块链技术实战线上峰会开播倒计时
  6. python实现PCA降维及可视化
  7. LoRaWAN介绍 - LoRa从业者读这篇就够了
  8. 数据库编程与设计—SQL语言
  9. CUMT平台的部分题解
  10. w10系统利用anaconda安装tensorfloe