Java 分支及循环语句

news2025/1/14 22:00:57

文章目录

    • 一、分支语句
      • 1. if 语句
      • 2. switch 语句
    • 二、循环语句
      • 1. for 循环语句
      • 2. while 循环语句
      • 3. do...while 循环语句
      • 4. 跳转控制语句
      • 5. 循环嵌套
      • 6. Random
        • 6.1 猜数字游戏

一、分支语句

1. if 语句

if(关系表达式1) {
    语句体1;
} else if(关系表达式2){
    语句体2;
}
...
else {
    语句体n+1;
}

执行流程:
① 首先计算关系表达式1的值;
② 如果值为 true 就执行语句体1,如果值为 false 就计算关系表达式2的值;
③ 如果值为 true 就执行语句体2,如果值为 false 就计算关系表达式3的值;
④ 以此类推,如果前面关系表达式全不满足,则执行语句体 n+1。

Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
if(a == 1) {
    System.out.println("a等于1");
} else if(a == 2){
    System.out.println("a等于2");
} else {
    System.out.println("a不是1也不是2");
}

2. switch 语句

switch(表达式) {
    case1:
            语句体1;
            break;
    case2:
            语句体2break;
    ...
    default:
            语句体n+1;
            break;        
}

注意:
① case 后面跟的是要和表达式进行比较的值;
② break 表示中断、结束的意思,用来结束 switch 语句,break 不要丢掉;
③ default 表示当所有的情况都不匹配的时候,就执行该处的内容,和 if 语句的 else 相似。

Scanner sc = new Scanner(System.in);
int month = sc.nextInt();

//case穿透,可以合并结果相同的多种情况
switch(month) {
    case 1:
    case 2:
    case 12:
            System.out.println("冬季");
            break; 
    case 3:
    case 4:
    case 5:
            System.out.println("春季");
            break; 
    case 6:
    case 7:
    case 8:
            System.out.println("夏季");
            break; 
    case 9:
    case 10:
    case 11:
            System.out.println("秋季");
            break; 
    default:
            System.out.println("请输入正确的月份"); 
            break;             
}

default 下的 break 可写可不写!

二、循环语句

1. for 循环语句

for(初始化语句; 条件判断语句; 条件控制语句) {
    循环体语句;
}

执行流程:
① 执行初始化语句;
② 执行条件判断语句,如果结果是 false 循环结束,如果是 true 则继续执行;
③ 执行循环体语句;
④ 执行条件控制语句;
⑤ 回到 ② 继续。

//循环输出5次
for (int i = 1; i <= 5; i++) {
    System.out.println("我爱你!");
}

案例1:求 1—100 之间的偶数和

int sum = 0;
for (int i = 1; i <= 100; i++) {
    if (i % 2 == 0) {
        sum += i; 
    } 
}
System.out.println("1—100之间的偶数和是:" + sum);

案例2:在控制台输出所有的水仙花数

什么是水仙花数?
① 水仙花数是一个三位数;
② 水仙花数的个位、十位、百位的数字立方和等于原数。

for (int i = 100; i <= 999; i++) {
    int a = i % 10;
    int b = i / 10 % 10;
    int c = i / 100;
    int m = a ^ 3 + b ^ 3 + c ^ 3;
    if (m == i) {
        System.out.println(i);
    }
}

2. while 循环语句

while (条件判断语句) {
    循环体语句;
}
int j = 1;
while (j <= 5) {
    System.out.println("你好!");
    j++;
}

3. do…while 循环语句

do {
    循环体语句;
} while (条件判断语句);
int j = 1;
do {
    System.out.println("你好啊!");
    j++;
} while (j <= 5);

while 循环与 do...while 循环的区别是,while 是先判断后执行,而 do...while 先执行后判断。

4. 跳转控制语句

先清楚两个关键字:
continue 用在循环中,基于条件控制,跳过某次循环体内容的执行,继续下一次的执行;
break 用在循环中,基于条件控制,终止循环体内容的执行,也就是说结束当前的整个循环。

for (int i = 1; i <= 5; i++) {
    if (i % 2 == 0) {
        continue;
    }
    System.out.println(i);
}

5. 循环嵌套

分支语句中包含分支语句称为分支嵌套,循环语句中包含循环语句称为循环嵌套。

//外循环控制小时的范围,内循环控制分支的范围
for (int hour = 0; hour < 24; hour++) {
    for (int minute = 0; minute < 60; minute++) {
        System.out.println(hour + "时" + minute + "分");
    }
    System.out.println("--------");
}

