当前位置: 首页 > news >正文

Java学习笔记1——编程基础

一、整数类型变量

注意:每个字符型常量占两个字节 

二、自动类型转换和强制类型转换 

 ​​​三、算术运算符

四、赋值运算符

 五、比较运算符

 六、逻辑运算符

 七、运算符的优先级

运算符的优先级可以通过以下口诀来记忆:

括号优先,单目次之,乘除先于加减,移位关系逻辑,三目赋值最后。

详细解释

  1. 括号优先:括号内的运算总是最先执行。

  2. 单目次之:单目运算符(如 +-!~++--)优先级较高。

  3. 乘除先于加减*/% 的优先级高于 +-

  4. 移位运算符<<>>>>> 的优先级高于关系运算符。

  5. 关系运算符<><=>===!= 的优先级高于逻辑运算符。

  6. 逻辑运算符&|^ 的优先级高于三目运算符。

  7. 三目运算符? : 的优先级高于赋值运算符。

  8. 赋值最后=+=-= 等赋值运算符优先级最低。

逻辑运算符的优先级划分

以下是逻辑运算符的优先级顺序,从高到低排列:

  1. 逻辑非 (!)
    优先级最高,用于对布尔值取反。

  2. 按位与 (&)
    优先级次之,用于按位与操作。

  3. 按位异或 (^)
    优先级低于 &,用于按位异或操作。

  4. 按位或 (|)
    优先级低于 ^,用于按位或操作。

  5. 短路与 (&&)
    优先级低于 |,用于短路与操作(仅当第一个操作数为 true 时,才会计算第二个操作数)。

  6. 短路或 (||)
    优先级最低,用于短路或操作(仅当第一个操作数为 false 时,才会计算第二个操作数)。

总结优先级顺序:

! > & > ^ > | > && > || 

