复习

1.多重if

一个条件触发的情况在3种或以上时

if(<条件1>){

//条件1为真时运行

}else if(<条件2>){

//条件1为假,条件2为真时运行

}else if(<条件3>){

//条件1,2为假,条件3为真时运行

}else{

//条件1,2,3均为假时运行

}

2.switch结构

switch(<整数表达式>){

case 1:

//整数表达式结果为1时运行

break;

case 2:

//整数表达式结果为2时运行

break;

....

default:

//整数表达式没有匹配结果时运行

}

3.多种结构的优缺点

1)范围判断用多重if

2)等值判断用switch

4.循环结构

1)什么是循环

反复运行相同或相似的代码

2)为什么使用循环

减少代码冗余,提高程序的可维护性

3)循环的要素

3.1)循环变量

3.2)循环条件

3.3)循环操作

3.4)变量更新

5.while循环

while(<条件>){

//条件为真时运行的代码

}

笔记

1.生成随机数

1.1)import java.util.Random;

1.2)Random ran=new Random();

1.3)生成整数

int xxx=ran.nextInt(<随机范围>);

xxx可能出现的数值是

0  ~  随机范围-1

例如ran.nextInt(10)

可能产生的数值就是0~9

2.do-while循环

语法

do{

//条件为真时运行的代码

}while(<条件>);

3.while和do-while循环的区别

1)while循环:

先判断,后执行

初始条件不满足,一次都不执行

2)do-while循环:

先执行,后判断

初始条件不满足,也会至少执行一次

3)理解时,理解为:

while循环比do-while循环

多判断一次

4.for循环

1)for循环语法

for(表达式1;表达式2;表达式3){

//循环体

}

1.1)

表达式1:声明循环变量

表达式2:循环条件

表达式3:变量的更新

1.2)

表达式1,2,3,均可以省略

表达式2省略默认为true

但是两个 ; 不能省略

1.3)

表达式1中可以声明多个变量,

用,分隔

表达式3中可以多个变量的更新

用,分隔

1.4)for循环适合处理

循环次数固定的循环

5.循环结构小结

1)循环次数确定的使用for

2)循环次数不确定的使用

while或do-while

2.1)当......的时候

使用while

2.2)直到.....的时候

使用do-while

6.循环流控

1)break关键字

switch中的break能终止switch结构

循环结构中的break能终止循环结构

while,do-while,for均可以使用

2)continue关键字

只能使用在循环结构中

循环中运行到continue的效果是:

跳过本次循环没有运行的代码

继续运行下次循环

7.循环嵌套

1)什么是循环嵌套

一个循环结构中

又包含另一个完整的循环结构

2)循环嵌套的注意事项

2.1)外层循环循环一次

内存循环循环一遍

2.2)流控关键字(break,continue)

在内层循环中

只影响内层循环

2.3)while\dowhile\for

能够随意相互嵌套

2.4)循环嵌套层次不限

应该避免过多层次的嵌套

作业

1)机票价格按照淡季旺季、

头等舱和经济舱收费、

输入机票原价、月份和1头等舱或2经济舱,

其中旺季(5-10月)

头等舱9折,经济舱85折,

淡季(11月到来年4月)

头等舱7折,经济舱65折,

最终输出机票价格

        Scanner scan=new Scanner(System.in);
System.out.println("请输入机票原价");
double price=scan.nextDouble();
System.out.println("请输入月份");
int month=scan.nextInt();
System.out.println("舱级(1.头等舱 2.经济舱)");
int level=scan.nextInt();
//旺季
if(month>=5 && month<=10) {//头等舱
if(level==1) {
price*=0.9;
}else {//经济舱
price*=0.85;
}
}else {//淡季
if(level==1) {//头等舱
price*=0.7;
}else {
price*=0.65;
}
}
System.out.println("折后机票价格为:"+price);

do-while

1)使用do-while循环编写

小明第一个月工资4000

以后每个月比上个月多200

计算12个月小明总共能拿到多少工资

        int sum=0;
int i=1;
int sal=4000;
do {
sum+=sal;
sal+=200;
i++;
}while(i<=12);
System.out.println(sum);

2)使用do-while循环编写

小明第一个月工资4000

以后每个月比上个月多200

当小明总共拿到的工资超过

150000时需要多少个月

        int i=1;
int sum=0;
int sal=4000;
do {
sum+=sal;
System.out.println("sum:"+sum+",i:"+i+",sal:"+sal);
sal+=200;
i++;
}while(sum<150000); System.out.println(i-1);

for循环练习

1)用户在循环中输入5个学生的成绩

计算他们的平均分

        Scanner scan=new Scanner(System.in);
int sum=0;
for(int i=1;i<=5;i++) {
System.out.println("请输入第"+i+"位学生成绩");
int score=scan.nextInt();
sum+=score;
}
double avg=1.0*sum/5;
System.out.println("平均分为:"+avg);

break

1)编写一个循环      提示:

循环中用户输入      while(true){

数字如果用户输入的      ...                  while(true){

数字是负数          }

循环结束

        Scanner scan=new Scanner(System.in);
//用户输入负数循环退出
while(true) {
System.out.println("请输入数字");
int num=scan.nextInt();
if(num<0) {
//num小于0,退出
break;
} }

2)编写一个循环

循环中用户输入密码(int类型)

如果用户输入的是123456(正确)

循环结束

并输出循环了几次

        Scanner scan=new Scanner(System.in);
int i=1;
do {
System.out.println("请输入密码");
int pwd=scan.nextInt();
//密码正确循环退出
if(pwd==123456) {
break;
}
System.out.println("密码错误,重新输入");
i++;
}while(true);
System.out.println("总共输入了"+i+"次");

