热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JAVAday02流程控制语句

程序逻辑结构大致可以分为:1.顺序结构:顺序执行,根据编写的顺序,从上到下运行2.条件分支结构:判断

程序逻辑结构

大致可以分为:


1.顺序结构:

顺序执行,根据编写的顺序,从上到下运行


2.条件分支结构:


  • 判断语句:1. if   2.if...else   3.if...else if...else
  • 选择语句:1.switch

if

代码说明

import java.util.Scanner;
//找出公约数是5的数,再找出公约数是2的数
//当x和y大于2时,求和
public class Deom01 {public static void main(String[] args) {Scanner num1 = new Scanner(System.in);System.out.println("请输入第一个数x");int x = num1.nextInt();Scanner num2 = new Scanner(System.in);System.out.println("请输入第二个数y");int y = num2.nextInt();if(x%5 == 0) {System.out.println("x是5的公约数");}if(y%2 == 0) {System.out.println("y是2的公约数");}if(x > 2 && y > 2) {int sum = x + y;System.out.println("sum = " + sum);}}}

if...else

代码说明

import java.util.Scanner;
//判断年份是不是闰年
//四闰百不闰 四百闰public class Deom02 {public static void main(String[] args) {Scanner year = new Scanner(System.in);System.out.println("请输入一个年份x");int x = year.nextInt();if(0 == x % 4 && 0 != x % 100 || 0 == x % 400) {System.out.println("x是闰年哦");}else {System.out.println("x不是闰年哦");}}}

if...else if...else

代码说明

/** 需求:用户自己输入:商品单价50和商品数量12需求:收银台收款程序输入:实付金额600如果:应付金额>500,打8折输出:找零金额120升级版:判断实付金额够不够*/
import java.util.Scanner;public class Deom03 {public static void main(String[] args) {Scanner num = new Scanner(System.in);System.out.println("请输入商品数量n");int n = num.nextInt();Scanner money = new Scanner(System.in);System.out.println("请输入实付金额m");int m = money.nextInt();if (m 500 ) {double n1 = (n * 50) * 0.8;System.out.println("打8折优惠哦 您需要付款 " + n1);double n2 = m - n1;System.out.println("找您 " + n2);}}}

switch

switch(条件)只适用于判断是否相等,这里面需要判断的条件可以是byte、short、int、char、String类型的条件。

case具有穿透性,在switch语句中,如果case后面不写break,就会出现穿透现象,也就是说不会判断下一个case的值,直接往后运行了,直到又遇见break或者switch整体结束。

代码说明

//输出几天后是星期几
import java.util.Scanner;public class Deom04 {public static void main(String[] args) {Scanner day = new Scanner(System.in);System.out.println("请输入天数d");int d = day.nextInt();int w = d % 7;switch(w) {case 1:System.out.println("今天是周一");break;case 2:System.out.println("今天是周二");break;case 3:System.out.println("今天是周三");break;case 4:System.out.println("今天是周四");break;case 5:System.out.println("今天是周五");break;case 6:System.out.println("今天是周六");break;case 0:System.out.println("今天是周日");break;default:System.out.println("输入的数字有误");break;}}}

3.循环结构:1.for  2.while  3.do...while

for

使用for循环时,他应该是知道规律且知道循环次数才会使用for循环的

代码说明

