循环及三种循环结构的更加适用情况:
2018-02-17 22:25
211 查看
/*
* 1.循环
* 2.循环三要素:
* 1)循环变量的初始化
* 2)循环的条件(以循环变量为基础)
* 3)循环变量的改变(向着循环的结束变)
* 循环变量:在循环过程中的那个量
* 3.循环结构:
* 1)while循环:先判断后执行,有可能一次都不执行
* 2)do.....while结构:先执行后判断,至少执行一次
* 第1要素与第3要素相同时,首选
* 3)for结构:应用率最高
*
* 1.while(boolean表达式){//boolean为true,执行语句块,否则退出
* if(true){
* break; //break用再循环体中用于退出循环
* }
* 语句块 //被重复的操作
5..三种循环结构的更加适用情况:
* 5.1)while:"当---"循环
* 5.2)do--while:"直到---"循环
* 第1要素与第3要素相同时首选
* 5. 3)for:固定次数循环,应用率最高
*
* 6.嵌套循环:
* 6.1)循环中套循环,一般多行多列时使用,
* 外层控制行,内层控制列
* 6.2)执行过程:外层循环走一次,内层循环走所有次
* 6.3)建议:嵌套层次越少越好,能用一层就不能用两层
* 若逻辑必须要通过3层以上才能解决,说明设计
* 有问题.
* 6.4)break只能跳出一层循环
* */
案例1.
/* 随机加法运算器:
* 程序依次出10道题目,由用户输入题目的答案;
* 用户每答完一道题,程序判断对错,并提示:"答对了"
* 或“答错了”
* 10道题目答完之后,系统计算得分并输出;
* 用户希望提前结束,可以输入-1提前退出。
* */import java.util.Scanner;
public class PracticeAdd1 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int score=0;
for(int i=1;i<=10;i++){
int x = (int)(Math.random()*100);
int y = (int)(Math.random()*100);
int result = x+y;
System.out.print("("+i+")"+x+"+"+y+"=");
int n= scan.nextInt();
if(n==-1){
break;
}
if(result==n){
System.out.println("答对了");
score+=10;
}else{
System.out.println("答错了");
}
}
System.out.println(score);
}
}
案例2.
//while的演示
/*案例:程序随机生成并存储一个整数:
* 用户输入一个整数,程序给出与存储的数字“大”或“小”
* 的比较结果提示;直到用户猜对数字为止;
* 如果中途,用户希望结束程序,可以输入0退出
* Math.random()------0.0~0.999999
* *1000-------------0.0~999.99999
* +1---------------1.0~1000.99999
*
* */import java.util.Scanner;
public class Guessing {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num = (int)(Math.random()*1000+1);
System.out.println(num);
int guess;
do{
System.out.println("猜吧");
guess = scan.nextInt();
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("下次再来吧");
}
/*
System.out.println("猜吧");
int guess = scan.nextInt();
while(guess!=num){
if(guess==0){
break;
}
if(guess>num){
System.out.println("太大了");
}else{
System.out.println("太小了");
}
System.out.println("猜吧");
guess = scan.nextInt();
}
if(guess==num){
System.out.println("恭喜,猜对啦");
}else{
System.out.println("下次再来吧");
}
*/
}
}
* 1.循环
* 2.循环三要素:
* 1)循环变量的初始化
* 2)循环的条件(以循环变量为基础)
* 3)循环变量的改变(向着循环的结束变)
* 循环变量:在循环过程中的那个量
* 3.循环结构:
* 1)while循环:先判断后执行,有可能一次都不执行
* 2)do.....while结构:先执行后判断,至少执行一次
* 第1要素与第3要素相同时,首选
* 3)for结构:应用率最高
*
* 1.while(boolean表达式){//boolean为true,执行语句块,否则退出
* if(true){
* break; //break用再循环体中用于退出循环
* }
* 语句块 //被重复的操作
* }
* 循环能跳出的条件:1)条件为假
* 2)碰着break
*
* 2.do-while//无论boolean表达式是否为true,都先执行一次语句块
* do{
* 语 句 块
* }while(boolean表达式)
*
*
* 3.for结构应用:
* for(要素1;要素2;要素3){
* 语句块;
* }
* 特殊用法:
* 要素1;
* for(;要素2;要素3){
* }
* 4.break:跳出循环,常常与条件语句一起使用
* continue:跳过循环体中剩余语句而执行下一次循环
5..三种循环结构的更加适用情况:* 5.1)while:"当---"循环
* 5.2)do--while:"直到---"循环
* 第1要素与第3要素相同时首选
* 5. 3)for:固定次数循环,应用率最高
*
* 6.嵌套循环:
* 6.1)循环中套循环,一般多行多列时使用,
* 外层控制行,内层控制列
* 6.2)执行过程:外层循环走一次,内层循环走所有次
* 6.3)建议:嵌套层次越少越好,能用一层就不能用两层
* 若逻辑必须要通过3层以上才能解决,说明设计
* 有问题.
* 6.4)break只能跳出一层循环
* */
案例1.
/* 随机加法运算器:
* 程序依次出10道题目,由用户输入题目的答案;
* 用户每答完一道题,程序判断对错,并提示:"答对了"
* 或“答错了”
* 10道题目答完之后,系统计算得分并输出;
* 用户希望提前结束,可以输入-1提前退出。
* */import java.util.Scanner;
public class PracticeAdd1 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int score=0;
for(int i=1;i<=10;i++){
int x = (int)(Math.random()*100);
int y = (int)(Math.random()*100);
int result = x+y;
System.out.print("("+i+")"+x+"+"+y+"=");
int n= scan.nextInt();
if(n==-1){
break;
}
if(result==n){
System.out.println("答对了");
score+=10;
}else{
System.out.println("答错了");
}
}
System.out.println(score);
}
}
案例2.
//while的演示
/*案例:程序随机生成并存储一个整数:
* 用户输入一个整数,程序给出与存储的数字“大”或“小”
* 的比较结果提示;直到用户猜对数字为止;
* 如果中途,用户希望结束程序,可以输入0退出
* Math.random()------0.0~0.999999
* *1000-------------0.0~999.99999
* +1---------------1.0~1000.99999
*
* */import java.util.Scanner;
public class Guessing {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num = (int)(Math.random()*1000+1);
System.out.println(num);
int guess;
do{
System.out.println("猜吧");
guess = scan.nextInt();
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("下次再来吧");
}
/*
System.out.println("猜吧");
int guess = scan.nextInt();
while(guess!=num){
if(guess==0){
break;
}
if(guess>num){
System.out.println("太大了");
}else{
System.out.println("太小了");
}
System.out.println("猜吧");
guess = scan.nextInt();
}
if(guess==num){
System.out.println("恭喜,猜对啦");
}else{
System.out.println("下次再来吧");
}
*/
}
}
相关文章推荐
- 三种循环的适用情况
- cocos2dx添加文本的三种方法及适用情况CCLabelTTF,CCLabelBMFont,CCLabelAtlas
- iOS中出现循环引用时常见的三种情况
- java中的三种循环结构
- iOS循环饮用的三种情况
- C语言中的三种循环结构及其注意点
- cocos2dx添加文本的三种方法及适用情况CCLabelTTF,CCLabelBMFont,CCLabelAtlas
- 三种循环结构打印表
- 程序流程的三种结构:顺序,选择,循环
- 容易造成循环引用的三种情况
- cocos2dx添加文本的三种方法及适用情况CCLabelTTF,CCLabelBMFont,CCLabelAtlas
- 循环结构之三种循环比较
- 用三种循环结构实现1至100之间的和。
- 对 三种常见的循环结构的理解
- 三种循环结构打印直角三角形(嵌套循环的使用)
- C语言_04 三种程序结构 顺序, 选择(分支), 循环结构
- C语言之三种循环结构与递归函数的对比
- shell编程三种循环结构
- [pascal]对“求1-100之间的所有素数”的三种不同循环结构算法的分析
- 递归方法(树状结构显示样板): 用于部门列表上下级的循环,以及图书分类中上下级循环分别显示的情况