循环

打印一个字符串(例如: "Welcome to Java!") 100次,就需要吧下面的输出语句重复写100遍,这是相当繁琐的:

System.out.println("Welcome to Java!");

循环用来控制语句块重复执行的次数

int count = 0;
while(coun < 100){
  System.out.println("Welcome to Java!");
  count++;
}

Java提供了三种类型的循环语句: while循环, do-while循环, for循环
while循环的语法:
while(循环继续条件){
  //循环体
  语句(组);
}

当循环继续条件为true时,while循环重复执行循环体重的语句.

猜数字游戏
随机产生0到100之间且包含0和100的整数,程序提示用户连续输入一个数字,直到它和计算机产生的随机数相匹配为止.对用户每次输入的数字,程序都要告诉用户该输入值是太大了,还是太小了,这样用户可以明智地进行下一轮的猜测.

编码前的思考:
首先做什么?
 首先要产生0到100之间且包含0和100的随机数
然后做什么?
 然后提示用户输入一个猜测数
最后做什么?
 最后将这个猜测数和随机数进行比较

对涉及到编写循环的程序而言,如果不知道如何立即编写循环,可以编写循环只执行一次的代码,然后规划如何在循环中重复执行这些代码.

循环设计策略:
第一步: 确定需要重复的语句
第二步: 将这些语句放在一个循环中,如下所示:
while(true){
语句组;
}

第三步: 为循环继续条件编码,并为控制循环添加适合的语句
while(循环继续条件){
语句组;
用于控制循环的附加语句;
}

package welcome;

public class LoopDemo {
public static void main(String[] args) { // 打印"Welcome to Java!"字符串100次
int count = 0;
while(count < 100){
System.out.println("Welcome to Java!");
count++;
} // 计算1+2+3+4+5+6+7+8=9
int sum = 0, i = 1;
while(i < 10){
sum = sum + i;
i++;
} System.out.println("sum is " + sum);
}
}
package welcome;

import java.util.Scanner;

public class GuessNumberOneTime {
public static void main(String[] args) {
// 产生一个随机数
int number = (int)(Math.random() * 101); // 创建一个Scanner对象
Scanner in = new Scanner(System.in);
System.out.println("Guess magic number between 0 and 100"); int guess = -1;
while(guess != number){
// 提示用户输入猜测数
System.out.print("Enter your guess: ");
guess = in.nextInt(); // 比较随机数和猜测数
if(guess == number){
System.out.println("Yes, the number is " + number);
}else if(guess > number){
System.out.println("Your guess is too high");
}else{
System.out.println("Your guess is too low");
}
}
}
}

Java学习笔记12的更多相关文章

  1. java学习笔记(12) —— Struts2 通过 xml /json 实现简单的业务处理

    XML 1.引入dom4j-2.0.0.jar 2.引入jquery-1.8.2.js 3.新建common.js getInfo = function(){ $.post("getXmlA ...

  2. Java学习笔记-12.传递和返回对象

    1.Clone()方法产生一个object,使用方法后必须产生的object赋值. Vector v2 = (Vector)v.clone(); 2.Clone()方法在object中是保护类型方法, ...

  3. Java学习笔记12(面向对象五:构造方法、this再探)

    在开发中,经常需要在创建对象的同时明确对象对的属性值, 比如一个Person对象创建时候就应该有age和name等属性 那么如何做到在创建对象的同时给对象的属性初始化值呢? 这里介绍构造方法: 1.构 ...

  4. java学习笔记12(final ,static修饰符)

    final: 意思是最终的,是一个修饰符,有时候一个功能类被开发好了,不想被子类重写就用final定义, 用final修饰的最终数据成员:如果一个类的数据成员用final修饰符修饰,则这个数据成员就被 ...

  5. 0028 Java学习笔记-面向对象-Lambda表达式

    匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ...

  6. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  7. 20145330第八周《Java学习笔记》

    20145330第八周<Java学习笔记> 第十五章 通用API 通用API 日志:日志对信息安全意义重大,审计.取证.入侵检验等都会用到日志信息 日志API Logger:注意无法使用构 ...

  8. 20145330第七周《Java学习笔记》

    20145330第七周<Java学习笔记> 第十三章 时间与日期 认识时间与日期 时间的度量 GMT(格林威治标准时间):现在不是标准时间 世界时(UT):1972年UTC出来之前,UT等 ...

  9. 20145330第六周《Java学习笔记》

    20145330第六周<Java学习笔记> . 这周算是很忙碌的一周.因为第六周陆续很多实验都开始进行,开始要准备和预习的科目日渐增多,对Java分配的时间不知不觉就减少了,然而第十和十一 ...

随机推荐

  1. stl之截取:以一段字符串截取字符串

    string dforder = line.substr(0,line.find("\t")).c_str(); 解析: line为传进来的string类型 substr查找第0位 ...

  2. Maven 的classifier的作用

    直接看一个例子,maven中要引入json包,于是使用了 <dependency> <groupId>net.sf.json-lib</groupId> <a ...

  3. 解决Android Graphical Layout 界面效果不显示

    解决Android Graphical Layout 界面效果不显示 qq463431476

  4. LLVM 笔记(三)—— 了解传统编译器设计

    ilocker:关注 Android 安全(新手) QQ: 2597294287 传统的静态编译器 (如大多数的 C 语言编译器) 通常将编译工作分为三个阶段,分别由三个组件来完成:前端.优化器和后端 ...

  5. Struts2 internationalization(国际化)

    1:什么是国际化? 国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式.它要求从产品中抽离所有的与语言,国家/地区和文化相关的元素.换言之,应用程序的功 ...

  6. u3d_Shader_effects笔记6 第二章 animating sprite

    1.前面的心情 上班看shader我也是醉了.写完这篇看代码去了,不过看着看着恐怕就会困.... 还有就是上天,我该怎么做,下一步,大懒: 2.参考源头 http://blog.csdn.net/ca ...

  7. webService获取电话号归属地和获取天气情况步骤,及创建属于自己的webservice

    一.什么是Web服务 Web服务是一种可以用来解决跨网络应用集成问题的开发模式,目的是保证不同平台的应用服务可以互操作 二.Web服务的三个核心 Soap: SOAP(Simple Object Ac ...

  8. JS数组去重比较

    数组去重复是一个常见的需求,我们暂时考虑同类型的数组去重复.主要是理清思路和考虑执行性能. for循环删除后面重复的 var uniqueFor = function(arr) { for (var ...

  9. vtk工作流

    要理解VTK的工作原理,首先应明确几个类型: 1.vtkSource(数据源)   这个就好比一个剧本里面的角色,让演员知道要演的是什么人物. 数据源有:vtkConeSource,vtkSphere ...

  10. 使用MEF实现通用参数设置

    通用后台管理系统必备功能模块包含日志管理,权限管理,数据字典,参数配置等功能.参数设置主要用于设置系统运行所需的一些基础性配置项,比如redis缓存,mq消息队列,系统版本等信息.好的参数设置需要达到 ...