【Java学习笔记】选择结构
选择结构
内容结构
-
一、顺序结构
-
二、分支控制
-
三、
switch
和if
的比较
一、顺序结构
特点:从程序入口进入,依次执行每一条语句,直到程序出口
注意点:依据程序执行的特点,变量应该先声明,后执行
二、分支结构
(1)if-else
-
if(表达式)
-
表达式为
true
:执行if
括号内的语句 -
表达式为
false
:执行else
括号内的语句
(2)if - else if - .... - else
-
程序只有一个出口,如果符合条件,后面的条件不会继续判断
-
如果所有条件都不符合,默认执行
else
语句 -
可以没有
else
语句
(3)循环嵌套
(4)switch
结构
switch(表达式){case 常量一:语句一;break;case 常量二:语句二;break;...........default:default 语句块;break;
}
-
执行原理说明
-
(1)以
switch
表达式作为基准,逐个和 case 常量进行比较-
1. 如果成功匹配,则执行对应
case
的语句 -
2. 如果所有都不匹配,执行
default
语句
-
-
(2)执行完
case
语句之后跳出switch
结构,接着执行后面的语句
-
-
语句穿透
-
如果没有
break
,程序会一直执行下去(即后面每个case
语句的内容) -
如果遇到
break
,跳出switch
语句,继续执行后面的代码
-
-
使用的注意点
-
(1)每一个
case
情况必须要有一个break -
(2)switch 表达式
-
1. 表达式的数据类型必须和
case
的常量类型一致,或者是可以自动转成可以相互比较的类型,例如:输入字符
和常量int
-
2. (重点!!!)
switch
表达式中的返回值必须是:byte short int char enum(枚举) String
-
-
(3)
case
句子中的值必须是常量,不可以是变量
-
三、switch
和if
的比较
-
(1)
switch
语句可以与byte
、short
、int
、char
、enum
类型一起使用,字符串(String
)也可以用于switch
语句。但不支持long
类型。并且,switch
语句的使用必须遵循一定的规则。 -
(2)
switch
语句可以用于boolean
类型,它的分支结构应根据true
或false
进行匹配。具体使用时,可以利用这些条件来决定程序执行路径。
相关文章:
【Java学习笔记】选择结构
选择结构 内容结构 一、顺序结构 二、分支控制 (1)单分支 (2)双分支 (3)多分支 (4)嵌套分支 (5)switch 分支结构 三、switch和if的比较 一、顺序结构…...
java Nacos
windows下载nacos,版本2.x的,1.0的话会出现“Server check fail, please check server 127.0.0.1 ,port 9848 is available , error {}” 这个鬼问题 下载链接 这里用的是2.0.4版本,启动的话用 startup.cmd -m standalone,单体启…...
c语言之杂识
前言 主要说一下c语言的杂知识 一、预处理指令 1. #include #include指令用于包含其他头文件的内容到当前文件中。这允许您在程序中使用其他模块定义的函数和变量。 示例: #include <stdio.h> // 包含标准输入输出头文件int main() {printf("Hello…...
CSS内边距、外边距、边框
CSS内边距 内边距 :内容区(Content)与边框(Border)之间的透明间距,用于增加元素内部的留白。不影响元素内容本身的尺寸(如文字大小),但会增大元素的总占用空间。 以下是…...
融山科技前端面经
前端面试问题解答 这次是波珠的第三次面试,持续打怪升级,积累面试中面试官问到的不会的点子。 1.自我介绍 面试官您好,我是来自XX学校XX专业本科的XX名字,然后介绍在学校情况,我就介绍了大一自学前端,然…...
元素滚动和内容垂直居中同时存在,完美的 html 元素垂直居中的方法flex + margin: auto
假设有一个元素 div 作为父容器且宽高固定,里面的内容 content 在父容器中垂直/水平都居中,且当内容很多时,父元素滚动overflow: auto,content的内容要能够完全展示。 我之前在这篇文档提到了两个方法: 使用 flex s…...
STM32F103 单片机(基于 ARM Cortex-M3 内核)的启动过程涉及硬件初始化、固件配置和程序执行流程。
1. 启动模式与地址映射 STM32F103 的启动模式由 BOOT0 和 BOOT1 引脚配置决定,不同的启动模式对应不同的存储器映射: 启动模式 映射地址范围 说明 主 Flash 0x08000000~0x0807FFFF 用户程序存储在 Flash 中,复位后从 Flash 启动(…...
c++中iota容器和fill的区别
在C 中,std::iota 和 std::fill 都是标准库中的函数,用于对序列进行操作,它们的功能和用法如下: std::iota 功能:std::iota 函数用于将一个连续的递增序列赋值给指定范围的元素。它接受三个参数,第一个参…...
Kafka集群
kafka集群: kafka-server-start.sh;kafka-server-stop.sh cd/opt/software/kafka/ kafka.sh上传:cd /usr/local/bin/ 执行文件变成绿色:chmod 777 kafka.sh Kafka.sh start Xcall.sh jps...
多源数据集成技术分析与应用实践探索
摘要:本文聚焦多源数据集成技术,深入剖析联邦式、基于中间件模型及数据仓库三类主流技术的侧重点与应用场景。通过实际案例阐述多源数据集成应用构建过程,旨在为企业数据整合与共享提供理论指导与实践参考,助力企业提升数据利用效…...
UniOcc:自动驾驶占用预测和预报的统一基准
25年3月来自 UC Riverside、U Wisconsin 和 TAMU 的论文"UniOcc: A Unified Benchmark for Occupancy Forecasting and Prediction in Autonomous Driving"。 UniOcc 是一个全面统一的占用预测基准(即基于历史信息预测未来占用)和基于摄像头图…...
反向代理和DDNS的区别是什么?
反向代理(Reverse Proxy)和动态域名解析(DDNS,Dynamic Domain Name System)是两种不同的网络技术,虽然它们都与外部访问内部服务相关,但解决的问题和应用场景完全不同。具体区别如下:…...
markdown展示数学公式
要让Markdown正确展示数学公式,你需要使用支持数学公式渲染的工具,比如在支持LaTeX语法的Markdown编辑器中进行编写。 Markdown本身并不原生支持数学公式的渲染,但许多Markdown解析器(例如在GitHub、Jupyter Notebooks、或一些博…...
服务器编译环境配置及数据接收脚本编写(11)
文章目录 一、本章说明二、云端服务器Python编译环境配置三、传感数据解析脚本编写一、本章说明 注:本节为【基于STM的环境监测系统(节点+云服务器存储+QT界面设计)】项目第11篇文章,上面两篇介绍了云服务器数据库的安装与相关设置,本章主要介绍在服务器中安装Python编译…...
硬件基本概念
目录 基本概念 电压 电流 串联、并联 欧姆定律 电路仿真网址: 功率 焦耳定律 AC220V 转 DC5V 基本电子元器件了解 电阻:(电阻器) 电容 电感 继电器 二极管 三极管 晶振(晶体振荡器) 光耦…...
Spark与Hadoop之间的联系与区别
联系 生态系统互补: Hadoop 是一个分布式存储和计算平台,主要包括 HDFS(分布式文件系统)和 MapReduce(分布式计算框架)。Hadoop 提供了可靠的数据存储和分布式计算的基础。 Spark 是一个高性能的分布式计算…...
spark和Hadoop之间的对比与联系
对比 计算模型: Hadoop:采用MapReduce计算模型,分map与reduce两个阶段,数据处理按阶段顺序执行,数据处理按阶段顺序执行,中间结果会写入磁盘,I/O开销大。 Spark:基于弹性分布式数…...
0802api设计和实战-网络ajax请求1-react-仿低代码平台项目
文章目录 1 API设计1.1 用户功能1.1.1 获取用户信息1.1.2 注册1.1.3 登录 1.2 问卷功能1.2.1 获取单个问卷1.2.2 获取问卷列表1.2.3 创建问卷1.2.4 更新问卷1.2.5 批量彻底删除问卷1.2.6 复制问卷 1.3 小结 2 实战2.1配置axios2.2 封装API和测试2.3 新建问卷2.4 自定义hooks封装…...
什么是CAN的非破坏仲裁?
CAN总线的非破坏性仲裁是一种在多个设备同时发送数据时,通过标识符(ID)优先级来决定哪个设备可以优先发送数据的机制。其核心思想是:当多个设备同时发送数据时,ID值较小的数据具有更高的优先级,能够优先…...
无线监控系统分类全解析:搭配视频融合平台EasyCVR开启高效监控
随着技术的发展,无线监控系统在家庭、小型企业、特定行业以及室外恶劣环境中的应用越来越广泛。本文将介绍几种常见的无线监控系统,分析其优缺点,并结合EasyCVR视频融合平台的功能,探讨如何优化无线监控系统的性能和应用。 一、主…...
并行RANSAC平面拟合(C++)
依赖库 1)Eigen 2)GLM 算法大致思路 Step 1:源点云随机采样3个点; Step 2:3个点拟合平面,统计符合该平面模型的点,为inlier点; Step 3:判断inlier点比例是否达到阈…...
Docker核心技术精讲:从入门到企业级实战
第一章>Docker概述 第二章>Docker安装与镜像下载加速 第三章>镜像 第四章>容器 第五章>发布镜像到阿里云或私有化仓库 第六章>容器卷 第七章>Docker安装常用软件 第八章>Docker高级版-Mysql主从复制、Redis主从、分布式存储 第九章>Doc…...
【KWDB 创作者计划】_深度学习篇---向量指令集
文章目录 前言一、加速原理数据级并行(DLP)计算密度提升减少指令开销内存带宽优化隐藏内存延迟 二、关键实现技术1. 手动向量化(Intrinsics)优势挑战 2. 编译器自动向量化限制 3. BLAS/LAPACK库优化4. 框架级优化 三、典型应用场景…...
音视频小白系统入门课-4
本系列笔记为博主学习李超老师课程的课堂笔记,仅供参阅 往期课程笔记传送门: 音视频小白系统入门笔记-0音视频小白系统入门笔记-1音视频小白系统入门笔记-2音视频小白系统入门笔记-3 将mp4文件转换为yuv文件 ffmpeg -i demo.mp4 # 输入文件-an …...
CS144 Lab3 实战记录:TCP 发送器实现
文章目录 1 实验背景与目标2 TCP发送器的实现2.1 整体流程2.2 核心组件2.3 窗口管理2.4 关键函数实现2.4.1 push函数2.4.2 receive函数2.4.3 tick函数 3 仓库地址 1 实验背景与目标 在 TCP 协议中,发送器(TCP Sender)是实现可靠传输的核心组…...
Transformer:引领深度学习新时代的架构
引言 在深度学习的快速发展历程中,Transformer 架构如同璀璨的新星,照亮了自然语言处理(NLP)以及计算机视觉(CV)等众多领域的前行道路。自 2017 年在论文《Attention Is All You Need》中被提出以来&#…...
基于RabbitMQ实现订单超时自动处理
基于RabbitMQ实现订单超时自动处理 引言 在现代电商系统中,订单超时自动取消是一个常见的业务需求。传统的定时任务扫描数据库的方式存在性能瓶颈和实时性差的问题。本文将介绍如何使用RabbitMQ的消息队列和死信队列特性,构建一个高效可靠的订单超时自…...
nginx实现同一个端口监听多个服务
nginx实现同一个端口监听多个服务 前言原理配置不同域名基于路径(URL 路由)补充 总之完结撒花,如有需要收藏的看官,顺便也用发财的小手点点赞哈,如有错漏,也欢迎各位在评论区评论! 前言 受同…...
用 Firebase 和 WebRTC 快速搭建一款浏览器视频聊天应用
在现代 Web 应用中,实时音视频通信变得越来越普遍。本文将通过一个简洁实用的示例,带你一步步搭建一个基于 Firebase WebRTC 的浏览器视频聊天应用,帮助你理解 WebRTC 的核心通信机制以及如何借助 Firebase 进行信令传输。 🔧 技…...
记录一次OGG进程abended,报错OGG-01431、OGG-01003、OGG-01151、OGG-01296问题的处理
1. ogg进程abended的几种常见原因: 1. undo表空间不足导致abended。 2. 数据不一致,违反唯一约束导致abended。 3. 源端和目标端表结构不一致导致abended。 4. 源端表名过长,同步到目标端报错导致abended。 5. OGG-03517字符集转换问题导…...
机器学习分类算法详解:原理、应用场景与测试用例
机器学习分类算法详解:原理、应用场景与测试用例 一、基础分类算法 1. 决策树 原理: 通过递归划分数据集,选择信息增益(ID3)或基尼系数(CART)最大的特征作为分裂节点,构建树结构。叶节点代表分类结果。应用场景: 医疗诊断(需解释性,如判断疾病风险)。客户分群(如根…...
机器人仿真:相机信息仿真及显示
1)概要 除了激光雷达以外,机器人常用的视觉传感器还包括相机,相机图像能够获取真实世界的真实颜色和纹理信息,能够被用于进行目标检测、分割和追踪。 2)结果展示...
车载功能测试-车载域控/BCM控制器测试用例开发流程【用例导出方法+优先级划分原则】
目录 1 摘要2 位置灯手动控制简述2.1 位置灯手动控制需求简述2.2 位置灯手动控制逻辑交互图 3 用例导出方法以及优先级原则3.1 用例导出方法3.1.1 用例导出方法介绍3.1.2 用例导出方法关键差异分析 3.2 优先级规则3.2.1 优先级划分的核心原则3.2.2 具体等级定义与判定标准 3.3 …...
gem5-gpu教程05 内存建模
memory-modeling|Details on how memory is modeled in gem5-gpu ====== gem5-gpu’s Memory Simulation ====== gem5-gpu, for the most part, eschews GPGPU-Sim’s separate functional simulation and instead uses gem5’s execute-in-execute model. Therefore, memory …...
如何提升个人解决问题的能力?
提升个人解决问题的能力是一个系统性工程,涉及思维、知识、经验和心态的多方面提升。以下是一些具体且可操作的方法,帮助你逐步增强解决问题的能力: 1. 培养「结构化思维」 明确问题本质: 遇到问题时,先问自己&…...
CSS清楚默认样式
* {margin: 0;padding: 0;box-sizing: border-box;} 这段 CSS 代码是一个常见的全局样式重置代码块,它会对网页中的所有元素(通过通配符 * 选择器)应用相同的样式规则,下面分别解释每一条规则的作用。 margin: 0; 在 HTML 中&a…...
问题:raw.githubusercontent无法访问
问题:raw.githubusercontent无法访问 文章目录 一、问题二、hosts文件2.1、hosts文件简介2.2、hosts文件位置2.3、hosts文件修改 3、解决方法3.1、查询出raw.githubusercontent.com的ip地址3.2、在/etc/hosts里填写IP地址3.3、再次执行命令 4、一些常用IP地址 一、问…...
【C语言】文本操作函数fgetc、fputc、fgets、fputs、fprintf、fscanf、fread、fwrite
一、介绍 二、简要概括 三、函数的使用 1、fgetc和fputc int fgetc ( FILE * stream ); 从文件中读取信息,每次读取一个字符 从流中获取字符返回指定流的内部文件位置指示符当前指向的字符。然后将内部文件位置指示符推进到下一个字符 int main() {//打开文件FI…...
(19)VTK C++开发示例 --- 分隔文本读取器
文章目录 1. 概述2. CMake链接VTK3. main.cpp文件4. 演示效果 更多精彩内容👉内容导航 👈👉VTK开发 👈 1. 概述 本例采用坐标和法线(x y z nx ny nz)的纯文本文件,并将它们读入vtkPolyData并显示…...
C++ 中 std::thread 的高级应用
C 中 std::thread 的高级应用、常见坑,以及如何封装为类,适合做线程池、异步任务、后台 worker、并发调度等场景。内容结构如下: 一、std::thread 高级用法清单 1. 线程成员函数调用(this 捕获) class Worker { publ…...
Linux之彻底掌握防火墙-----安全管理详解
—— 小 峰 编 程 目录: 一、防火墙作用 二、防火墙分类 1、逻辑上划分:大体分为 主机防火墙 和 网络防火墙 2、物理上划分: 硬件防火墙 和 软件防火墙 三、硬件防火墙 四、软件防火墙 五、iptables 1、iptables的介绍 2、netfilter/…...
Linux安装ffmpeg7.1操作说明
安装yasm Index of /projects/yasm/releases/ 下载最新版 wget https://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz 解压 tar -zxvf yasm-1.3.0.tar.gz 编译及安装 ./configure make && make install 安装ffmpeg https://download.csdn.net/down…...
Java 加密与解密:从算法到应用的全面解析
Java 加密与解密:从算法到应用的全面解析 一、加密与解密技术概述 在当今数字化时代,数据安全至关重要。Java 加密与解密技术作为保障数据安全的关键手段,被广泛应用于各个领域。 加密是将明文数据通过特定算法转换为密文,使得…...
海思SDK的sensor驱动框架
对于海思的SDK之前一直对驱动的框架不清楚,只知道mpp的目录下的一些简单的业务demo,归根结底对这个SDK的框架还是不够了解,研究了一段时间才对该框架有一点认识。SDK是通过Makefile来管理和编译的所以对于Makefile文件需要有一定的理解&#…...
MyBatis-Plus 使用 Wrapper 构建动态 SQL 有哪些优劣势?
MyBatis-Plus (MP) 提供的 Wrapper (如 QueryWrapper, LambdaQueryWrapper, UpdateWrapper, LambdaUpdateWrapper) 是其核心特性之一,它允许我们在开发时以面向对象的方式构建 SQL 的 WHERE 条件、ORDER BY、SELECT 字段列表等部分。与传统的 MyBatis 在 XML 文件中…...
【PGCCC】Postgres 故障排除:修复重复的主键行
如何从表中删除不需要的重复行。这些重复行之所以“不需要”,是因为同一个值在指定为主键的列中出现多次。自从 glibc 好心地改变了排序方式后,我们发现这个问题有所增加。当用户升级操作系统并修改底层 glibc 库时,这可能会导致无效索引。 唯…...
Java多线程的暗号密码:5分钟掌握wait/notify
wait和join的区别 wait和join在使用上都是等待。 但是join是等待其他线程结束,而wait是等待其他线程的notify通知再运行。 当拿到锁的线程,发现要执行的任务时机不成熟的时候,使用wait进行阻塞等待,然后等时机成熟了再notify通…...
【重学Android】03.高版本 Android Studio 不能使用引用库资源ID的问题
问题背景 由于直接下载的最新版本Android Studio,然后直接创建的新项目,因此默认的工程配置相比以前的老版本有了不少的变化,Gradle的新版本使用,导致一些配置项也发生了变化,加上谷歌针对gradle.properties文件的一些…...
8. kubernetes的service原理
Kubernetes 的 Service 是集群内部和外部访问 Pod 的核心抽象层,解决了 Pod 动态 IP 变化及负载均衡问题。以下是其核心概念、原理及使用方法: 一、Service 的核心概念 概念说明服务发现通过标签选择器(selector)动态关联一组 Po…...
杭电oj(1087、1203、1003)题解
DP 即动态规划(Dynamic Programming),是一种通过把原问题分解为相对简单的子问题,并保存子问题的解来避免重复计算,从而解决复杂问题的算法策略。以下从几个方面简述动态规划: 基本思想 动态规划的核心在…...