java:Java中的逻辑控制

news2024/11/24 4:26:06

顺序结构

在Java中,顺序结构是指代码按照从上到下的顺序依次执行。以下是一个简单的Java程序示例,展示了顺序结构的使用:

public class SequenceStructureExample {
    public static void main(String[] args) {
        // 声明和初始化变量
        int num1 = 10;
        int num2 = 20;
        
        // 计算两个数的和
        int sum = num1 + num2;
        
        // 打印结果
        System.out.println("两个数的和为:" + sum);
    }
}

在这个示例中,程序按照顺序执行以下步骤:

  1. 声明和初始化变量num1num2,分别赋值为10和20。
  2. 计算num1num2的和,将结果赋值给变量sum
  3. 使用System.out.println()方法打印出两个数的和。

分支结构

分支结构用于根据条件选择不同的执行路径。在Java中,主要有两种分支结构:if语句和switch语句。

  • if 语句

if语句根据条件的真假来执行不同的代码块。语法如下:

if (condition) {
    // 如果条件为真,执行这里的代码
} else {
    // 如果条件为假,执行这里的代码
}

如果条件为真,则执行if块中的代码;如果条件为假,则执行else块中的代码。 

  • switch 语句

switch语句用于根据表达式的值选择不同的执行路径。语法如下:

switch (expression) {
    case value1:
        // 如果表达式的值等于value1,执行这里的代码
        break;
    case value2:
        // 如果表达式的值等于value2,执行这里的代码
        break;
    // 可以有多个case
    default:
        // 如果表达式的值不匹配任何case,执行这里的代码
}

根据表达式的值,执行与匹配的case对应的代码块。如果没有匹配的case,则执行default块中的代码。


循环结构

循环结构用于重复执行特定的代码块,直到满足退出条件。在Java中,主要有几种循环结构:while循环、do-while循环、for循环。

  • while 循环

while循环在每次迭代之前检查循环条件,只有条件为真时才执行循环体。语法如下:

while (condition) {
    // 当条件为真时,执行这里的代码
}
  • for 循环

for循环用于指定循环的起始值、终止条件和迭代步长。语法如下:

for (initialization; condition; update) {
    // 每次迭代执行这里的代码
}

其中,initialization用于初始化循环控制变量,condition是循环继续的条件,update用于更新循环控制变量。

  • do while 循环

do-while循环与while循环类似,不同之处在于它先执行一次循环体,然后检查循环条件。语法如下:

do {
    // 执行这里的代码
} while (condition);


输入输出

输入:

System.out.println(msg);            // 输出一个字符串, 带换行

System.out.print(msg);              // 输出一个字符串, 不带换行

System.out.printf(format, msg); // 格式化输出
  • println 输出的内容自带 \n, print 不带 \n
  • printf 的格式化输出方式和 C 语言的 printf 是基本一致的.

 代码示例:

System.out.println("hello world");
 

int x = 10;

System.out.printf("x = %d\n", x)

 

输出 :

    先在main函数里敲出如下代码:

Scanner sc = new Scanner(System.in);

 此时,idea会自动跳出如下代码:

import java.util.Scanner;  // 需要导入 util 包

这时,我们就能输入对应的字符值在控制台中(注意用变量接受输入值,如int a=sc.nextInt();),如: 

import java.util.Scanner;  // 需要导入 util 包

 

Scanner sc = new Scanner(System.in);

System.out.println("请输入你的姓名:");

String name = sc.nextLine();

System.out.println("请输入你的年龄:");

int age = sc.nextInt();

System.out.println("请输入你的工资:");

float salary = sc.nextFloat();

System.out.println("你的信息如下:");

System.out.println("姓名: "+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary);

sc.close(); // 注意, 要记得调用关闭方法

 

// 执行结果

请输入你的姓名:
张三
请输入你的年龄:

18

请输入你的工资:

1000

你的信息如下:
姓名: 张三
年龄:18

工资:1000.0

猜数字游戏

import java.util.Random;

import java.util.Scanner;;
 

class Test {
 public static void main(String[] args) {
 Random random = new Random(); // 默认随机种子是系统时间

 Scanner sc = new Scanner(System.in);
 int toGuess = random.nextInt(100);
 // System.out.println("toGuess: " + toGuess);

 while (true) {
 System.out.println("请输入要输入的数字: (1-100)");
 int num = sc.nextInt();
 if (num < toGuess) {
 System.out.println("低了");
 } else if (num > toGuess) {
 System.out.println("高了");
 } else {
 System.out.println("猜对了");
 break;
 }
 }
 sc.close();
 }
}

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

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

