Java运算符学习笔记
运算符
-运算符介绍
运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
- 算数运算符
- 赋值运算符
- 关系运算符[比较运算符]
- 逻辑运算符
- 位运算符[需要二进制基础]
- 三元运算符
-算数运算符
-
介绍
算数运算符是对数值类型的变量进行运算的,在Java程序中使用的非常多。
-
算数运算符一览
运算符 | 运算 |
---|---|
+ | 正号 |
- | 负号 |
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 取模(取余) |
++(前)、++(后) | 自增(前):先运算后取值;自增(后):先取值后运算 |
–(前)、–(后) | 自减(前):先运算后取值;自减(后):先取值后运算 |
+ | 字符串相加 |
-
面试题
public class ArithmeticOperatorExercise01{public static void main(String[] args){int i=1;i=i++;//temp=i;i=i+1;i=tempSystem.out.println(i);//1int j=1;j=++j;//j=j+1;temp=j;j=temp;System.out.println(j);//2} }
-
课堂练习2
public class ArithmeticOperatorExercise02{public static void main(String[] args){//1. 假如还有59天放假,问:合xx个星期零xx天int gap=59;//距离放假的天数int weeks=gap/7;//周int days=gap-weeks*7;//天System.out.println("合"+weeks+"个星期零"+days+"天");//2.定义一个变量保存华氏温度,华氏温度转换摄氏温度的公式为:5/9*(华氏温度-100),请求出华氏温度对应的摄氏温度。[234.5]double fTem=234.5;double cTem=5/9.0*(fTem-100);System.out.println(fTem+"华摄氏度对应的摄氏度是"+cTem);} }
-关系运算符(比较运算符)
- 介绍
- 关系运算符的结果都是boolean型,也就是要么是true,要么是false。
- 关系表达式经常用在if结构的条件中或循环结构的条件中。
运算符 | 运算 |
---|---|
== | 相等于 |
!= | 不等于 |
< | 小于 |
> | 大于 |
<= | 小于等于 |
>= | 大于等于 |
instanceof | 检查是否是类的对象 |
- 细节说明
- 关系运算符的结果都是boolean型,也就是要么是true,要么是false
- 关系运算符组成的表达式,我们称为关系表达式。a>b
- 比较运算符“==”不能误写成"="
-逻辑运算符
-
介绍
用于连接多个条件(多个关系表达式),最终的结果也是一个boolean值
-
逻辑运算符一览
- 短路与&&,短路或||,取反!
- 逻辑与&,逻辑或|,^逻辑异或
-
逻辑运算符一览
- a&b:& 叫逻辑与:规则:当a和 b同时为true ,则结果为true,否则为false。
- a&&b:&& 叫短路与:规则:当a 和 b同时为true,则结果为true,否则为false。
- a l b 😐 叫逻辑或,规则:当a和b,有一个为true,则结果为true,否则为false。
- a||b:|| 叫短路或,规则:当a 和 b,有一个为true ,则结果为true,否则为false。
- ! a:叫取反,或者非运算。当a 为true,则结果为false,当a为false时,结果为true。
- a^b: 叫逻辑异或,当a和b不同时,则结果为true, 否则为false。
-
&&和&基本规则
名称 语法 特点 短路与&& 条件1&&条件2 两个条件都为true,结果为true 逻辑与& 条件1&条件2 两个条件都为true,结果为true -
&&和&使用区别
- &&短路与:如果第一个条件为false,则第二个条件不会判断,最终结果为false效率高
- & 逻辑与:不管第一个条件是否为false,第二个条件都要判断,效率低
- 开发中,我们使用的基本是短路与&&,效率高
●||和|基本规则名称
名称 | 语法 | 特点 |
---|---|---|
短路或|| | 条件1||条件2 | 两个条件中只要有一个成立,结果为true |
|逻辑或 | 条件1|条件2 | 只要有一个条件成立,结果为true |
- ||和|使用区别
- ||短路或:如果第一个条件为true,则第二个条件不会判断,最终结果为true,效率高
- |逻辑或:不管第一个条件是否为true,第二个条件都要判断,效率低
- 开发中,我们基本使用||
-
!取反与^逻辑异或基本规则
名称 语法 特点 !非(取反) !条件 如果条件本身成立,结果为false,否则为true ^逻辑异或 a^b 当a和b不同时结果为true,否则为false -
用以连接多个条件(多个关系表达式),最终的结果也是一个boolean值
-赋值运算符
-
介绍
赋值运算符就是将某个运算后的值,赋给指定的变量。
-
赋值运算符的分类
基本赋值运算符 =
复合赋值运算符 +=、-=、*=、/=、%=等
-
赋值运算符特点
-
运算顺序从右往左int num= a+b+c;
-
赋值运算符的左边只能是变量,右边可以是变量、表达式、常量值
int num = 20; int num2= 78*34 -10; int num3 = a;
-
复合赋值运算符等价于下面的效果
比如:a+=3:等价于a=a+3:
-
复合赋值运算符会进行类型转换。
byte b = 2; b+=3; b++;
-
-三元运算符
-
基本语法
条件表达式?表达式1:表达式2;
- 如果条件表达式为true,运算后的结果是表达式
- 如果条件表达式为false,运算后的结果是表达式
-
使用细节
- 表达式1和表达式2要为可以赋给接收变量的类型(或可以自动转换)
- 三元运算符可以转成if–else 语句
-运算符优先级
- 运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序。如右表,上一行运算符总优先于下一行。
- 只有单目运算符、赋值运算符是从右向左运算的。
. () {} ; , | |
---|---|
R->L | ++ – ~ !(data type) |
L->R | * / % |
L->R | + - |
L->R | << >> >>> 位移 |
L->R | < > <= >= instanceof |
L->R | == != |
L->R | & |
L->R | ^ |
L->R | | |
L->R | && |
L->R | || |
L->R | ? : |
R->L | = *= /= %= |
+= -= <<= >>= | |
>>>= &= ^= |= |
- 优先级梳理
- 括号
- 单目运算符
- 算数运算符
- 位移运算符
- 比较运算符
- 逻辑运算符
- 三元运算符
- 赋值运算符
-标识符的命名规则和规范
-
标识符概念
- Java 对各种变量、方法和类等命名时使用的字符序列称为标识符
- 凡是自己可以起名字的地方都叫标识符 int num1=90;
-
标识符的命名规则(必须遵守)
- 由26个英文字母大小写,0-9,_或$组成
- 数字不可以开头,如int 3ab =1;
- 不可以使用关键字和保留字,但能包含关键字和保留字。
- Java中严格区分大小写,长度无限制。int totalNum=10; int n=90;
- 标识符不能包含空格。int a b=90;
-
标识符命名规范
- 包名:多单词组成时所有字母都小写:aaa.bbb.ccc//比如com.hsp.crm
- 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZ22比如:TankShotGame
- 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz比如:tankShotGame
- 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXXYYYZZZ比如 :定义一个所得税率 TAX RATE
- 后面我们学习到 类,包,接口,等时,我们的命名规范要这样遵守,更加详细的看文档.
-关键字
-
关键字的定义和特点(不用背)
-
定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)
-
特点:关键字中所有字母都为小写
-
-
各种关键字:
- 用于定义数据类型的关键字:class、interface、enum、byte、short、int、long、float、double、char、boolean、void
- 用于定义数据类型值的关键字:true、false、null
- 用于定义流程控制的关键字:if、else、switch、case、default、while、do、for、break、continue、return
- 用于定义访问权限修饰符的关键字:private、protected、public
- 用于定义类、函数、变量修饰符的关键字:
- 用于定义类与类之间关系的关键字:extends、implements
- 用于定义建立实例及引用实例,判断实例的关键字:new、this、super、instanceof
- 用于处理异常的关键字:try、catch、finally、throw、throws
- 用于包的关键字:package、import
- 其他修饰符关键字:native、strictfp、transient、volatile、assert
-保留字
-
介绍
Java保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留字byValue、cast,future、 generic、 inner、 operator、 outer、 rest、 vargoto 、const
-键盘输入语句
-
介绍
在编程中,需要接收用户输入的数据,就可以使用键盘输入语句来获取。Input.java,需要一个 扫描器(对象),就是 Scanner -
步骤:
1)导入该类的所在包,java.util.*2)创建该类对象(声明变量)
3)调用里面的功能
-
案例
import java.util.Scanner; public class InputExercise{public static void main(String[] args){//初始化Scanner对象Scanner input=new Scanner(System.in);//接收用户输入System.out.println("请输入姓名:");String name=input.next();System.out.println("请输入年龄:");int age=input.nextInt();System.out.println("请输入薪水:");double salary=input.nextDouble();//输出接收的用户输入System.out.println("姓名是"+name+"\n年龄是"+age+"\n薪水是"+salary);} }
-进制
-
进制介绍
对于整数,有四种表示方式:
- 二进制:0,1,满2进1.以0b或0B开头。
- 十进制:0-9 ,满10进1
- 八进制:0-7,满8进1.以数字0开头表示
- 十六进制:0-9及A(10)-F(15),满16进1.以0x或0X开头表示。此处的A-F不区分大小写。
-
进制演示
public class baseExercise{public static void main(String[] args){//二进制、十进制、八进制、十六进制整数int num0=0b1010;int num1=1010;int num2=01010;int num3=0x1010;System.out.println(num0);System.out.println(num1);System.out.println(num2);System.out.println(num3);}
}
-
二进制转十进制:从最低位(右边)开始,将每个位上的数提取出来,乘以2的(位数-1)次方然后求和。
-
八进制转十进制:从最低位(右边)开始,将每个位上的数提取出来,乘以8的(位数-1)次方然后求和。
-
十六进制转十进制:从最低位(右边)开始,将每个位上的数提取出来,乘以16的(位数-1)次方然后求和。
-
十进制转其他进制:将该数不断除以其他进制的base,直到商为0为止,然后将每步得到的余数倒过来,就是对应的二进制。
-
二进制转换成八进制:从低位开始,将二进制数每三位一组,转成对应的八进制数即可
-
二进制转换成十六进制:从低位开始,将二进制数每四位一组,转成对应的十六进制数即可
-
八进制转换成二进制:将八进制数每1位,转成对应的一个3位的二进制数即可
-
十六进制转换成二进制:将十六进制数每1位,转成对应的一个4位的二进制数即可
-
二进制在运算中的说明
- 二进制是逢2进位的进位制,0、1是基本算符。
- 现代的电子计算机技术全部采用的是二进制,因为它只使用0、1两个数字符号非常简单方便,易于用电子方式实现。计算机内部处理的信息,都是采用二进制数来表示的。二进制(Binary)数用0和1两个数字及其组合来表示任何数。进位规则是"逢2进1",数字1在不同的位上代表不同的值,按从右至左的次序,这个值以二倍递增。
-原码、反码、补码(重点难点)
网上对原码,反码,补码的解释过于复杂,我这里精简几句话:
对于有符号的而言:
- 二进制的最高位是符号位:0表示正数,1表示负数(口诀:0->01->-)
- 正数的原码,反码,补码都一样(三码合一)
- 负数的反码=它的原码符号位不变,其它位取反(0->1,1->0)
- 负数的补码=它的反码+1,负数的反码= 负数的补码-1
- 0的反码,补码都是0
- java没有无符号数,换言之,java中的数都是有符号的
- 在计算机运算的时候,都是以补码的方式来运算的
- 当我们看运算结果的时候,要看他的原码(重点)
-位运算符
-
java中有7个位运算(&、|、^、~、>>、<<和 >>>)
-
分别是 按位与&、按位或|、按位异或^,按位取反~,算数右移>>、算数左移<<,逻辑右移>>>(没有逻辑左移!),它们的运算规则是:
-
按位与&:两位全为1,结果为1,否则为0
-
按位或|:两位有一个为1,结果为1,否则为0
-
按位异或^:两位不同结果为1,否则为0
-
按位取反~:0变1,1变0
-
算数右移>>:符号位不变,低位溢出,用符号位补足高位
-
算数左移<<:符号位不变,低位补0
-
逻辑右移>>>:符号位参与右移,低位溢出,高位补0
-
相关文章:
Java运算符学习笔记
运算符 -运算符介绍 运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。 算数运算符赋值运算符关系运算符[比较运算符]逻辑运算符位运算符[需要二进制基础]三元运算符 -算数运算符 介绍 算数运算符是对数值类型的变量进行运算的,在Java程…...
shell编程补充内容(Linux课程实验3)
一、求前五个偶数的和 1.这里先介绍要用到的expr 1. 整数计算 # 加法(注意运算符两侧空格) $ expr 10 20 30# 带括号的运算(需要转义) $ expr \( 10 20 \) \* 2 60# 取模运算 $ expr 15 % 4 注意:仅支持整数&…...
iview table组件 自定义表头
在实际项目开发中,我们经常会用到各种各样的表格,比如在表格表头中填加按钮,下拉菜单,图标等等,在网上搜了一段时间发现比较少,所以写好之后就想着分享出来给有需要的人参考参考,例如下面这种表…...
二叉搜索树实现删除功能 Java
在开始编写删除功能之前,先要编写好searchParent()(寻找父节点)和min()(查找树中最小值)两个函数,后期会在删除功能中使用到。 searchParent()的编写 /*** * param value* return Node*/public Node searchParent(int value){if(rootnull) return null;…...
Android Framework学习三:zygote剖析
文章目录 Zygote工作内容起始点初始化步骤启动 ZygoteInitZygoteInit.main () 函数内部操作 Zygote如何启动SystemServer参与的类和文件流程步骤进程创建完成后的处理 Framework学习之系列文章 在 Android 系统中,Zygote 是一个非常关键的进程,有 “App …...
LLM-Based Agent及其框架学习的学习(三)
文章目录 摘要Abstract1. 引言2. 推理与规划2.1 推理2.2 规划2.2.1 计划指定2.2.2 计划反思 3. 迁移与泛化3.1 未知任务的泛化3.2 情景学习3.3 持续学习 4. 学习Crewai和LangGraph4.1 Crewai4.2 LangGraph 参考总结 摘要 本文系统阐述了基于大语言模型的智能体在认知架构中的核…...
修复笔记:获取 torch._dynamo 的详细日志信息
一、问题描述 在运行项目时,遇到与 torch._dynamo 相关的报错,并且希望获取更详细的日志信息以便于进一步诊断问题。 二、相关环境变量设置 通过设置环境变量,可以获得更详细的日志信息: set TORCH_LOGSdynamo set TORCHDYNAM…...
阿里云服务器全栈技术指导手册(2025版)
阿里云服务器全栈技术指导手册(2025版) 一、基础配置与核心架构设计 1. 精准实例选型策略 • 通用计算场景:选择ECS通用型(如ecs.g7)实例,搭载第三代Intel Xeon处理器,适合Web应用、中小型数…...
llfc项目笔记客户端TCP
一、整体架构流程图(简洁版) 复制代码 【客户端启动】 |--- 初始化TcpMgr(单例)|--- 连接信号初始化:连接成功、断开、错误、发数据| 【用户操作:登录成功】|--- 触发发起跳转:发起连接(sig_connect_tcp)| 【TcpMgr收到连接请求】|--- 连接到服务器(connectToHost)…...
基于python的task--时间片轮询
目录 前言 utf-8 chinese GB2312 utf-8 排除task.c chinese GB2312 排除task.c 运行结果 前言 建议是把能正常工作的单个功能函数放到一起(就和放while函数里的程序一样),程序会按顺序自动配置。 不同的格式已经对应给出。 utf-8 impo…...
《前端秘籍:SCSS阴影效果全兼容指南》
在前端开发的旅程中,为网页元素添上阴影效果,就像为一幅画作点缀光影,能让页面瞬间生动起来,赋予元素层次感与立体感。可当我们满心欢喜地在SCSS中写下阴影代码,满心期待着在各种浏览器中都呈现出完美效果时࿰…...
强化学习机器人模拟器——RobotApp:一个交互式强化学习模拟器
RobotApp 是一个基于 Python 和 Tkinter 的交互式强化学习(Reinforcement Learning, RL)模拟器,集成了 GridWorld 环境和 QAgent 智能体,支持 Q-learning、SARSA 和 SARSA(λ) 算法。本博客将详细解析 robot_app.py 的功能、架构和使用方法,展示其如何通过直观的 GUI 界面…...
2025-04-26-利用奇异值重构矩阵-美团
2025-04-26-利用奇异值重构矩阵-美团 题目内容 在一家致力于图像处理的科技公司,你被分配到一个新项目,目标是开发一种图像压缩算法,以减少存储空间并加速传输。团队决定使用奇异值分解( S V D SVD SVD)对图像进行降…...
《解锁SCSS算术运算:构建灵动样式的奥秘》
SCSS作为CSS预处理器,算术运算功能犹如一颗璀璨明珠,赋予我们动态计算样式属性值的强大能力,让网页样式不再是一成不变的刻板呈现,而是能够根据各种条件和需求灵动变化。 在SCSS的世界里,算术运算绝非孤立的存在&…...
STM32Cube-FreeRTOS任务管理工具函数-笔记
STM32Cube-FreeRTOS任务管理工具函数-笔记 一、获取任务句柄的函数1. 创建任务并获取句柄2. 获取当前任务句柄3. 获取空闲任务句柄4. 根据任务名称获取句柄 二、单个任务操作相关函数1. 程序在运行时可以获取或改变一个任务的优先级3. 获取任务信息4. 获取任务信息5. 获取任务名…...
【第三十四周】多模态大模型调研
多模态大模型调研 摘要Abstract引言多模态技术的主要方向视觉-语言大模型(Vision-Language Large Models, VLLMs)语音-语言大模型(Speech-Language Large Models, SLLMs)音乐 - 语言大模型(Music-Language Large Model…...
【2025最新】Baichuan-M1-instruct部署教程
首先机器至少要A100、4090、3090 这里选AutoDL的4090D,运行至少要20G显存。这里镜像选基础镜像11.8【更新!!!!!!!!!24G带不动!显存不够】 有时候…...
Unity与Unreal Engine(UE)的深度解析及高级用法
以下是Unity与Unreal Engine(UE)的深度解析及高级用法对比,结合技术特性、行业应用与未来发展进行综合阐述: 一、核心差异与适用场景对比 1. 技术架构与编程模式 Unity 语言与脚本:主要使用C#,语法简洁且易于学习,适合快速原型开发和中小型项目。支持可视化脚本工具(如…...
网络:TCP三次握手、四次挥手
目录 深刻理解三次握手 深刻理解四次挥手 深刻理解三次握手 三次握手时,如果最后一个ACK包,服务器没有收到,此时: 客户端:认为已经建立链接 服务器:认为没有建立链接,还在超时等待。 而此时…...
spdlog自定义formatter
用了之后发现,spdlog的默认日志记录格式为: [2014-10-31 23:46:59.678] [my_loggername] [info] Some message 但是这个格式不是我想要的,怎么办,这个也简单,上面的内容也就是几个标签的组合而已,spdlog自定…...
Spring AI 实战:第四章、Spring AI多模态之看图说话
引言:从"码农"到"多媒体魔术师" “曾经,我们的代码核心擅长处理文本,就像餐厅里只会做炒饭的厨师。现在有了Spring AI多模态支持,我们突然拥有满汉全席的烹饪技巧!” 作为一名常年与String打交道的开发者,当第一次看到Spring AI可以同时处理图片、音…...
ES6入门---第二单元 模块五:模块化
js不支持模块化 注意: 需要放到服务器环境 1、如何定义模块? export 东西 例:1.js文件中 console.log(1模块加载了);//显示是否加载了 export const a 12; export const b 5; export let c 101; const a12; const b5; const c101;ex…...
Python 函数装饰器和闭包(变量作用域规则)
本章内容: Python 如何计算装饰器句法 Python 如何判断变量是不是局部的 闭包存在的原因和工作原理 nonlocal 能解决什么问题 掌握这些基础知识后,我们可以进一步探讨装饰器: 实现行为良好的装饰器 标准库中有用的装饰器 实现一个参数化装饰器…...
什么是constexpr?
什么是constexpr? 简单来说,constexpr就是告诉编译器:“我这个变量或函数的值可以在编译时算出来,请帮我提前算好,运行时直接用结果,不用再算了。” • **传统const**只表示变量不可修改,但不…...
如何在 PowerEdge 服务器上设置 NIC 分组
以下文章提供了有关 Windows、VMware 和 Linux 中的 NIC 分组的信息。 什么是网络适配器分组?设置 NIC 分组 Windows设置 NIC 分组 VMware设置 NIC 分组 Linux 什么是网络适配器分组(绑定)? 网络适配器分组是一个术语࿰…...
ES6入门---第三单元 模块四:Set和WeakSet
set数据结构: 类似数组,但是里面不能有重复值,如果有,只显示一个 set用法: let setArr new Set([a,b]); setArr.add(a); 往setArr里面添加一项 let setArr new Set().add(a).add(b).add(c); setArr.delete(b); 删除一项 setArr.ha…...
架构进阶:75页架构规划方法课件 【附全文阅读】
本文概述了一个关于架构规划方法的目录及其目的,重点介绍了基于联邦企业架构(FEAF)的架构建模方法,并提及了不同层面的架构建模方法以及培训的目的。以下是对该内容的简洁总结: **架构规划方法目录及其目的** 本文旨在…...
前端面经-VUE3篇(三)--vue Router(二)导航守卫、路由元信息、路由懒加载、动态路由
一、导航守卫 vue Router 中的 导航守卫(Navigation Guards) 是一个非常重要的功能,用于在路由切换过程中,拦截、控制、检查或延迟页面跳转。 你可以理解为: 🔐 “进门前的保安”,控制哪些页面…...
RTX-3090 Qwen3-8B Dify RAG环境搭建
RTX-3090 Qwen3-8B Dify RAG环境搭建 一、环境配置二、操作步骤1、创建容器2、下载`Qwen3-8B`和embedding模型3、安装`transformers`4、安装`vllm`5、安装`flash-attention`6、启动兼容OpenAI API的服务1、方案一:启动`vllm`服务【不支持多任务】2、方案二:Flask和PyTorch实现的…...
Circular Plot系列(三):【视频教程】复现NCS图表之高大上的单细胞UMAP环形图
高端复杂的UMAP复现: 这又是一个高大上且炫酷的单细胞UMAP图,展示的信息很多,有大类细胞和亚群,以及marker基因和cell count信息,还可以增加其他的分组信息等等。没错,看这个图就是circlize一层层画的。我们…...
MCP智能体多Agent协作系统设计(Multi-Agent Cooperation)
目录 🚀 MCP智能体多Agent协作系统设计(Multi-Agent Cooperation) 🌟 为什么需要多Agent协作? 🧠 多Agent协作系统架构设计 🛠️ 1. 构建基础智能体基类(Agent Base)…...
栈Stack
一 栈:先进后出 一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 Stack<Integer> sta…...
HTML01:HTML基本结构
HTML基本结构 <html> <head><meta charset"UTF-8"><title>我的第一个网页</title> </head> <body>我的第一个网页 </body> </html><body、</body等成对的标签,分别叫开发标签和闭合标签单独…...
QT聊天项目DAY07
1.Win配置和使用GRPC 1.1 克隆GRPC库 克隆GRPC git clone -b v1.34.0 https://gitee.com/mirrors/grpc-framework.git 查看Git有没有安装 没有安装 1.1.1 安装Git https://git-scm.com/ 一路next 添加Git的路径到系统环境变量下 我这次没用管理员权限,并且也没…...
2025年PMP 学习三
4.2制定项目管理计划 4. 项目管理计划 - 内容(输出) 项目目标的制定原因: 3个基准(范围基准、进度基准、成本基准) 子管理计划:范围、需求、进度、成本、质量、资源、沟通、风险、采购等管理计划…...
软考-软件设计师中级备考 10、文件管理、设备管理
一、 文件管理 1、文件目录 文件控制块(FCB):是操作系统为管理文件而设置的数据结构,包含了文件的基本信息(如文件名、文件大小、文件类型等)、存取控制信息(如文件所有者的权限、其他用户的权…...
Linux环境下的进程创建-fork函数的使用, 进程退出exit和_exit的区别,以及进程等待waitpid和status数据的提取方法
目录 一、进程创建 1.fork函数 1)进程调用fork函数是如何创建子进程的 2)代码示范 2.写时拷贝 二、进程退出 1.退出码 1)什么是退出码? 2)为什么要有退出码? 3)退出码是怎么做到的? …...
【数据结构与算法】常见排序算法详解(C++实现)
目录 一、排序的基本概念 二、插入排序 2.1 直接插入排序 2.2 折半插入排序 2.3 希尔排序 三、交换排序 3.1 冒泡排序 3.2 快速排序 四、选择排序 4.1 简单选择排序 4.2 堆排序 五、归并排序 六、基数排序 七、计数排序 结语 一、排序的基本概念 排序 就是重新…...
STM32GPIO输入实战-按键key模板及移植
STM32GPIO输入实战-按键key模板及移植 一,按键模板展示二,按键模板逻辑1,准备工作:头文件与全局变量2,读取硬件状态:key_read_raw()3,核心处理:key_process_simple() 的四行代码 三,…...
LeetCode 1128.等价多米诺骨牌对的数量:计数
【LetMeFly】1128.等价多米诺骨牌对的数量:计数 力扣题目链接:https://leetcode.cn/problems/number-of-equivalent-domino-pairs/ 给你一组多米诺骨牌 dominoes 。 形式上,dominoes[i] [a, b] 与 dominoes[j] [c, d] 等价 当且仅当 (a …...
Spring MVC设计与实现
DispatcherServlet的初始化与请求处理流程 初始化阶段 Servlet 生命周期触发:当 Web 容器(如 Tomcat)启动时,根据注解/配置,DispatcherServlet 的 init() 方法被调用。 初始化 WebApplicationContext 根 WebApplicat…...
日语学习-日语知识点小记-进阶-JLPT-N1阶段(1):语法单词
日语学习-日语知识点小记-进阶-JLPT-N1阶段(1):语法单词 1、前言(1)情况说明(2)工程师的信仰(3)高级语法N1语法和难点一、N1语法学习内容(高级语法ÿ…...
stm32week14
stm32学习 十.GPIO 2.基本结构 基本结构: F1与其它的的最大区别是上下拉电阻的位置 施密特触发器是一种整形电路,可以将非标准方波,整形成方波 图中MOS管的输出规则: 3.8中工作模式 ①输入浮空: 上下拉电阻均不工…...
WPF中Binding
绑定ViewModel中的数据 添加数据上下文 方法一:在XAML中添加 <Window.DataContext><local:MainWindowViewModel /> </Window.DataContext>方法二:在界面层的cs文件中添加 this.DataContext new MainWindowViewModel();绑定 publ…...
Google Agent space时代,浅谈Agent2Agent (A2A) 协议和挑战!
如果说去年Google Cloud大会大家还在数“AI”这个词被提了多少次,那么今年,绝对是“Agent”的主场!开发者主题演讲几乎被它“刷屏”,展区的许多 Demo 也都号称是 Agent 应用。 但我得诚实地说,大会现场关于 Agents 的 …...
爬虫的应用
在自然语言处理(NLP)领域,文本数据的预处理是至关重要的基础环节。它如同工匠雕琢璞玉前的打磨工作,直接影响后续模型分析与挖掘的效果。本文将基于 Python,以电商平台的差评和优质评价文本数据为例,详细展…...
力扣面试150题--相同的树
Day 41 题目描述 做法 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNode right…...
Java后端开发day40--异常File
(以下内容全部来自上述课程) 异常 异常:异常就是代表程序出现的问题 1. 异常的分类 1.1 Error 代表的是系统级别的错误(属于严重问题) 系统一旦出现问题,sun公司会把这些错误封装成Error对象。 Error…...
集成算法学习
集成算法通过组合多个弱学习器提升模型性能,以下是核心内容详解: 一、核心思想 - 组合优势:结合多个简单模型(如决策树),通过“少数服从多数”或“加权平均”等策略,降低方差、偏差或过拟合风险…...
工业认知智能:从数据分析到知识创造
工业认知智能:从数据分析到知识创造 引言 当前制造业面临的知识管理困境令人震惊:68%的工艺知识存储于老员工头脑中,30%的企业因知识传承断层导致质量事故。麦肯锡研究显示,应用认知智能技术的企业,其工艺创新速度提升3-5倍。本文将系统阐述工业认知智能的"感知-理…...