Java选择结构全解析:if与switch实战

Java选择结构全解析:if与switch实战

1.选择结构:根据条件,选择执行某一部分代码

(1).单分支if选择结构

执行规则:判断条件,如果条件为true,执行{}中的代码块m,执行完代码块结束if结构,继续往下执行if结构后面的代码,如果条件为false,直接跳过if结构,执行if结构后面的代码。注意事项:条件不管是多么简单还是多么复杂,结果都只能是一个布尔值,要么为true,要么为false。

import java.util.Scanner; public class Demo12 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入一个整数"); int num = scanner.nextInt(); if (num > 20){ System.out.println("大于20"); } System.out.println("程序结束"); scanner.close(); } }

(2).双分支if选择结构

    语法结构:
           if(条件){
               代码块m;
           }else{
               代码块n;
           }

执行规律:判断条件,如果条件为true,执行代码块m,执行完就结束整个if-else结构,继续执行if-else结构后面的代码,如果条件为false,执行代码块n,执行完就结束整个if-else结构,继续执行if-else结构后面的代码。

注意事项:条件不管是多么简单还是多么复杂,结果都只能是一个布尔值,要么为true,要么为false。

需求:从键盘输入一个整数,判断这个整数是不是大于20,如果是就输出”大于20“,如果不是输出”小于等于20“

import java.util.Scanner; public class Demo13 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入一个整数"); int num = scanner.nextInt(); if (num > 20){ System.out.println(num+"大于20"); }else { System.out.println(num+"小于等于20"); } System.out.println("程序结束"); scanner.close(); } }

(3).条件运算符和双分支if结构的切换

双分支if结构可以使用条件运算符(三目运算符/三元运算符)来进行替换

Read more

Java分治算法题目练习(快速/归并排序)

Java分治算法题目练习(快速/归并排序)

分治算法 * 颜色分类 * 排序数组(快排) * 数组中第K个最大元素 * 最小的K个数 * 排序数组(归并) * 交易逆序对的总数 * 翻转对 * 计算右侧小于当前元素的个数 使用快速排序和归并排序进行解决问题,因为这两个都是采用归并的思想 颜色分类 题目解析:将其数组中0放在左边,1放在中间,2放在右边 在双指针算法中有一个移动零的题目,就是将所有0元素移动到右边,但是非0元素相对位置不改变 那题使用双指针将其数组分为三部分,因此这题也可以将其数组分块 left表示为0区域最右侧,i遍历数组,right表示2区域最左侧 使用这三个指针将这个数组分为了4部分 classSolution{publicvoidsortColors(int[] nums){//可以将其数组分为三部分//[0,left]:全是0//[left+1,i-1]全都是1//[i,right-1]待扫描//[right,n-1]全是2int left =-1;int i =0;

By Ne0inhk
【C++:哈希表封装】用哈希表封装unordered_map和unordered_set

【C++:哈希表封装】用哈希表封装unordered_map和unordered_set

🔥艾莉丝努力练剑:个人主页 ❄专栏传送门:《C语言》、《数据结构与算法》、C/C++干货分享&学习过程记录、Linux操作系统编程详解、笔试/面试常见算法:从基础到进阶、测试开发要点全知道 ⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平 🎬艾莉丝的简介: 🎬艾莉丝的C++专栏简介: C++的两个参考文档  老朋友(非官方文档):cplusplus 官方文档(同步更新):C++ 官方参考文档 set和multiset的参考文档:set、multiset map和multimap的参考文档:map、multimap unordered_set和unordered_multiset的参考文档:unordered_set、unordered_multiset unordered_map和unordered_multimap的参考文档: unordered_map、unordered_

By Ne0inhk
HDFS数据块机制深度解析:块大小设计与存储哲学

HDFS数据块机制深度解析:块大小设计与存储哲学

HDFS数据块机制深度解析:块大小设计与存储哲学 * 引言:块——HDFS存储的核心抽象 * 一、HDFS默认块大小 * 1.1 版本演进与默认值 * 1.2 查看和验证块大小 * 1.3 配置文件中的设置 * 二、为什么HDFS采用块存储? * 2.1 核心设计思想 * 2.2 详细解析:为什么块存储如此重要? * **2.2.1 减少寻址开销,提升I/O效率** * **2.2.2 支持超大文件,超越单机限制** * **2.2.3 简化存储设计,降低元数据复杂度** * **2.2.4 便于数据复制,增强容错性** * **2.2.5 支持数据本地性,

By Ne0inhk

Python调用CosyVoice实战指南:从API封装到异常处理全解析

最近在项目中接入了CosyVoice的语音合成服务,发现官方文档虽然清晰,但真要集成到生产环境,还是有不少坑要踩。今天就把我的实战经验整理成笔记,分享给同样在摸索的开发者朋友们。 CosyVoice是一款功能强大的语音合成服务,它能将文本转换成自然流畅的语音。其核心在于提供了高质量的多种音色选择,并且支持流式音频输出。典型的应用场景非常广泛,比如为有声内容创作提供配音、为智能客服或语音助手生成应答语音,以及为各类应用增加语音播报功能。 在实际调用其HTTP API的过程中,我遇到了不少“陷阱”,总结下来主要有以下五点: 1. 鉴权Token过期与刷新:API调用依赖Access Token,而Token有有效期。新手容易在代码中写死一个Token,或者每次调用都申请一个新Token,前者会导致服务突然中断,后者则会产生不必要的开销和延迟。 2. 流式响应处理不当:CosyVoice返回的是音频二进制流。如果像处理普通JSON响应一样直接response.json(),会报错。更关键的是,需要正确处理分块接收(chunked)的数据,并写入文件或进行后续流式播放,内存管理不当容

By Ne0inhk