6. Random

作用:用于产生一个随机数。

使用步骤:

① 导包

import java.util.Random;

② 创建对象

Random r = new Random();

③ 获取随机数

int number = r.nextInt(10); //获取数据的范围,[0, 10)

6.1 猜数字游戏

程序自动生成一个 1—100 之间的数字,请你猜出这个数字是多少?
当猜错的时候根据不同情况给出相应的提示:
如果猜的数字比真实数字大,提示你猜的数据大了;
如果猜的数字比真实数字小,提示你猜的数据小了;
如果猜的数字与真实数字相等,提示恭喜你猜中了。

import java.util.Random;
import java.util.Scanner;
public class cs {
    public static void main(String[] args) {
        Random r = new Random();
        int num = r.nextInt(100) + 1;
        Scanner sc = new Scanner(System.in);
        int x;
        while(true) {
            System.out.println("请输入你要猜的数字:");
            x = sc.nextInt();
            if (x > num) {
                System.out.println("你猜的数据大了!");
            } else  if (x < num) {
                System.out.println("你猜的数据小了!");
            } else {
                System.out.println("恭喜你猜中了!");
                break;
            }
        }
    }
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/178707.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

带你去了解什么是makefile文件

GNU make命令是用来控制从源文件生成可执行文件或非可执行文件的方式。那么make命令又是通过makefile文件来控制了。所以了解makefile文件就显得很有必要了。 makefile文件由许多规则组成&#xff0c;这些规则的形式一般是这样的&#xff1a; 目标 ... : 先决条件 ...命令目标…

PMP范围和需求的区别是什么?

定义需求&#xff1a;为满足业务需求&#xff0c;某个产品、服务或成果必须达到的条件或具备的能力。范围&#xff1a;项目所提供的产品、服务和成果的总和。在PMI中我们常说的范围一般为项目范围&#xff0c;其定义为&#xff1a;为交付具有规定特性与功能的产品、服务或成果而…

现金+股票再平衡策略的测试 - 针对恒指

最近很多人在讨论一个策略&#xff0c;就是50%现金&#xff0c;50%ETF&#xff0c;然后按照一定的策略再平衡一次&#xff0c;将会获得比单纯股票投资更安全的策略和更加稳定的收益。我做了一个简单的回测。 测试模式1 1990-01-02 - 2023-01-20 长期涨模式 首先假设我找到了一…

Redis面试题万字汇总 [施工中]

1. Redis 数据结构Redis底层有五种数据结构,String, long / double : 底层是小于Long的数字时, 使用的时long字符.它也可以支持double类型浮点数,embstr : 如果是短字符串,长度小于39个字节, 使用的是embstr数据结构. 之所以是39字节,主要是redis的jemalloc最小单位是64个字节,…

深度估计源码详解

源码链接见文末 论文地址: Monocular Depth Estimation Using Laplacian Pyramid-Based Depth Residuals | IEEE Journals & Magazine | IEEE Xplore 1.项目环境配置 项目中所包含的库直接使用pip install就好,但是有3个地方需要处理一下: fcntl,这个需要打开anacon…

DFS(六) N皇后 II

n 皇后问题 研究的是如何将 n 个皇后放置在 n n 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。 给你一个整数 n &#xff0c;返回 n 皇后问题 不同的解决方案的数量。 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode.cn/pr…

浮动 应用场景 浮动的基本特点 高度坍塌 解决浮动时盒子冲突问题

目录浮动应用场景浮动的基本特点盒子尺寸盒子排列文字环绕高度坍塌浮动 视觉格式化模型&#xff0c;大体上将页面中盒子的排列分为三种方式&#xff1a; 常规流浮动定位 应用场景 文字环绕横向排列 浮动的基本特点 修改float属性值为&#xff1a; left&#xff1a;左浮动…

【HBase入门】6. 常用 Shell 操作(3)

前言 我们可以以shell的方式来维护和管理HBase。例如&#xff1a;执行建表语句、执行增删改查操作等等。 过滤器的用法 过滤器一般结合scan命令来使用。打开HBase的JAVA API文档。找到RowFilter的构造器说明&#xff0c;我们来看以下&#xff0c;HBase的过滤器该如何使用。 …

快速排序的实现和优化~

相比于冒泡排序的改进点&#xff1a; 在前面学过的冒泡排序中&#xff0c;由于扫描过程只对相邻的两个元素进行比较&#xff0c;因此在互换两个相邻元素时&#xff0c;只能消除一个逆序&#xff0c;如果能通过两个(不相邻的)元素的交换&#xff0c;消除待排序记录 中的多个逆序…

docker desktop window10家庭版踩坑实录

安装 桌面版&#xff1a;https://www.docker.com/products/docker-desktop 这里我就安装的是桌面版 选择windows 前置工作 1.按下 wins&#xff08;找到这个&#xff09; 将下面的这个勾选中&#xff0c;如果你是家庭版很可能没有这个东西&#xff0c;那么请看我的这篇文章…

5-5中央处理器-指令流水线

文章目录一.基本概念1.多条指令在处理器中的执行方式&#xff08;1&#xff09;顺序执行方式/串行执行方式&#xff08;2&#xff09;流水线执行方式①一次重叠执行方式②二次重叠执行方式2.流水线的表示方法&#xff08;时空图&#xff09;3.超标量流水线二.分类1.部件功能级、…

第四十五章 动态规划——背包问题模型(二)

一、概述 我们在上一章中已经对背包模型做了一定地讲解&#xff0c;但是我们发现其实在上一章节中我们所介绍的例题大部分是给背包问题套上一个背景&#xff0c;当我们识破了背后的模型后&#xff0c;我们就可以直接套用模板&#xff0c;基本不需要对代码做改变。 那么在这一…

SpringBoot读写Redis客户端并实现技术切换(Jedis)

SpringBoot整合Redishttps://blog.csdn.net/weixin_51882166/article/details/128759780?spm1001.2014.3001.5501 读写客户端 首先应该打开redis服务&#xff1b; cd命令进入Redis安装目录下&#xff1a; 进入Redis客户端&#xff1a; redis-cli.exe -h 127.0.0.1 -p 6379…

梯度下降算法有哪些?有什么区别?【背景、原理、公式、代码】

一、梯度下降算法背景 梯度下降是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法。在求解损失函数的最小值时,可以通过梯…

行为型模式-职责链模式

1.概述 在现实生活中&#xff0c;常常会出现这样的事例&#xff1a;一个请求有多个对象可以处理&#xff0c;但每个对象的处理条件或权限不同。例如&#xff0c;公司员工请假&#xff0c;可批假的领导有部门负责人、副总经理、总经理等&#xff0c;但每个领导能批准的天数不同…

记一段相亲反思

记一段相亲反思项目系统启动项目相亲需求的细分高净值人群特定类型的高预期结婚结婚前的彩礼引流系统启动流量&#xff0c;从哪里来&#xff1f;作弊避险&#xff0c;什么钱不能赚&#xff1f;这不是一篇找对象的文章&#xff0c;而是帮别人找对象来赚钱的文章。 项目系统 启…

洛谷-P2114 [NOI2014] 起床困难综合症

题目链接: P2114 [NOI2014] 起床困难综合症 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述: 21 世纪&#xff0c;许多人得了一种奇怪的病&#xff1a;起床困难综合症&#xff0c;其临床表现为&#xff1a;起床难&#xff0c;起床后精神不佳。作为一名青春阳光好少…

Bayesian Personalized Ranking from Implicit Feedback 阅读笔记

Abstract BPR主要用于基于隐式反馈(implicit feedback)的Item Recommendation。 尽管有很多做同样事情的算法比如matrix factorization&#xff0c; knearest-neighbor。但他们并不是直接对于物品排名本身进行预测的。 而BPR则是通过贝叶斯分析得到最大的后验估计量来预测排…

基于蜣螂算法优化概率神经网络PNN的分类预测-附代码

基于蜣螂算法优化概率神经网络PNN的分类预测 - 附代码 文章目录基于蜣螂算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立3.基于蜣螂优化的PNN网络5.测试结果6.参考文献7.Matlab代码摘要&#xff1a;针对PNN神经网络的光滑因…

[GYCTF2020]EasyThinking (ThinkPHP V6.0.0)

[GYCTF2020]EasyThinking 打开以后就注册一些功能&#xff0c;注册admin admin&#xff0c;成功然后尝试search这个方法是否有任意文件读取漏洞&#xff0c;试了试没有任何的回显。 然后个人中心&#xff0c;显示的是自己的历史命令 接下来&#xff0c;呃呃呃就没思路了&…