循环结构(while、do-while、for)    

任何复杂的程序逻辑都可以通过三种结构来实现:
1)顺序结构:从上往下逐行执行,每句必走
2)分支结构:有条件的执行某语句一次,并非每句必走
3)循环结构:有条件的执行某语句多次,并非每句必走

1.循环:反复执行一段相同或相似的代码

2.循环三要素:
  1)循环变量的初始化
  2)循环的条件(以循环变量为基础)
  3)循环变量的改变(向着循环的结束变)
  循环变量:在循环过程中所改变的那个量

3.循环结构:
  1)while:先判断后执行,有可能一次都不执行
  2)do...while:先执行后判断,至少执行一次
               第1要素与第3要素相同时首选
  3)for:应用率最高,固定次数循环

4.break:跳出循环
  continue:跳过循环体中剩余语句而进入下一次循环

Math.random():
Math.random()-------------0.0到0.9999999999...
*1000---------------------0.0到999.99999999...
+1------------------------1.0到1000.9999999...
(int)---------------------0到999
+1------------------------1到1000

for-随机加法运算器

package day04;
import java.util.Scanner;
//随机加法运算器
public class Addition {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int score = 0; //总分
for(int i=1;i<=10;i++){ //10次
int a = (int)(Math.random()*100); //加数1
int b = (int)(Math.random()*100); //加数2
int result = a+b; //和
System.out.println("("+i+")"+a+"+"+b+"=?"); //1.出题
System.out.println("算吧!");
int answer = scan.nextInt(); //2.答题
if(answer==-1){ //3.判题
System.out.println("下次再来吧!");
break;
}
if(answer==result){
score += 10; //答对一题加10分
System.out.println("答对了");
}else{
System.out.println("答错了");
}
}
System.out.println("score="+score);
}
}

while循环演示:

package day04;
//while循环的演示
public class Addition {
public static void main(String[] args) {
int num = 1;
while(num<10){
System.out.println(num+"*9="+num*9);
num++;
}
System.out.println("over");
}
}

do while循环演示:

package day04;
import java.util.Scanner;
//猜数字小游戏
public class Addition {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num = (int)(Math.random()*1000+1); //1到1000之内的随机数
System.out.println(num); //作弊
int guess;
do{
System.out.println("猜吧!");
guess = scan.nextInt(); //1,3
if(guess==0){
break;
}
if(guess>num){
System.out.println("太大了");
}else if(guess<num){
System.out.println("太小了");
}
}while(guess!=num); //
if(guess==num){
System.out.println("恭喜你,猜对了!");
}else{
System.out.println("下次再来吧!");
}
}
}

数列求和

计算1+2+3+4+5...+100的和;
package day04;
//计算1+2+3+4+5...+100的和;
import java.util.Scanner;
public class Addition {
public static void main(String[] args) {
int num = 0;
for(int i=1;i<=100;i++){
num = num + i;
}
System.out.println(num);
}
}
结果:5050

有数列为:9,99,999,...,9999999999。要求使用程序计算此数列的和,并在控制台输出结果:

方法一:
public class SumOfSeq {
public static void main(String[] args) {
// 数列求和
long nine = 9;
long result = nine;
for (int i = 2; i <= 10; i++) {
nine = nine * 10 + 9;
result += nine;
}
System.out.println("9+99+999+...+9999999999=" + result);
}
} 方法二:
public class Test01 { public static void main(String[] args) {
//9+99+999+9999+...+9999999999=?
long sum = 0; //和
long num = 0; //加数
for(int i=1;i<=10;i++){ //10次
num = num*10+9;
sum = sum+num;
}
System.out.println("sum="+sum); }
}

另有数列:1+1/2+1/3…+1/n(n>=2)。要求使用交互的方式计算此数列的和:用户在控制台录入需要计算的整数 n 的值,程序计算此数列的和,并在控制台输出结果。

方法一:
import java.util.Scanner;
public class SumOfSeq2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入整数(例如10):");
int n = scanner.nextInt();
double result = 0;
for (int i = 1; i < n; i++) {
result += 1.0 / i;
if(i==1){
System.out.print("1+");
}else{
System.out.print("1/" + i + "+");
}
}
result += 1.0 / n;
System.out.print("1/" + n + "=" + result);
}
}

方法二:
public class Test01 { public static void main(String[] args) {
//1/1+1/2+1/3+...+1/n=?
int n = 15;
double sum = 0;
for(int i=1;i<=n;i++){ //n次
sum = sum+1.0/i;
}
System.out.println("sum="+sum); }
}