注意事项

  • 短路运算符(&&|| 的特点是,它们会根据第一个操作数的值决定是否计算第二个操作数。例如:

    • a && b:如果 afalse,则不会计算 b,直接返回 false

    • a || b:如果 atrue,则不会计算 b,直接返回 true

  • 按位运算符(&|^ 会计算两个操作数的所有位,而不会短路。

八、if……else……条件语句 

在 Java 中,if...else 是一种条件选择语句,用于根据条件的真假来执行不同的代码块。以下是 if...else 语句的详细介绍和用法:

1、if...else 语句的基本结构如下:
if (条件) {// 条件为 true 时执行的代码块
} else {// 条件为 false 时执行的代码块
}
  • 条件 是一个布尔表达式(返回 truefalse)。

  • 如果条件为 true,则执行 if 后的代码块。

  • 如果条件为 false,则执行 else 后的代码块。

2、if...else if...else 多分支结构

当需要根据多个条件进行判断时,可以使用 if...else if...else 结构:

if (条件1) {// 条件1 为 true 时执行的代码块
} else if (条件2) {// 条件2 为 true 时执行的代码块
} else if (条件3) {// 条件3 为 true 时执行的代码块
} else {// 所有条件都不满足时执行的代码块
}
  • 程序会从上到下依次检查每个条件,一旦某个条件为 true,就执行对应的代码块,并跳过后续的条件检查。

  • 如果所有条件都不满足,则执行 else 后的代码块。

3、 嵌套的 if...else

if...else 语句可以嵌套使用,即在一个 if...else 块中再包含另一个 if...else 语句。

4、 注意事项
  1. 条件必须是布尔表达式
    if 后的括号中必须是一个返回 truefalse 的表达式,不能是其他类型(如整数)。

  2. 大括号 {} 的使用

    • 如果 ifelse 后的代码块只有一行,可以省略大括号。

    • 但为了代码的可读性和避免潜在错误,建议始终使用大括号。

  3. 缩进和代码格式

    • 为了提高代码的可读性,建议使用适当的缩进。

5、 总结

if...else 语句是 Java 中最基本的条件判断语句,用于根据条件的真假执行不同的代码块。它支持单分支(if)、双分支(if...else)和多分支(if...else if...else)结构,还可以嵌套使用以处理更复杂的逻辑。

 九、三元运算符

在 Java 中,三元运算符(也称为条件运算符)是一种简洁的条件表达式,用于根据条件的真假返回不同的值。它的语法结构非常紧凑,适合在简单的条件判断中使用。

三元运算符的语法

条件表达式 ? 表达式1 : 表达式2
  • 条件表达式:一个返回 truefalse 的布尔表达式。

  • 表达式1:当条件表达式为 true 时,返回的值。

  • 表达式2:当条件表达式为 false 时,返回的值。

三元运算符的返回值

        三元运算符会根据条件表达式的值返回 表达式1表达式2 的值。返回值的类型由 表达式1表达式2 的类型决定。

三元运算符的优缺点

  • 优点

    • 代码简洁,适合简单的条件判断。

    • 可以在一行代码中完成条件判断和赋值。

  • 缺点

    • 当嵌套使用时,代码可读性会降低。

    • 对于复杂的逻辑,建议使用 if...else 结构以提高可读性。

 十、switch条件语句

在 Java 中,switch 是一种条件语句,用于根据变量的值执行不同的代码块。它提供了一种比 if...else 更清晰的方式来处理多个条件分支。以下是 switch 语句的详细介绍和用法。

1. 基本语法

switch 语句的基本结构如下:

switch (表达式) {case 值1:// 当表达式等于值1时执行的代码块break;case 值2:// 当表达式等于值2时执行的代码块break;...default:// 当表达式不匹配任何case时执行的代码块
}
  • 表达式switch 后的括号中是一个表达式,其值用于匹配 case 后的值。

  • case:每个 case 后跟一个值,表示一个分支条件。

  • break用于终止当前分支,避免代码继续向下执行(即避免“贯穿”到下一个 case)。

  • default:可选分支,当表达式的值不匹配任何 case 时执行。

2. 支持的数据类型

switch 语句支持以下数据类型:

  • intchar(基本数据类型)

  • String(从 Java 7 开始支持)

  • 枚举类型(enum

注意:C语言中switch不支持字符串

3、示例: 
String 类型的 switch(Java 7 及以上)
String fruit = "apple";
switch (fruit) {case "apple":System.out.println("这是一个苹果");break;case "banana":System.out.println("这是一个香蕉");break;case "orange":System.out.println("这是一个橙子");break;default:System.out.println("未知水果");
}
// 输出:这是一个苹果
 嵌套的 switch

switch 语句可以嵌套使用,即在一个 switch 块中再包含另一个 switch 语句。

int day = 3;
String time = "morning";switch (day) {case 1:switch (time) {case "morning":System.out.println("周一早上");break;case "afternoon":System.out.println("周一下午");break;case "evening":System.out.println("周日晚上");break;}break;case 2:System.out.println("周二");break;default:System.out.println("其他时间");
}
4、注意事项

break 的重要性

  • 如果没有 break,程序会继续执行下一个 case 的代码,直到遇到 breakswitch 结束。
  • 这种行为称为 贯穿(fall-through),通常需要避免,除非是故意设计的逻辑。

default 是可选的

  • 如果没有 default 分支,当表达式的值不匹配任何 case 时,switch 语句不会执行任何代码。

case 的顺序

  • case 的顺序会影响程序的执行结果,因为 switch 会从上到下依次检查每个 case

switch 的性能

  • switch 语句的执行效率通常高于多个 if...else 语句,尤其是在分支较多的情况下。

 

相关文章:

Java学习笔记1——编程基础

一、整数类型变量 注意&#xff1a;每个字符型常量占两个字节 二、自动类型转换和强制类型转换 ​​​三、算术运算符 四、赋值运算符 五、比较运算符 六、逻辑运算符 七、运算符的优先级 运算符的优先级可以通过以下口诀来记忆&#xff1a; 括号优先&#xff0c;单目次之&am…...

CMD/DOS和批处理入门知识汇总

0、前言&#xff1a; 在工作中&#xff0c;有时候需要涉及到window系统更底层的一些东西&#xff0c;所以需要学习一些cmd指令和dos命令&#xff0c;来完成高效批处理任务&#xff0c;或者自动化办公。还有想要对系统中文件管理有更细致的认识&#xff0c;便于请理磁盘文件。后…...

Visual Studio 2019 Qt QML 项目环境搭建常见问题处理方法

在 Visual Studio 2019 运行 Qt/QML 项目比直接使用QtCreator环境麻烦&#xff0c;主要是有qmake 的一些配置项不能在 Visual Studio中设置。下面整理一些常见问题的处理方法&#xff0c;供参考&#xff1a; 搭建VS Qt 环境&#xff0c;在Visual Studios 2019下面安装 Qt Vis…...

Python-Django入手

18.1 建立项目 18.1.1 制定规范 - 定义项目目标&#xff1a;明确应用的核心功能 - 创建项目文档&#xff1a;用README.md记录技术栈和开发流程 - 规划目录结构&#xff1a;建议遵循Django官方推荐的项目布局 18.1.2 建立虚拟环境 在命令行执行&#xff1a; python -m ven…...

SakuraCat(2)Endpoint

Endpoint 功能概述 监听指定端口&#xff08;默认是 8080&#xff09;的客户端连接。接受客户端连接后&#xff0c;为每个连接创建一个新的线程进行处理。使用 Processor 类来处理客户端的请求和响应。 package com.SakuraCat.connector.protocolHandler;import com.SakuraC…...

19914 最小生成树2

19914 最小生成树2 ⭐️难度&#xff1a;中等 &#x1f31f;考点&#xff1a;最小生成树 &#x1f4d6; &#x1f4da; import java.util.*;public class Main {static class Edge{int u,v,w;Edge(int u,int v,int w){this.u u;this.v v;this.w w;}}static ArrayList<…...

SSE服务器主动推送至浏览器客户端,让你不再需要websocket

Server-Sent Events&#xff08;SSE&#xff09;是一种服务器向客户端推送实时更新的技术&#xff0c;基于HTTP协议。客户端通过EventSource API来接收事件流&#xff0c;而服务器则保持一个长连接&#xff0c;持续发送数据。这与传统的请求-响应模式不同&#xff0c;允许服务器…...

C++中的搜索算法实现

C中的搜索算法实现 在编程中&#xff0c;搜索算法是解决各种问题的基础工具之一。C作为一种功能强大的编程语言&#xff0c;提供了多种实现搜索算法的方式。本文将详细介绍两种常见的搜索算法&#xff1a;线性搜索和二分搜索&#xff0c;并通过代码示例展示它们的实现。 一、…...

OSI 七层模型和四层模型(TCP/IP 模型)

文章目录 前言一、OSI 七层模型二、TCP/IP 四层模型三、运行协议及设备1. OSI 七层模型2. TCP/IP 四层模型3. 运行协议4. 各类设备的作用 总结 前言 OSI 七层模型和四层模型&#xff08;TCP/IP 模型&#xff09;是两种常见的网络协议分层架构&#xff0c;它们的主要区别如下&a…...

将代理连接到 Elasticsearch 使用模型上下文协议

作者&#xff1a;来自 Elastic Jedr Blaszyk 及 Joe McElroy 让我们使用 Model Context Protocol 服务器 与 你的 数据 在 Elasticsearch 中聊天。 如果与你的数据交互像与同事聊天一样轻松&#xff0c;会怎样&#xff1f;想象一下&#xff0c;你只需简单地问&#xff1a;“显…...

前端调试实践与案例场景

前端调试实践与案例场景 前端开发中&#xff0c;调试是一项必不可少的技能。以下是一些常见的前端调试实践和相应的案例场景&#xff1a; 1. 浏览器开发者工具 案例场景&#xff1a;布局问题 用户报告在移动设备上页面布局错乱。使用 Chrome DevTools 的设备模拟功能和 Ele…...

安卓的布局方式

一、RelativeLayout 相对布局 特点&#xff1a;每个组件相对其他的某一个组件进行定位。 (一)主要属性 1、设置和父组件的对齐&#xff1a; alignParentTop &#xff1a; 设置为true&#xff0c;代表和父布局顶部对齐。 其他对齐只需要改变后面的Top为 Left、Right 或者Bottom&…...

计算机网络面经(一)

以下为个人总结&#xff0c;图源大部分会来自网络和JavaGuide 网络分层模型 OSI七层模型 各层的常见协议 应用层 用户接口 HTTP, FTP, SMTP, DNS表示层 数据格式转换 SSL/TLS, JSON, JPEG会话层 会话管理 NetBIOS, RPC, SSH传输层 端到端通信 TCP, UDP, QUIC网络层 路由寻址…...

k8s日志管理

k8s日志管理 k8s查看日志查看集群中不是完全运行状态的pod查看deployment日志查看service日志进入pod的容器内查看日志 管理k8s组件日志kubectl logs查看日志原理 管理k8s应用日志收集k8s日志思路收集标准输出收集容器中日志文件 k8s查看节点状态失败k8s部署prometheus监控 k8s…...

Netty源码—10.Netty工具之时间轮二

大纲 1.什么是时间轮 2.HashedWheelTimer是什么 3.HashedWheelTimer的使用 4.HashedWheelTimer的运行流程 5.HashedWheelTimer的核心字段 6.HashedWheelTimer的构造方法 7.HashedWheelTimer添加任务和执行任务 8.HashedWheelTimer的完整源码 9.HashedWheelTimer的总结…...

Baklib激活企业知识管理新动能

Baklib核心技术架构解析 Baklib的底层架构以模块化设计为核心&#xff0c;融合知识中台的核心理念&#xff0c;通过分布式存储引擎与智能语义分析系统构建三层技术体系。数据层采用多源异构数据接入协议&#xff0c;支持文档、音视频、代码片段等非结构化数据的实时解析与分类…...

CSP-J/S冲奖第21天:插入排序

一、插入排序概念 1.1 生活中的类比 • 扑克牌排序&#xff1a;就像整理手中的扑克牌&#xff0c;每次将一张牌插入到已排好序的牌中合适位置 • 动态演示&#xff1a; 初始序列&#xff1a;[5, 2, 4, 6, 1, 3] 排序过程&#xff1a; → [2, 5, 4, 6, 1, 3] → [2, 4, 5, 6, …...

Jest系列二之基础实践

Jest基础实践 官方文档地址&#xff1a;https://jest.nodejs.cn/docs 生命周期 在 Jest 中&#xff0c;生命周期方法大致分为两类&#xff1a;下面所罗列的生命周期方法&#xff0c;也是全局方法&#xff0c;不需要引入&#xff0c;直接就可以使用。 重复性的生命周期方法&…...

Scikit-learn全攻略:从入门到工业级应用

Scikit-learn全攻略:从入门到工业级应用 引言:Scikit-learn在机器学习生态系统中的核心地位 Scikit-learn作为Python最受欢迎的机器学习库,已成为数据科学家的标准工具集。根据2023年Kaggle调查报告,超过83%的数据专业人士在日常工作中使用Scikit-learn。本文将系统性地介…...

基于Python的图书馆信息管理系统研发

标题:基于Python的图书馆信息管理系统研发 内容:1.摘要 在数字化信息快速发展的背景下&#xff0c;传统图书馆管理方式效率低下&#xff0c;难以满足日益增长的信息管理需求。本研究旨在研发一款基于Python的图书馆信息管理系统&#xff0c;以提高图书馆信息管理的效率和准确性…...

Pytorch学习笔记(十七)Image and Video - Adversarial Example Generation

这篇博客瞄准的是 pytorch 官方教程中 Image and Video 章节的 Adversarial Example Generation 部分。 官网链接&#xff1a;https://pytorch.org/tutorials/beginner/fgsm_tutorial.html 完整网盘链接: https://pan.baidu.com/s/1L9PVZ-KRDGVER-AJnXOvlQ?pwdaa2m 提取码: …...

基于Arm GNU Toolchain编译生成的.elf转hex/bin文件格式方法

基于Arm GNU Toolchain编译生成的.elf转hex/bin文件格式方法 已经弃用的版本&#xff08;Version 10.3-2021.10&#xff09;&#xff1a;gcc-arm-none-eabi&#xff1a;https://developer.arm.com/downloads/-/gnu-rmArm GNU Toolchain当前版本&#xff1a;https://developer.a…...

Ubuntu系统Docker安装失败

问题&#xff1a; 1. 删除错误的 Docker 源 sudo rm -rf /etc/apt/sources.list.d/docker.list sudo rm -rf /etc/apt/keyrings/docker.gpg 2. 重新添加 Docker 官方 GPG 密钥 ​ sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | …...

鸿蒙学习手册(HarmonyOSNext_API16)_数据持久化②:键值型数据库

概述 键值型数据库就像一个大抽屉柜&#xff0c;每个抽屉都有一个唯一的标签&#xff08;键&#xff09;&#xff0c;里面可以放任何东西&#xff08;值&#xff09;。当你需要存或取东西时&#xff0c;直接看标签拿对应的抽屉就行&#xff0c;不用管其他抽屉里有什么。这种简…...

多线程 - 线程安全 2 -- > 死锁问题

目录 小结复习&#xff1a; 线程安全&#xff1a; 如何解决线程安全问题&#xff1f; synchronized “死锁” 死锁的三种经典场景&#xff1a; 1. 一个线程&#xff0c;一把锁。 2.两个线程&#xff0c;两把锁。 3. N 个线程 M 把锁 完&#xff01; 小结复习&#xff1a…...

JavaScript函数详解

目录 一、函数的基础概念 1. 函数的定义方式 2. 函数的参数处理 3.匿名函数与立即执行函数 4.同名函数与函数提升 二、函数的作用域与闭包 1. 作用域&#xff08;Scope&#xff09; 2. 闭包&#xff08;Closure&#xff09; 三、高阶函数与函数式编程 1. 高阶函数 2…...

Python-八股总结

目录 1 python 垃圾处理机制2 yield3 python 多继承&#xff0c;两个父类有同名方法怎么办&#xff1f;4 python 多线程/多进程/协程4.1 多线程与GIL全局解释器锁4.2 多进程4.3 协程 5 乐观锁/悲观锁6 基本数据结构**1. 列表&#xff08;List&#xff09;****2. 元组&#xff0…...

整合分块请求大模型返回的测试用例及小工具显示bug修复

在之前的分块发送需求数据给大模型进行测试用例生成时&#xff0c;由于数据结构的改变&#xff0c;需要对分块的回复进行整合&#xff0c;正确的整合是保障系统稳定性和功能正确性的核心。随着测试需求的复杂化&#xff0c;这对测试工程师提出了更高的整合和管理要求。本文将为…...

记一道CTF题—PHP双MD5加密+”SALT“弱碰撞绕过

通过分析源代码并找到绕过限制的方法&#xff0c;从而获取到flag&#xff01; 部分源码&#xff1a; <?php $name_POST[username]; $passencode(_POST[password]); $admin_user "admin"; $admin_pw get_hash("0e260265122865008095838959784793");…...

stm32F103RCT6 FLASH模拟EEPROM 读写32位数据

#include “stm32flash.h” #ifndef __STMFLASH_H__ #define __STMFLASH_H__ #include "main.h" #define</...

Spring Data审计利器:@LastModifiedDate详解!!!

&#x1f552; Spring Data审计利器&#xff1a;LastModifiedDate详解&#x1f525; &#x1f31f; 简介 在数据驱动的应用中&#xff0c;记录数据的最后修改时间是常见需求。Spring Data的LastModifiedDate注解让这一过程自动化成为可能&#xff01;本篇带你掌握它的核心用法…...

【SLURM】介绍

SLURM Slurm&#xff08;Simple Linux Utility for Resource Management&#xff09; 是一个用于管理和调度计算集群任务的开源作业调度系统。它主要用于高性能计算&#xff08;HPC&#xff09;环境&#xff0c;比如超算中心、大学的计算集群或企业的数据中心。 本文主要针对使…...

算法-贪心算法

圣诞老人的礼物-Santa Clau’s Gifts 现在有多箱不同的糖果&#xff0c;每箱糖果有自己的价值和重量&#xff0c;每箱糖果都可以拆分成任意散装组合带走。圣 诞老人的驯鹿雪橇最多只能装下重量W的糖果&#xff0c;请 问圣诞老人最多能带走多大价值的糖果。 输入 第一行由两个…...

Nginx — Nginx处理Web请求机制解析

一、Nginx请求默认页面资源 1、配置文件详解 修改端口号为8080并重启服务&#xff1a; 二、Nginx进程模型 1、nginx常用命令解析 master进程&#xff1a;主进程&#xff08;只有一个&#xff09; worker进程&#xff1a;工作进程&#xff08;可以有多个&#xff0c;默认只有一…...

GAN随手笔记

文章目录 1. description2. code 1. description 后续整理 GAN是生成对抗网络&#xff0c;主要由G生成器&#xff0c;D判别器组成&#xff0c;具体形式如下 D 判别器&#xff1a; G生成器&#xff1a; 2. code 部分源码&#xff0c;暂定&#xff0c;后续修改 import nump…...

Java 8 时区与历法处理指南:跨越全球的时间管理

Java 8 的 java.time API 不仅修复了旧版日期时间 API 的设计缺陷&#xff0c;还提供了对时区和多历法的全面支持。无论是处理全球化应用的时区转换&#xff0c;还是适配不同文化的日历系统&#xff0c;Java 8 都能轻松应对。本文将深入解析其核心功能&#xff0c;并提供实用代…...

【STM32】对stm32F103VET6指南者原理图详解(超详细)

目录 一、原理图基本概念二、STM32F103VET6 的主要特性二、MCU模块三、电源模块四、时钟模块五、复位模块NRST 六、GPIO模块LED 七、调试模块JTAG 八、外设模块UARTSPII2CADC 九、其它模块BOOT 一、原理图基本概念 原理图/电路图通常由硬件工程师使用Altium Designer/ KiCad / …...

瑞芯微RKRGA(librga)Buffer API 分析

一、Buffer API 简介 在瑞芯微官方的 librga 库的手册中&#xff0c;有两组配置 buffer 的API&#xff1a; importbuffer 方式&#xff1a; importbuffer_virtualaddr importbuffer_physicaladdr importbuffer_fd wrapbuffer 方式&#xff1a; wrapbuffer_virtualaddr wrapb…...

移动端六大语言速记:第1部分 - 基础语法与控制结构

移动端六大语言速记&#xff1a;第1部分 - 基础语法与控制结构 本文将对比Java、Kotlin、Flutter(Dart)、Python、ArkTS和Swift这六种移动端开发语言的基础语法与控制结构&#xff0c;帮助开发者快速理解各语言间的差异与共性。 1. 基础语法 1.1 数据类型 各语言的基本数据…...

Java 大视界 -- Java 大数据在智能金融区块链跨境支付与结算中的应用(154)

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…...

Python Playwright库全面详解

Playwright 是 Microsoft 开发的一个现代化的端到端测试和浏览器自动化库&#xff0c;支持 Chromium、WebKit 和 Firefox 浏览器。它提供了跨浏览器、跨平台的自动化能力&#xff0c;且具有高性能和可靠性。 一、核心特性 多浏览器支持&#xff1a; Chromium (Chrome, Edge)We…...

脑疾病分类的疑惑【6】:脑疾病分类比较适合使用具有哪些特点的模型?

脑疾病分类是一个复杂的任务&#xff0c;涉及医学影像、神经电生理信号、基因数据等多种信息类型。为了有效地进行脑疾病分类&#xff0c;选择合适的模型是至关重要的。以下是一些适合脑疾病分类的模型特点&#xff0c;您可以参考这些特点来选择合适的模型&#xff1a; 1. 深度…...

24_原型和原型链_this

目录 一、this关键字 修改this的指向 二、原型和原型链 三、创建对象 通过构造函数创建 &#xff08;es5&#xff09; 通过类创建 &#xff08;es6&#xff09; 四、浅拷贝和深拷贝 ctrlc 浅拷贝&#xff1a; 只拷贝一层 深拷贝: 可以拷贝多层 一、this关键字 每个函…...

自定义类型:结构体(1)

1.结构体回顾 结构是一些值的集合&#xff0c;这些值被称为成员变量。结构的每个成员可以是不同类型的变量。 1.1结构的声明 struct tag {member-list; }variable-list;例如描述一个学生&#xff1a; struct Stu {char name[20];int age;char sex[5]; }; 1.2结构体变量的创…...

Java进阶——Lombok的使用

Lombok可以通过注解的方式&#xff0c;在编译时自动生成 getter、setter、构造函数、toString 等样板代码&#xff0c;从而减少代码的冗余&#xff0c;提高开发效率。本文深入讲解Lombok在实际开发中的使用。 本文目录 1. Lombok 依赖添加2. 常用Lombok注解及使用场景2.1 Gette…...

饿了么 bx-et 分析

声明: 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 逆向分析 import requests bx_et re…...

python黑科技:无痛修改第三方库源码

需求不符合 很多时候&#xff0c;我们下载的 第三方库 是不会有需求不满足的情况&#xff0c;但也有极少的情况&#xff0c;第三方库 没有兼顾到需求&#xff0c;导致开发者无法实现相关功能。 如何通过一些操作将 第三方库 源码进行修改&#xff0c;是我们将要遇到的一个难点…...

PGD对抗样本生成算法实现(pytorch版)

PGD对抗样本生成算法 一、理论部分1.1 PGD 原理(1) 数学形式(2) 核心改进1.2 PGD 与其他攻击对比1.3 注意事项二、代码实现2.1 导包2.2 数据加载和处理2.3 网络构建2.4 模型加载2.5 生成对抗样本2.6 对抗测试2.7 启动攻击2.8 效果展示一、理论部分 1.1 PGD 原理 PGD 是 BIM/I-…...

小智机器人相关函数解析,BackgroundTask::Schedule (***)将一个回调函数添加到后台任务队列中等待执行

以下是对 BackgroundTask::Schedule 函数代码的详细解释&#xff1a; void BackgroundTask::Schedule(std::function<void()> callback) {std::lock_guard<std::mutex> lock(mutex_);if (active_tasks_ > 30) {int free_sram heap_caps_get_free_size(MALLOC_…...

C++学习之路:深入理解变量

目录 编程的本质变量的本质内存模型、变量名与值以及地址的关系数据类型C数据类型数据类型别名数据类型转换 变量作用域总结 编程的本质 编程的本质是什么&#xff1f;虽然程序里能实现很多复杂的逻辑&#xff0c;但是从底层的硬件上来看&#xff0c;编程的本质就是数据的搬移。…...