第五章 循环

5.2 while循环

  1.while循环的语法如下:

    while(循环继续条件){

    //循环体

    语句(组);

    }

  2.程序:提示用户为两个个位数相加的问题给出答案

 package com.chapter5;

 import java.util.Scanner;

 public class RepeatAdditionQuiz {

     /**
* 提示用户为两个个位数相加的问题给出答案
*/ public static void main(String[] args) { int number1=(int) (Math.random()*10);
int number2=(int) (Math.random()*10); Scanner input=new Scanner(System.in); System.out.println("请输入:"+number1+" + "+number2+" 的结果");
int answer=input.nextInt(); while(number1+number2!=answer){
System.out.println("答案错误,请重新输入 "+number1+" + "+number2+" 的结果");
answer=input.nextInt();
} System.out.println("正确答案是:"+answer); } }

  

  3.程序:猜数字

 package com.chapter5;

 import java.util.Scanner;

 public class GuessNumber {

     /**
* 猜数字
*/ public static void main(String[] args) { int number=(int) (Math.random()*101); Scanner input=new Scanner(System.in);
System.out.println("猜测的数字在0-100之间包含0和100"); int guess=-1;
while(guess!=number){
System.out.println("输入您猜测的数字");
guess=input.nextInt(); if(guess==number){
System.out.println("猜测正确!");
}else if(guess>number){
System.out.println("您猜测的数字大了!");
}else{
System.out.println("您猜测的数字小了!");
}
}
} }
5.3 do-while循环

  1.首先执行循环体,然后计算循环继续条件。如果计算结果为true,则重复执行循环体;如果为false,则终止do-while循环。

  2.程序:TestDoWhile

 package com.chapter5;

 import java.util.Scanner;

 public class TestDoWhile {

     public static void main(String[] args) {

         int data;
int sum=0; Scanner input=new Scanner(System.in); do{
System.out.print("输入一个整数(如果是0输入结束):");//Enter an integer(the input ends if it is 0)
data=input.nextInt();
sum+=data;
}while(data!=0); System.out.println("总和为:"+sum); } }
5.4 for循环

  1.语法:

  for(初始操作;循环继续条件;每次迭代后的操作){

  //循环体

  语句(组);

  }

5.5 采用哪种循环

  while循环和for循环都称为前测循环(pretest loop),因为继续条件是在循环体执行之前检测的,do-while循环被称为后测循环(posttest loop),因为循环条件是在循环体执行之后检测的。

5.6 嵌套循环

  1.程序:乘法表

 package com.chapter5;

 public class MultiplicationTable {

     /**
* 乘法表
*/ public static void main(String[] args) { System.out.println("Multiplication table");
System.out.print(" "); for(int i=1;i<=9;i++){
System.out.print(" "+i);
}
System.out.println("\n----------------------------------------");
for(int i=1;i<=9;i++){
System.out.print(i+"|");
for(int j=1;j<=9;j++){
System.out.printf("%4d",i*j);
}
System.out.println();
} } }
5.8 示例学习

  求最大公约数

 package com.chapter5;

 import java.util.Scanner;

 public class GreatestCommonDivisor {

     /**
* 求最大公约数
*/ public static void main(String[] args) { Scanner input=new Scanner(System.in); int gcd=1;//1是一个公约数,但不是最大公约数
int k=2; System.out.println("请输入第一个整数:");
int number1=input.nextInt();
System.out.println("请输入第二个整数:");
int number2=input.nextInt(); while(k<=number1 && k<=number2){
if(number1%k==0 && number2%k==0){
gcd=k;
}
k++;
}
System.out.println(number1+" 和 "+number2+" 的最大公约数为:"+gcd);
} }