相关文章

51-2 万字长文,深度解读端到端自动驾驶的挑战和前沿

去年初&#xff0c;我曾打算撰写一篇关于端到端自动驾驶的文章&#xff0c;发现大模型在自动驾驶领域的尝试案例并不多。遂把议题扩散了一点&#xff0c;即从大模型开始&#xff0c;逐渐向自动驾驶垂直领域靠近&#xff0c;最后落地到端到端。这样需要阐述的内容就变成LLM基础模…

SAP PP学习笔记 - 豆知识05 - 如何定义品目状态,如何删除品目,如何扩张品目

本章讲SAP 中一些常用操作。 - 设定品目状态&#xff1a;控制让一个品目&#xff08;物料&#xff09;准备好了以后再提供出来给大家 - 删除品目&#xff1a;一般来说是逻辑删除&#xff0c;但是做了归档之后&#xff0c;也可以物理删除 - 扩张品目&#xff1a;品目的View非…

《最新出炉》系列初窥篇-Python+Playwright自动化测试-19-处理鼠标拖拽-中篇

1.简介 上一篇中&#xff0c;主要是介绍了拖拽的各种方法的理论知识以及实践&#xff0c;今天宏哥讲解和分享一下划取字段操作。例如&#xff1a;需要在一堆log字符中随机划取一段文字&#xff0c;然后右键选择摘取功能。 2.划取字段操作 划取字段操作就是在一段文字中随机选…

[BUUCTF]-PWN:axb_2019_heap解析(格式化字符串漏洞,unlink,off by one)

查看保护 查看ida 大致就是alloc创建堆块&#xff0c;free释放堆块&#xff0c;以及fill填充堆块 解释get input函数&#xff1a; 这里解释一下get input函数 这个函数是人工编写的&#xff0c;其中*v410那里是把接受到的换行符变为\x00&#xff0c;并且结束输入。 v3那里&a…

单调队列和优先队列

本篇记录下一下关于单调队列和优先队列&#xff08;堆&#xff09;的方法以及解题思路. 文章目录 一. 单调队列1. 绝对差不超过限制得最长连续子数组2. 跳跃游戏 VI3. 设计自助结算系统4. 和至少为k的最短子数组5. 满足不等式的最大值 二. 优先队列1. 最后一块石头的重量2. 数据…

CoWoS封装产能短缺挑战AI芯片市场需求

随着人工智能、云计算、大数据分析和移动计算等技术的蓬勃发展&#xff0c;现代社会对计算能力的需求日益高涨。然而&#xff0c;在先进制程突破3纳米后&#xff0c;晶圆尺寸遭遇缩放极限&#xff0c;制造成本也随之上升。因此&#xff0c;除了继续研发先进制程外&#xff0c;半…

网络防火墙综合实验

备注&#xff1a;电信网段15.1.1.0 移动网段14.1.1.0 办公区 11.1.1.0 生产区 10.1.1.0 服务区 13.1.1.0 公网 1.1.1.1 和 2.2.2.2 需求&#xff1a; 1、办公区设备可以通过电信链路和移动链路上网&#xff08;多对多nat&#xff0c;并且需要保留一个公网ip&#xff09; 2、…

C#,入门教程(05)——Visual Studio 2022源程序(源代码)自动排版的功能动画图示

上一篇&#xff1a; C#&#xff0c;入门教程(04)——Visual Studio 2022 数据编程实例&#xff1a;随机数与组合https://blog.csdn.net/beijinghorn/article/details/123533838 新来的徒弟们交上来的C#代码&#xff0c;可读性往往很差。 今天一问才知道&#xff0c;他们居然不…

使用go-llama.cpp 运行 yi-01-6b大模型,使用本地CPU运行,速度挺快的

1&#xff0c;视频地址 2&#xff0c;关于llama.cpp 项目 https://github.com/ggerganov/llama.cpp LaMA.cpp 项目是开发者 Georgi Gerganov 基于 Meta 释出的 LLaMA 模型&#xff08;简易 Python 代码示例&#xff09;手撸的纯 C/C 版本&#xff0c;用于模型推理。所谓推理…

CMake无Name和Value部分界面