//打印九九乘法表
/*
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
*/
public class Deom06 {public static void main(String[] args) {for (int x &#61; 1;x <10;x&#43;&#43;) {for(int y &#61; 1;y <&#61; x; y&#43;&#43;) {System.out.print(y &#43; "*"&#43; x &#43; "&#61;" &#43; x*y &#43;"\t");}System.out.println();}}}
//这里涉及到嵌套循环

import java.util.Scanner;
/*有一对兔子&#xff0c;从出生后第3个月起每个月都生一对兔子&#xff0c;小兔子长到第三个月后每个月又生一对兔子&#xff0c;
假如兔子都不死&#xff0c;问每个月的兔子总数为多少&#xff1f;*1: 1
*2: 1
*3: 2
*4: 3
*5: 5dui
*/ public class Test01 {public static void main(String[] args) {int m1 &#61; 1 ;int m2 &#61; 1;int sum ;for (int m3 &#61; 3; m3 <&#61; 12 ;m3&#43;&#43;) {/** 第一个月&#xff1a;1对* 第二个月&#xff1a;1对* 第三个月&#xff1a;2对* 第四个月&#xff1a;3对* 第五个月&#xff1a;5对* m1 &#61; 1 * m2 &#61; 1* m3 &#61; 1&#43;1 ->m2&#43;m1* m4 &#61; 2&#43;1 ->m3&#43;m2* m5 &#61; 3&#43;2 ->m4&#43;m3* */sum &#61; m1 &#43; m2 ;m1 &#61; m2;m2 &#61; sum;System.out.println("兔子现在有 " &#43; sum &#43; "对");}}}

while

当不知道规律&#xff0c;不知道需要循环多少次时使用while循环

代码说明

/** 需求:有猜数字游戏&#xff0c;其游戏规则为&#xff1a;程序内置一个 1 到 1000 之间的数字作为猜测的结果&#xff0c;由用户猜测此数字。用户每猜测一次&#xff0c;由系统提示猜测结果&#xff1a;大了、小了或者猜对了&#xff1b; 直到用户猜对结果&#xff0c;则提示游戏结束。 用户可以提前退出游戏&#xff0c;即&#xff0c;游戏过程中&#xff0c;如果用户录入数字0&#xff0c;则游戏终止。*/
import java.util.Scanner;public class Deom05 {public static void main(String[] args) {Scanner num &#61; new Scanner (System.in);System.out.println("猜数游戏开始啦");int n1 &#61; (int)(Math.random()* 1000) ;int n &#61; 1;while(n !&#61; n1) {System.out.println("请输入你心里想的数字");n &#61; num.nextInt();if(n n1) {System.out.println("数字大了哦");}else {System.out.println("恭喜你猜对啦");break;//结束循环}}num.close();//强制结束System.out.println("游戏结束");}}

do...while

与while循环不一样的是&#xff0c;它先执行一次&#xff08;do&#xff09;&#xff0c;再循环

代码说明

//do while
public class Deom08 {public static void main(String[] args) {int a &#61; 1;do {System.out.println(a);}while(a <2 );int b &#61; 1;while(b <2) {System.out.println(b);b&#43;&#43;;}}}

补充说明

break

continue

死循环&#xff1a;也就是循环中的条件永远为true&#xff0c;死循环的是永不结束的循环。例如&#xff1a;while (true)


{}

嵌套循环&#xff1a;



推荐阅读
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 字节流(InputStream和OutputStream),字节流读写文件,字节流的缓冲区,字节缓冲流
    字节流抽象类InputStream和OutputStream是字节流的顶级父类所有的字节输入流都继承自InputStream,所有的输出流都继承子OutputStreamInput ... [详细]
  • 2022年7月20日:关键数据与市场动态分析
    2022年7月20日,本文对当日的关键数据和市场动态进行了深入分析。主要内容包括:1. 关键数据的解读与趋势分析;2. 市场动态的变化及其对投资策略的影响;3. 相关经济指标的评估。通过这些分析,帮助读者更好地理解当前市场环境,为决策提供参考。 ... [详细]
  • IOS Run loop详解
    为什么80%的码农都做不了架构师?转自http:blog.csdn.netztp800201articledetails9240913感谢作者分享Objecti ... [详细]
  • 零拷贝技术是提高I/O性能的重要手段,常用于Java NIO、Netty、Kafka等框架中。本文将详细解析零拷贝技术的原理及其应用。 ... [详细]
  • 单片微机原理P3:80C51外部拓展系统
      外部拓展其实是个相对来说很好玩的章节,可以真正开始用单片机写程序了,比较重要的是外部存储器拓展,81C55拓展,矩阵键盘,动态显示,DAC和ADC。0.IO接口电路概念与存 ... [详细]
  • Java高并发与多线程(二):线程的实现方式详解
    本文将深入探讨Java中线程的三种主要实现方式,包括继承Thread类、实现Runnable接口和实现Callable接口,并分析它们之间的异同及其应用场景。 ... [详细]
  • 如何在Java中使用DButils类
    这期内容当中小编将会给大家带来有关如何在Java中使用DButils类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。D ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • 检查在所有可能的“?”替换中,给定的二进制字符串中是否出现子字符串“10”带 1 或 0 ... [详细]
  • 本文详细解析了客户端与服务器之间的交互过程,重点介绍了Socket通信机制。IP地址由32位的4个8位二进制数组成,分为网络地址和主机地址两部分。通过使用 `ipconfig /all` 命令,用户可以查看详细的IP配置信息。此外,文章还介绍了如何使用 `ping` 命令测试网络连通性,例如 `ping 127.0.0.1` 可以检测本机网络是否正常。这些技术细节对于理解网络通信的基本原理具有重要意义。 ... [详细]
  • 属性类 `Properties` 是 `Hashtable` 类的子类,用于存储键值对形式的数据。该类在 Java 中广泛应用于配置文件的读取与写入,支持字符串类型的键和值。通过 `Properties` 类,开发者可以方便地进行配置信息的管理,确保应用程序的灵活性和可维护性。此外,`Properties` 类还提供了加载和保存属性文件的方法,使其在实际开发中具有较高的实用价值。 ... [详细]
  • 在C#编程中,数值结果的格式化展示是提高代码可读性和用户体验的重要手段。本文探讨了多种格式化方法和技巧,如使用格式说明符、自定义格式字符串等,以实现对数值结果的精确控制。通过实例演示,展示了如何灵活运用这些技术来满足不同的展示需求。 ... [详细]
  • 本文详细解析了 Android 系统启动过程中的核心文件 `init.c`,探讨了其在系统初始化阶段的关键作用。通过对 `init.c` 的源代码进行深入分析,揭示了其如何管理进程、解析配置文件以及执行系统启动脚本。此外,文章还介绍了 `init` 进程的生命周期及其与内核的交互方式,为开发者提供了深入了解 Android 启动机制的宝贵资料。 ... [详细]
  • 出库管理 | 零件设计中的状态模式学习心得与应用分析
    出库管理 | 零件设计中的状态模式学习心得与应用分析 ... [详细]
author-avatar
多少年都不会变
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有