Java语言程序设计(基础篇) 第五章 循环的更多相关文章

  1. Java语言程序设计(基础篇) 第七章 一维数组

    第七章 一维数组 7.2 数组的基础知识 1.一旦数组被创建,它的大小是固定的.使用一个数组引用变量,通过下标来访问数组中的元素. 2.数组是用来存储数据的集合,但是,通常我们会发现把数组看作一个存储 ...

  2. Java语言程序设计(基础篇) 第六章 方法

    第六章 方法 6.2 定义方法 1.方法的定义由方法名称.参数.返回值类型以及方法体组成. 2.定义在方法头中的变量称为形式参数(formal parameter)或者简称为形参(parameter) ...

  3. Java语言程序设计(基础篇) 第四章 数学函数、字符和字符串

    第四章 数学函数.字符和字符串 4.2 常用数学函数 方法分三类:三角函数方法(trigonometric method).指数函数方法(exponent method)和服务方法(service m ...

  4. Java语言程序设计(基础篇) 第三章 选择

    第三章 选择 3.8 计算身体质量指数 package com.chapter3; import java.util.Scanner; public class ComputeAndInterpret ...

  5. Java语言程序设计(基础篇)第一章

    第一章 计算机.程序和Java概述 1.1 引言 什么是程序设计呢? 程序设计就是创建(或者开发)软件,软件也称为程序. 1.2 什么是计算机 计算机是存储和处理数据的电子设备,计算机包括硬件(har ...

  6. 0031 Java学习笔记-梁勇著《Java语言程序设计-基础篇 第十版》英语单词

    第01章 计算机.程序和Java概述 CPU(Central Processing Unit) * 中央处理器 Control Unit * 控制单元 arithmetic/logic unit /ə ...

  7. Java语言程序设计(基础篇)第二章

    第二章 基本程序设计 2.2 编写简单的程序 1.变量名尽量选择描述性的名字(descriptive name). 2.实数(即带小数点的数字)在计算机中使用一种浮点的方法来表示.因此,实数也称为浮点 ...

  8. Java语言程序设计(基础篇) 第八章 多维数组

    第八章 多维数组 8.2 二维数组的基础知识 二维数组中的元素通过行和列的下标来访问. 8.2.1 声明二维数组变量并创建二维数组 下面是二维数组的语法: 数据类型[][] 数组名; int[][] ...

  9. Java语言程序设计-助教篇

    1. 给第一次上课(软件工程)的老师与助教 现代软件工程讲义 0 课程概述 给学生:看里面的第0个作业要求 2. 助教心得 美国视界(1):第一流的本科课堂该是什么样?(看里面的助教部分) 助教工作看 ...

随机推荐

  1. checkbox实现互斥

    <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>标题页-学无忧(www.x ...

  2. sqlserver数据以及日志文件的设置小结

    1.1:增加次数据文件 从SQL SERVER 2005开始,数据库不默认生成NDF数据文件,一般情况下有一个主数据文件(MDF)就够了,但是有些大型的数据库,由于信息很多,而且查询频繁,所以为了提高 ...

  3. java和c#使用hessian通信

    介绍 hessian主页:http://hessian.caucho.com/ 一个简单的例子学习hessian服务:服务端为Java,客户端为C#. 先要准备好C#和Java的第三方类库:http: ...

  4. [Linux]在linux中,常常用到ctrl和其他按键组合,常用的有哪些及意义呢

    在linux中,常常用到ctrl和其他按键组合,常用的有哪些及意义呢? Ctrl+c 结束正在运行的程序 Ctrl+d 结束输入或退出shell Ctrl+s 暂停屏幕输出[锁住终端] Ctrl+q ...

  5. vim 标签命令

    设置标签:ma 跳转到标签:`a 查看当前所有标签:marks 删除标签:delmarks a 删除所有标签:delmarks! 不包括[A-Z]和[0-9]标签.

  6. 【转】hibernate缓存:一级缓存和二级缓存

    什么是缓存? 缓存是介于物理数据源与应用程序之间,是对数据库中的数据复制一份临时放在内存中的容器,其作用是为了减少应用程序对物理数据源访问的次数,从而提高了应用程序的运行性能.Hibernate在进行 ...

  7. 修改nignx报错Nginx [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)

    Nginx [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use) 这个错误是修改了nginx的配置时出现,表名80端口被程 ...

  8. 使用代理和block写一个alertView

    代理: MyAlertView.h: @property (nonatomic,assign)id delegate; @protocol MyAlertViewDelegate <NSObje ...

  9. PHP遍历、删除文件夹中的所有文件

    <?php header("Content-type:text/html;charset=utf-8"); /** * getDirFile 遍历文件夹中的所有文件 * @p ...

  10. Kinect的那些事儿

    Kinect结合Unity3d跑酷游戏体感Demo 今天收拾东西,在柜子的翻出了一台崭新的Kinect,说起来真是惭愧,大学毕业那会儿,慈老师(和名字一位慈祥的好老师,也是我的毕业设计指导老师)赞 助 ...