IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> Java流程控制语句2 -> 正文阅读

[数据结构与算法]Java流程控制语句2

?? 循环结构

? ? ? ? ? ? ?– while do-while for

为什么需 要循环
? ? ? ? ?? 1、张浩Java考试成绩未达到自己的目标。为了表明自己勤奋学习的决心,他决定写一百遍
? ? ? ? ?????????“好好学习,天天向上!”
????????????????System.out.println("1遍写:好好学习,天天向上!");
? ? ? ? ? ? ? ? System.out.println(“2遍写:好好学习,天天向上!");
? ? ? ? ? ? ? ? ?? ……
???????????????????100
????????????????System.out.println(“100遍写:好好学习,天天向上!");

为什么需要循环

????????使用while循环
????????? 没有使用循环结构
????????System.out.println(" 1 遍写:好好学习,天 天向上!");
????????System.out.println(“ 2 遍写:好好学习,天 天向上!");
????????System.out.println(" 3 遍写:好好学习,天 天向上!");
????????System.out.println(“ 4 遍写:好好学习,天 天向上!");
????????……
????????System.out.println(“ 9999 遍写:好好学习天天向上!");
????????System.out.println(“ 10000 遍写:好好学习,天天向上!")
??????
? ? ? 使用循环可以简写代码量 不用写太多的代码? 很方便
??????????int i = 1;
????????while ( i <= 100 ?){
????????System.out.println(“ ” +i+ “ 遍写:好好学习,天天向上!");
????????????????i ++;
????????}

while循环

? 在循环刚开始时,会计算一次“布尔表达式”的值,若条件为真,执行循环体。而对于后
来每一次额外的循环,都会在开始前重新计算一次。
? 语句中应有使循环趋向于结束的语句,否则会出现无限循环–––"死"循环。

代码:

????????public class WhileTest {
????????????????public static void main(String[] args) {
????????????????????????int i = 0;
????????????????????????int sum = 0;
?????????????????????? ?while (i <= 100) {
????????????????????????????????sum += i; //sum = sum+i;
????????????????????????????????i++;
?????????????????????????}
??????????????????System.out.println("Sum= " + sum);
????????????????}
????????}
循环结构都由如下四个结构组成:
????????初始化、条件判断、循环体、迭代
上机练习1—求100以内的偶数和
? 需求说明:
编程实现:计算100以内(包括100)的偶数之和
观察每一次循环中变量值的变化
? 实现思路:
1、声明整型变量num和sum
2、循环条件:num<=100
3、循环操作:累加求和
先把一百以内的偶数输出?
? ???????int ?i=1;
? ? ? ? ?while(i<=100){
? ? ? ? ? ? ? if(i%2==0){
? ? ? ? ? ? ? System.out.println("100以内的偶数有"+i);
? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ?i++;
? ? ? ? ? } ?
然后求和
完成:
????????int num =0;
?? ??? ?int sum =0;
?? ??? ?while(num<=100){
?? ??? ??? ?if(num%2==0){
?? ??? ??? ??? ?System.out.println("100以内的偶数有"+sum);
?? ??? ??? ??? ?sum += num;
?? ??? ??? ?}
?? ??? ??? ?num++;
?? ??? ?}
?? ??? ?System.out.print("1-100总和是"+sum);
? ? ??
? ? ?

上机练习2—购物结算

? 需求说明:
– 循环输入商品编号和购买数量
– 当输入n时结账
– 结账时计算应付金额并找零

????????System.out.println("********************************************");
?? ??? ?System.out.println("请选择购买的商品编号:");
?? ??? ?System.out.println("1.T 恤\t2.网球鞋\t3.网球拍");
?? ??? ?System.out.println("********************************************");

?? ??? ?//创建Scanner对象
?? ??? ?Scanner sc ?= new Scanner(System.in);
?? ??? ?String flag = "y";
?? ??? ?//定义变量存储商品编号
?? ??? ?int pId = 0;
?? ??? ?//定义变量存储商品数量
?? ??? ?int pNum = 0;
?? ??? ?//定义变量存储T恤的单价
?? ??? ?double tPrice = 245.0;
?? ??? ?//定义变量存储网球鞋的单价
?? ??? ?double sPrice = 570.0;
?? ??? ?//定义变量存储网球拍的单价
?? ??? ?double pPrice = 320.0;
?? ??? ?//定义变量存储一次购买总金额
?? ??? ?double oneTotalPrice = 0;
?? ??? ?//定义变量存储购物总计
?? ??? ?double totalPrice = 0;
?? ??? ?while("y".equals(flag)){
?? ??? ??? ?System.out.println();
?? ??? ??? ?System.out.print("请输入商品编号:");
?? ??? ??? ?pId = sc.nextInt();
?? ??? ??? ?if(pId != 1 && pId != 2 && pId != 3){
?? ??? ??? ??? ?System.out.println("亲,您购买的商品不存在,请重新输入商品编号!");
?? ??? ??? ??? ?//跳出当前循环进行下一次循环
?? ??? ??? ??? ?continue;
?? ??? ??? ?}
?? ??? ??? ?System.out.print("请输入购买数量:");
?? ??? ??? ?pNum = sc.nextInt();
?? ??? ??? ?switch(pId){
?? ??? ??? ??? ??? ?case 1:
?? ??? ??? ??? ??? ??? ?oneTotalPrice = tPrice * pNum;
?? ??? ??? ??? ??? ??? ?System.out.println("T 恤¥" + tPrice + "\t数量 " + pNum + " ?合计 ¥" + ????????????????????????????????oneTotalPrice);
?? ??? ??? ??? ??? ??? ?//累加金额
?? ??? ??? ??? ??? ??? ?totalPrice += oneTotalPrice;
?? ??? ??? ??? ??? ??? ?//清0
?? ??? ??? ??? ??? ??? ?oneTotalPrice = 0;
?? ??? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ??? ?case 2:
?? ??? ??? ??? ??? ??? ?oneTotalPrice = sPrice * pNum;
?? ??? ??? ??? ??? ??? ?System.out.println("网球鞋¥" + sPrice + "\t数量 " + pNum + " ?合计 ¥" + ????????????????????????????????oneTotalPrice);
?? ??? ??? ??? ??? ??? ?//累加金额
?? ??? ??? ??? ??? ??? ?totalPrice += oneTotalPrice;
?? ??? ??? ??? ??? ??? ?//清0
?? ??? ??? ??? ??? ??? ?oneTotalPrice = 0;
?? ??? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ??? ?case 3:
?? ??? ??? ??? ??? ??? ?oneTotalPrice = pPrice * pNum;
?? ??? ??? ??? ??? ??? ?System.out.println("网球拍¥" + pPrice + "\t数量 " + pNum + " ?合计 ¥" + ????????????????????????????????oneTotalPrice);
?? ??? ??? ??? ??? ??? ?//累加金额
?? ??? ??? ??? ??? ??? ?totalPrice += oneTotalPrice;
?? ??? ??? ??? ??? ??? ?//清0
?? ??? ??? ??? ??? ??? ?oneTotalPrice = 0;
?? ??? ??? ??? ??? ??? ?break;
?? ??? ??? ?}
?? ??? ??? ?System.out.print("是否继续(y/n):");
?? ??? ??? ?flag = sc.next();
?? ??? ?}
?? ??? ?System.out.println();
?? ??? ?System.out.print("折扣:");
?? ??? ?//定义变量存储折扣
?? ??? ?double zk = sc.nextDouble();
?? ??? ?//定义变量存储应付金额
?? ??? ?double yf = totalPrice * zk;
?? ??? ?System.out.println("应付金额:" + yf);
?? ??? ?System.out.print("实付金额:");
?? ??? ?//定义变量存储实付金额
?? ??? ?double sf = sc.nextDouble();
?? ??? ?if(sf < yf){
?? ??? ??? ?System.out.print("您输入的金额小于应付金额,请重新输入:");
?? ??? ??? ?sf = sc.nextDouble();
?? ??? ?}
?? ??? ?System.out.println("找钱:" + (sf - yf));

?

? ?????????????????do-while循环

????????? do-while:

????????????????– 先执行,后判断。

????????? while:

????????????????– 先判断,后执行。
????????????????int a = 0;
????????????????while(a<0){
? ? ? ?????????????????? System.out.println(a);
????????????????????????a++;
?????????????????}
????????????????System.out.println(“-----”);
????????????????a=0;
????????????????do{
????????????????????????System.out.println(a);
??????????????????????????a++;
????????????????????????} while (a<0);
While dowhile 的区别:
Dowhile 总是保证循环体会被至少执
想了解就去瞅瞅这三种循环的介绍? Java循环语句_The_best_L的博客-CSDN博客
Java循环语句练习(for循环、while循环、do-while循环)_杨倩的博客-CSDN博客_java循环语句
while循环和do-while循环的区别_XZY980317的博客-CSDN博客

? ? ?? 跳转

? ? ? ? ? ? ?– break continue return

break语句与continue语句
4.1break语法
注: break:改变程序控制流

break通常在循环中与条件语句一起使用
用于do-while、while、for中时,可跳出循环而执行循环后面的语句
例如:
for(int i = 0; i < 5; i++){?
?? ? ? ? ? ?if(i > 3){
?? ? ? ? ? ?break;
? ? ?? ?}
? ? ? ?sum = sum + i; ? ?
}
结果sum为6;

4.2continue语句
continue :只能用在循环里
continue 作用:跳过循环体中剩余的语句而执行下一次循环
通常与条件语句一起使用,加速循环
从下图可以更好的理解continue的作用

4.3对比break和continue
使用场合

break可用于switch结构和循环结构中
continue只能用于循环结构中
作用(循环结构中)

break语句终止某个循环,程序跳转到循环块外的下一条语句。
continue跳出本次循环,进入下一次循环

?标浅蓝色的是出自这个原文链接:https://blog.csdn.net/qq_41969892/article/details/89192775

?? ?return:

?????????????– 1、return expression
?? ??? ??? ?????????返回一个值给调用该方法的语句。
?? ??? ??? ?????????返回值的数据类型必须和方法声明中的返回值类型一致或是

????????????????????精度低于声明的据类型。
?? ????????? – 2、return
?? ??? ??? ?????????当方法声明中用void声明返回类型为空时,它不能返回任何值。

????????????????????????public class ReturnDemo{
?? ?????????????????????????public static void main(String[] args){
?? ??????????????????????????? ?//调用方法
?? ??????????????????????????? ?System.out.println(getNumber());
?? ??????????????????????????? ?//return;
?? ???????????????????????????}
?? ?
?????????????????????????? ?public static int getNumber(){
?? ?????????????????????????????????? ?return 'a';
?? ????????????????????????????}
????????????????????????}

? ? ?? 多重循环

? ? ?? 方法

? ? ?? ? ? ? – 定义、调用、重载

? ? ?? 递归算法

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-12-03 13:17:15  更:2021-12-03 13:18:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 7:27:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码