循环嵌套

1)使用循环嵌套实现输出

九九乘法表

        for(int i=1;i<=9;i++) {

            for(int j=1;j<=i;j++) {
System.out.print(
j+"×"+i+"="+i*j+" ");
}
System.out.println();
}

day05生成随机数、do-while循环、for循环、循环流控(break和continue)、循环嵌套的更多相关文章

  1. 脚本开头,python预编译,控制台输入输出,for,while循环,分支判断,break,continue

    3. name = input("name:")与2.x中raw_input一回事, 注意接收的变量全部默认为字符串类型. 从控制台接收用户输入,而密文输入import getpa ...

  2. 循环内的switch中break和continue使用区别

    首先看下break和continue的使用方法. break语句在循环和switch语句中使用,用于终止最近的封闭代码块,如果在嵌套循环中,则只终止最近的循环. continue语句在循环中使用,不能 ...

  3. 编码原则:最小化使用控制结构(条件和循环)续:告别 break 和 continue

    如果最小化的使用了for.while等控制结构,那么,之前控制结构对应的两个控制语句(break he continue)也需要有对应的替换方案,好在几乎所有支持高阶函数的语言的集合API都有支持.

  4. java中break和continue跳出指定循环(转载)

    java中break和continue跳出指定循环 java中break和continue可以跳出指定循环,break和continue之后不加任何循环名则默认跳出其所在的循环,在其后加指定循环名,则 ...

  5. break和continue在多重循环中使用

    break和continue在多重循环中使用 关于break和continue在java中,break的作用是跳出循环,continue的作用是跳出本次循环. 我们一般情况下,这样使用: public ...

  6. java中多重循环和break、continue语句

    一.嵌套循环 循环可以互相嵌套,以实现更加复杂的逻辑,其代码的复杂程度也会提高,对初学者而言这应该是个难点,下面我们通过一些例子说明嵌套循环的使用,读者要自己把这些代码上机练习,并理解程序运行的流程. ...

  7. mysql循环插入数据、生成随机数及CONCAT函数

    实现目标:一年12个月,每个月插入一条数据,score为1-5的随机数 循环语句: WHILE -- DO -- END WHILE DELIMITER ; CREATE PROCEDURE test ...

  8. Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer 关于Newtonsoft.Json,LINQ to JSON的一个小demo mysql循环插入数据、生成随机数及CONCAT函数 .NET记录-获取外网IP以及判断该IP是属于网通还是电信 Guid的生成和数据修整(去除空格和小写字符)

    Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer   Advanced Installer :Free for 30 da ...

  9. C# Random循环生成随机数重复问题解决方案

    C# Random循环生成随机数重复问题解决方案1.当我们通过Random生成随机数时,习惯的写法如下: int a=new Random().Next(0,100); 然后生成一个数据数没有任何问题 ...

随机推荐

  1. 12、pytest -- 缓存:记录执行的状态

    目录 1. cacheprovider插件 1.1. --lf, --last-failed:只执行上一轮失败的用例 1.2. --ff, --failed-first:先执行上一轮失败的用例,再执行 ...

  2. Selenium+Java(五)iframe/frame多表单处理

    前言 如果网页中使用了frame,则在使用Selenium定位元素时需要切换到对应的frame,否则会定位不到需要的元素. 切换到需要切换的frame中 driver.switchTo().frame ...

  3. 为宇宙第一强的IDE干一票

    背景 在博客园看到很多人说.net在国内已死,很多人在为.net前途担忧,包括一些创业大佬也提及到这些问题,提及到客户指定了说使用php或者java. 那么基本可以确认了,.net 处于风雨漂泊的地位 ...

  4. Gzip,BZip2,Lzo,Snappy总结

    gzip,bzip2,lzo,snappy是hadoop中比较常见的文件压缩格式,可以节省很多硬盘存储,以下是Gzip , BZip2 , Lzo Snappy 四种方式的优缺点 和使用场景 Gzip ...

  5. Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览

    ​ ​本文是Spring Cloud专栏的第一篇文章,了解本篇文章内容有助于更好的理解后面文章 ​ 一.网站架构演变过程 1-1.传统架构 传统的SSH架构,分为三层架构 web控制层.业务逻辑层.数 ...

  6. 记录我的 python 学习历程-Day03 列表/元组/rang

    一.列表初识 列表是 Python 的基础数据类型之一,它是以''[ ]''的形式括起来的,每个元素用","隔开,属于容器型数据类型,他可以存放大量的.各种类型的数据. 基本格式 ...

  7. node - 流 浅析

    概念 流(stream)是 Node.js 中处理流式数据的抽象接口. stream 模块用于构建实现了流接口的对象. Node.js 提供了多种流对象. 例如,HTTP 服务器的请求和 proces ...

  8. go基础之基本数据结构(数组、slice、map)

    go基本的数据结构有数组.slice.map,高级数据结构为结构体为用户自定义类型.本片文章主要讲解三大基本数据结构. 数组 slice Map 数组 数组是包含单个类型的元素序列,但是长度固定的数据 ...

  9. 2019 湖南多校第一场(2018~2019NCPC) 题解

    解题过程 开场shl过B,C,然后lfw写J,J WA了以后shl写A,但是因为OJ上空间开小WA了,而不是MLE?,J加了特判过了.之后一直在检查A错哪了,直到qt发现问题改了空间,浪费许多时间,但 ...

  10. F#周报2019年第50期

    新闻 Azure Functions 3.0系统上线 GC性能架构--第1部分 ConfigureAwait问题解答 介绍System.Threading.Channels Windows Serve ...