day04-java-循环结构(while、do-while、for)的更多相关文章

  1. JAVA循环结构

    JAVA循环结构:顺序结构只能执行一次,如果要执行多次需要用到循环 JAVA中的循环结构有while:do...while:for: 1.while循环:先判断布尔表达式中的值,若为true,执行循环 ...

  2. Java循环结构 - for, while 及 do...while

    Java循环结构 - for, while 及 do...while 顺序结构的程序语句只能被执行一次.如果您想要同样的操作执行多次,,就需要使用循环结构. Java中有三种主要的循环结构: whil ...

  3. Java 循环结构

    Java 循环结构 - for, while 及 do...while 顺序结构的程序语句只能被执行一次.如果您想要同样的操作执行多次,,就需要使用循环结构. Java中有三种主要的循环结构: whi ...

  4. Java-Runoob:Java 循环结构

    ylbtech-Java-Runoob:Java 循环结构 - for, while 及 do...while 1.返回顶部 1. Java 循环结构 - for, while 及 do...whil ...

  5. Java 循环结构 - for, while 及 do...while

    Java 循环结构 - for, while 及 do...while 顺序结构的程序语句只能被执行一次.如果您想要同样的操作执行多次,,就需要使用循环结构. Java中有三种主要的循环结构: whi ...

  6. JavaSE基础(八)--Java 循环结构

    Java 循环结构 - for, while 及 do...while 顺序结构的程序语句只能被执行一次.如果您想要同样的操作执行多次,,就需要使用循环结构. Java中有三种主要的循环结构: whi ...

  7. Java循环结构之while和do-while循环

    循环结构知识点 本章技能目标 1理解循环的含义 2会使用while循环 3会使用do-while循环 4会使用调试解决简单的程序错误 一.   循环的含义 循环就是重复的做……(Java程序中的循环结 ...

  8. 四、 java循环结构

    for循环结构: 格式:①初始化条件;②循环条件;③迭代条件;④循环体 for(①;②;③){ //④ } 执行过程:①-②-④-③-②-④-③-...-④-③-②,直至循环条件不满足,退出当前的循环 ...

  9. 7、Java 循环结构

    本章讲解一下Java中常见的三种循环结构,顺序结构的程序语句只能 被执行一次.使用循环可以解决我们多个常量或者变量的同一类的操作或者更加复杂的操作. 循环 循环结构有三大类: 1.for循环:确定循环 ...

  10. JAVA循环结构示例

    本文章主要是帮助大家学习循环结构.学习循环时,最重要的是理清思路,那些最经典算法实际中我们并不会单拿出来用,而是会用到当时做这个算法时的思想.如果把这个思路想明白了,那么实际中用到他的时候自然而然就想 ...

随机推荐

  1. [HihoCoder] Highway 高速公路问题

    Description In the city, there is a one-way straight highway starts from the northern end, traverses ...

  2. 从prompt输入10个人的年龄放入数组,将十个人的年龄求总和。

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. dtd语法之定义元素

    1.语法:<!ELEMENT 元素名 使用规则> 使用规则: l (#PCDATA) :表示内容为普通文本数据 l EMPTY :表示元素内容必须为空 l ANY :元素出现任意次,一般用 ...

  4. mysql 动态sql语句

    ; SET @ss = ' INSERT INTO prod_attr SELECT ? AS prod_id,A.* FROM ( SELECT 1 AS attr_id,\'中国出版社\' AS ...

  5. HDU 1754 I Hate It(线段树单点更新区间最值查询)

    I Hate It Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  6. 用MSoffice里的绘图工具

    试过一些绘图表的工具,在xbeta推荐的替代visio一文中介绍的一些软件.之前用得最多的就是Dia,在linux下也有.现在才发现在微软的office下的绘图工具已经足够我使用了,不需要专业的图形符 ...

  7. ThinkPHP中的三大自动简介

    ThinkPHP中的三大自动简介 文章TAG:thinkphp 自动简介 时间:2014-08-23来源:商业源码网 作者:源码库 文章热度: 186 ℃ 过期已备案域名,注册就能用!终身VIP会员, ...

  8. mod_php VS mod_fastcgi

    mod_php VS mod_fastcgi 目录 什么是mod_php和mod_fastcgi 1 工作原理 1 mod_php 2 mod_fastcgi 3 mod_factcgi的三种配置方式 ...

  9. node socket onmessage

    <script src="//cdn.sockjs.org/sockjs-0.3.min.js"></script> <script> var ...

  10. 学习VS生活

    很多时候,失败的原因归结为一点:我没有时间...代码敲不完,我真的是没有时间么?很多时候是没意识的浪费时间 我每次进教室,总能看到吴刚和赵东亮在敲代码,为啥他们有时间呢?很多时候,时间就像那啥,挤一挤 ...