循环

打印一个字符串(例如: "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. linux ACL权限规划:getfacl,setfacl使用

    ACL即Access Control List 主要的目的是提供传统的owner,group,others的read,write,execute权限之外的具体权限设置,ACL可以针对单一用户.单一文件 ...

  2. 《小白的CFD之旅》招募写手

    <小白的CFD之旅>系列招募写手. 由于工作繁忙,<小白的CFD之旅>系列更新缓慢,现招募志愿者写手.这是一个分享平台,欢迎各位愿意分享自己CFD学习经历的朋友们. <小 ...

  3. [WPF系列]-数据邦定之DataTemplate 对分层数据的支持

    到目前为止,我们仅讨论如何绑定和显示单个集合. 某些时候,您要绑定的集合包含其他集合. HierarchicalDataTemplate 类专用于 HeaderedItemsControl 类型以显示 ...

  4. mybatic与spring结合的事务管理

    原文地址:http://czj4451.iteye.com/blog/2037759 mybatis与spring结合后,事务管理更加方便,这里介绍使用transactionnal的方式,有错的的地方 ...

  5. JS控制div跳转到指定的位置的解决方案总结

    总结一下自己在写这个需求遇到的问题,相信大家应该是经常遇到的.即要求滚轮滚动到指定的位置.先看下基本的解决方案. 1.给链接a加个#的方式来实现跳转.(锚点方法)这里直接贴下代码: html页面: & ...

  6. iOS与Html5和JS之间的交互---学习笔记五

    首先采用的框架是WebViewJavascriptBridge,采用这套框架可以方便的使iOS与JS交互 一. 流程图(主要介绍思路) 二.iOS端如何使用 首先导入#import "Web ...

  7. bootstrap 组件

      bootstrap  组件 1下拉菜单(dropdown)  下拉菜单切换(dropdown-toggle)  下拉菜单对齐(dropdown-menu-right-右对齐) 下拉菜单分割线(di ...

  8. CSS选定第k个元素

    <!DOCTYPE html> <html> <head> <title></title> <style type="tex ...

  9. C语言初级进阶1

    1.数据类型1.1.基本数据类型数据类型分2类:基本数据类型+复合类型基本类型:char short int long float double复合类型:数组 结构体 共用体 类(C语言没有类,C++ ...

  10. nginx的URL重写应用实例

    1,NGINx的URL重写 NGINX 的URL重写模块用的比较多,主要使用的命令有if rewrite set break 2 if命令 语法如下"" 语法:if(conditi ...