鼠标会变成以下 拉开后就 出现想要的部分

SpaceX 发射军用卫星,用于跟踪高超音速导弹

上周三&#xff0c;导弹防御局的两颗原型卫星和美国太空军的四颗导弹跟踪卫星搭乘 SpaceX 猎鹰 9 号火箭从佛罗里达州太空海岸进入轨道。 这些卫星是新一代航天器的一部分&#xff0c;旨在跟踪中国或俄罗斯发射的高超音速导弹&#xff0c;以及可能来自正在开发自己的高超音速武…

蓝桥杯:C++贪心算法、字符串函数、朴素模式匹配算法、KMP算法

贪心算法 贪心(Greedy)算法的原理很容易理解&#xff1a;把整个问题分解成多个步骤&#xff0c;在每个步骤都选取当前步骤的最优方案&#xff0c;直到所有步骤结束&#xff1b;每个步骤都不考虑对后续步骤的影响&#xff0c;在后续步骤中也不再回头改变前面的选择。 贪心算法…

折叠式隐形纱窗原理

如果出现上轨与下轨不同步&#xff0c;可分析是否是某些绳子被拉长导致的。 以上图现象为例&#xff0c;可调整折叠纱窗一侧上部分的4跟组织线长度。从而解决上轨与下轨拉动不同步的问题。

【天衍系列 01】深入理解Flink的 FileSource 组件:实现大规模数据文件处理

文章目录 01 基本概念02 工作原理03 数据流实现04 项目实战4.1 项目结构4.2 maven依赖4.3 StreamFormat读取文件数据4.4 BulkFormat读取文件数据4.5 使用小结 05 数据源比较06 总结 01 基本概念 Apache Flink 是一个流式处理框架&#xff0c;被广泛应用于大数据领域的实时数据…

报表开发工具DevExpress .NET Reporting v23.2亮点 - 支持智能标签

DevExpress Reporting是.NET Framework下功能完善的报表平台&#xff0c;它附带了易于使用的Visual Studio报表设计器和丰富的报表控件集&#xff0c;包括数据透视表、图表&#xff0c;因此您可以构建无与伦比、信息清晰的报表。 DevExpress Reporting控件日前正式发布了v23.2…

STM32学习·HAL库·STM32CubeMX系列学习(安装和使用)

目录 ​编辑 1. STM32CubeMX简介 2. STM32CubeMX安装 2.1 STM32CubeMX软件获取 2.1.1 获取Java软件 2.1.2 STM32CubeMX软件获取 2.2 搭建Java运行环境 2.3 安装STM32CubeMX软件 2.4 下载和关联STM32cube固件包 1. STM32CubeMX简介 STM32CubeMX 是 ST 微电子公…

Go 是否有三元运算符?Rust 和 Python 是怎么做的?

嗨&#xff0c;大家好&#xff01;本文是系列文章 Go 技巧第十四篇&#xff0c;系列文章查看&#xff1a;Go 语言技巧。 今天来聊聊在 Go 语言中是否支持三元运算符。这个问题很简单&#xff0c;没有。 首先&#xff0c;什么是三元运算符&#xff1f; 在其他一些编程语言中&a…

The Sandbox NFT 概览与数据分析

作者&#xff1a;stellafootprint.network 编译&#xff1a;cicifootprint.network 数据源&#xff1a;The Sandbox NFT Collection Dashboard Sandbox NFT 系列包括独特的体素资产和 LAND 地块&#xff0c;使所有者能够在 The Sandbox 元宇宙中构建、玩虚拟体验并从中获…

【VSCode】设置 一键生成vue模板 的快捷入口

问题 每次写一个组件的时候&#xff0c;都需要去手敲默认结构或者是复制粘贴&#xff0c;十分的麻烦&#xff01; 解决办法 文件 > 首选项 > 用户代码片段 > vue.json 配置vue模板 其中prefix是用来触发代码段的内容&#xff0c;即模版的快捷入口&#xff1b;body里…

红帽认证——步入优质职场的第一步

在当今数字化时代&#xff0c;掌握先进的技术和技能是开启成功职业生涯的关键。红帽认证课程将为你提供这样的机会&#xff0c;帮助你成为一名具备实际操作能力的专业人士。Redhat&#xff0c;红帽公司是全球知名的开源技术厂家&#xff0c;领先的开源解决方案供应商。Linux有很…