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

java入门基础笔记语法篇(3)

一、 注释

什么是注释

  •  注释定义:注释是写在程序中对代码进行解释说明的文字,方便自己和他人查看以理解程序。

Java注释的三种写法:

  • 单行注释:以“//”开头,注释内容只能写一行。
  • 多行注释:以“/*”开头,“*/”结尾,中间可有多行注释内容。
  • 文档注释:以“/**”开头,“*/”结尾,通常用在类和方法上方。 并给出了包含三种注释写法的代码示例。
/*** 这是一个文档注释,通常用在类和方法上方*/
public class HelloWorld {public static void main(String[] args) {// 这是一个单行注释,有效范围是从//开始到当前行结尾System.out.println("HelloWorld");/*这是一个多行注释*/System.out.println("HelloWorld");}
}

注释的特点 

注释只在代码编写阶段起作用,编译后的.class文件中没有注释,注释不会影响程序执行。

二、第一个 Java 程序

1.创建 Java 源文件

创建一个新的文件,命名为 HelloWorld.java。文件名必须与类名相同,并且后缀名为 .java

2.编写代码

在 HelloWorld.java 中输入以下代码:

// 这是一个 Java 类,类名必须与文件名相同
public class HelloWorld {// 这是主方法,程序的入口点public static void main(String[] args) {// 这行代码会在控制台输出 "Hello, World!"System.out.println("Hello, World!");}
}

掌握java中输出常见字面量程序

//定义一个名为 LiteralOutputExample 的公共类,
//在 Java 中,一个 Java 文件中可以有多个类,但只能有一个公共类,且该公共类的名称必须与文件名相同。
//这里我们将通过这个类来演示 Java 中各种常见字面量的使用和输出。
public class LiteralOutputExample {/*** 程序的入口方法,Java 虚拟机(JVM)在运行 Java 程序时会从这个方法开始执行。* 该方法是静态方法(static),意味着它属于类本身,而不是类的某个实例对象,* 这样 JVM 可以直接调用而无需创建类的实例。* 参数 args 是一个字符串数组,用于接收从命令行传递给程序的参数。*/public static void main(String[] args) {// --------------- 整数字面量 ---------------// 整数字面量表示整数数值,在 Java 中有多种表示形式。// 十进制整数,这是最常见的整数表示方式,直接书写数字即可。// 这里定义了一个 int 类型的变量 integerLiteral1,并将十进制整数 100 赋值给它。int integerLiteral1 = 100;// 负的十进制整数,在数字前加上负号表示负数。// 定义 int 类型变量 integerLiteral2,并赋值为 -20。int integerLiteral2 = -20;// 使用 System.out.println 方法输出提示信息,表明下面要输出整数字面量。System.out.println("整数字面量:");// 输出十进制整数 integerLiteral1 的值。System.out.println("十进制: " + integerLiteral1);// 输出负的十进制整数 integerLiteral2 的值。System.out.println("负数: " + integerLiteral2);// 八进制整数,以 0 开头,后面跟由 0 - 7 组成的数字序列。// 这里的 012 是八进制表示,转换为十进制是 1 * 8 + 2 = 10。int octalLiteral = 012;// 输出八进制整数转换为十进制后的结果。System.out.println("八进制: " + octalLiteral);// 十六进制整数,以 0x 或 0X 开头,后面可以跟 0 - 9、a - f 或 A - F 组成的数字序列。// 这里的 0x1F 转换为十进制是 1 * 16 + 15 = 31。int hexLiteral = 0x1F;// 输出十六进制整数转换为十进制后的结果。System.out.println("十六进制: " + hexLiteral);// 二进制整数,以 0b 或 0B 开头,后面跟由 0 和 1 组成的数字序列。// 这里的 0b1010 转换为十进制是 1 * 2^3 + 0 * 2^2 + 1 * 2^1 + 0 * 2^0 = 10。int binaryLiteral = 0b1010;// 输出二进制整数转换为十进制后的结果。System.out.println("二进制: " + binaryLiteral);// --------------- 浮点数字面量 ---------------// 浮点数字面量用于表示小数数值,在 Java 中有单精度和双精度之分。// 双精度浮点数字面量,默认情况下,Java 中的小数常量就是 double 类型。// 这里定义了一个 double 类型的变量 doubleLiteral,并赋值为 3.14。double doubleLiteral = 3.14;// 单精度浮点数字面量,需要在数字后面加上 f 或 F 来明确表示这是一个 float 类型的常量。// 定义 float 类型变量 floatLiteral,并赋值为 2.718f。float floatLiteral = 2.718f;// 输出提示信息,表明下面要输出浮点数字面量。System.out.println("\n浮点数字面量:");// 输出双精度浮点数字面量的值。System.out.println("双精度: " + doubleLiteral);// 输出单精度浮点数字面量的值。System.out.println("单精度: " + floatLiteral);// --------------- 字符字面量 ---------------// 字符字面量表示单个字符,用单引号括起来。// 普通英文字符的字符字面量,这里定义了一个 char 类型的变量 charLiteral1,并赋值为字符 'A'。char charLiteral1 = 'A';// 中文字符的字符字面量,同样用单引号括起来,定义 char 类型变量 charLiteral2 并赋值为 '中'。char charLiteral2 = '中';// 转义字符,用于表示一些特殊的字符,如换行符、制表符等。// 这里的 '\n' 表示换行符,定义 char 类型变量 charLiteral3 并赋值为 '\n'。char charLiteral3 = '\n';// 输出提示信息,表明下面要输出字符字面量。System.out.println("\n字符字面量:");// 输出普通英文字符字面量的值。System.out.println("普通字符: " + charLiteral1);// 输出中文字符字面量的值。System.out.println("中文字符: " + charLiteral2);// 先输出提示信息,表明要演示换行转义字符。System.out.print("转义字符(换行): ");// 输出包含换行符的字符串,实现换行效果。System.out.print("这是换行前的内容" + charLiteral3);// 输出换行后的内容。System.out.println("这是换行后的内容");// --------------- 字符串字面量 ---------------// 字符串字面量表示由零个或多个字符组成的序列,用双引号括起来。// 普通的字符串字面量,定义一个 String 类型的变量 stringLiteral1,并赋值为 "Hello, World!"。String stringLiteral1 = "Hello, World!";// 空字符串字面量,即不包含任何字符的字符串,定义 String 类型变量 stringLiteral2 并赋值为空字符串。String stringLiteral2 = "";// 输出提示信息,表明下面要输出字符串字面量。System.out.println("\n字符串字面量:");// 输出普通字符串字面量的值。System.out.println("普通字符串: " + stringLiteral1);// 调用 String 类的 length() 方法获取空字符串的长度,结果为 0,并输出该长度。System.out.println("空字符串长度: " + stringLiteral2.length());// --------------- 布尔字面量 ---------------// 布尔字面量只有两个值:true 和 false,用于表示逻辑上的真和假。// 定义一个 boolean 类型的变量 trueLiteral,并赋值为 true,表示逻辑真。boolean trueLiteral = true;// 定义一个 boolean 类型的变量 falseLiteral,并赋值为 false,表示逻辑假。boolean falseLiteral = false;// 输出提示信息,表明下面要输出布尔字面量。System.out.println("\n布尔字面量:");// 输出布尔字面量 true 的值。System.out.println("真: " + trueLiteral);// 输出布尔字面量 false 的值。System.out.println("假: " + falseLiteral);// --------------- 空字面量 ---------------// 空字面量只有一个值:null,表示对象引用不指向任何对象。// 定义一个 Object 类型的变量 nullLiteral,并赋值为 null。// Object 是 Java 中所有类的基类,可以用来引用任何类型的对象。Object nullLiteral = null;// 输出提示信息,表明下面要输出空字面量。System.out.println("\n空字面量:");// 输出空字面量的值,会显示为 null。System.out.println("空对象引用: " + nullLiteral);}
}

输出结果:

整数字面量:
十进制: 100
负数: -20
八进制: 10
十六进制: 31
二进制: 10浮点数字面量:
双精度: 3.14
单精度: 2.718字符字面量:
普通字符: A
中文字符: 中
转义字符(换行): 这是换行前的内容
这是换行后的内容字符串字面量:
普通字符串: Hello, World!
空字符串长度: 0布尔字面量:
真: true
假: false空字面量:
空对象引用: null

 字面量:字面量是程序中能直接书写的数据,Java 程序中数据的书写格式。

常用数据

生活中的写法

程序中该怎么写说明
整数666,-88666,-88写法一致
小数  13.14,-5.2113.14,-5.21写法一致
字符A,0,我'A' ,'0' ,'我'程序中必须使用单引号,有且仅能一个字符
字符串helloworld"helloworld"程序中必须使用双引号,内容可有可无
布尔值真、假true、false只有两个值:true:代表真,false:代表假
空值-值是:null一个特殊的值,空值(后面会讲解作用,暂时不管)
特殊字符字面量-\t \n 

三、数据类型

java是一种强类型语言。这就意味着必须为每个变量声明一种类型,在java中,一共有8种基本类型(primitive type),其中有4种整型、2种浮点类型,1种用于表示Unicode编码的字符单元的字符类型char,和一种用于表示真值的boolean类型。

整型

整型用于表示没有小数部分的数值,它允许是负数。Java提供了4种整型。
类型存储需求取值范围
int4字节-2147483648 ~ 2147483647(正好超过 20 亿)
short2 字节-32768 ~ 32767
long8 字节-9223372036854775808 ~ 9223372036854775807
byte1 字节-128 ~ 127

在Java中,整型的范围与运行Java代码的机器无关。与此相反,C和C++程序需要针对不同的处理器选择最为高效的整型,这样就有可能造成一个在32位处理器上运行很好的C程序在16位系统上运行却发生整数溢出。由于Java程序必须保证在所有机器上都能够得到相同的运行结果,所以各种数据类型的取值范围必须固定。

 代码示例:

public class DataTypeExample {public static void main(String[] args) {// 定义byte类型变量byte b = 10;// 定义short类型变量short s = 100;// 定义int类型变量int i = 1000;// 定义long类型变量,需要在数字后面加上L或llong l = 10000000000L;System.out.println("byte类型变量b的值是:" + b);System.out.println("short类型变量s的值是:" + s);System.out.println("int类型变量i的值是:" + i);System.out.println("long类型变量l的值是:" + l);}
}


浮点类型

浮点类型用于表示有小数部分的数值。在Java中有两种浮点类型。、
类型存储需求取值范围
float4字节大约 ±3.402 823 47E+38F(有效位数为 6 - 7 位)
double8 字节大约 ±1.797 693 134 862 315 70E+308(有效位数为 15 位)

代码示例:

public class DataTypeExample {public static void main(String[] args) {// 定义float类型变量,需要在数字后面加上F或ffloat f = 3.14f;// 定义double类型变量double d = 3.141592653589793;System.out.println("float类型变量f的值是:" + f);System.out.println("double类型变量d的值是:" + d);}
}
  • double表示这种类型的数值精度是float类型的两倍(有人称之为双精度数值)。
  • 绝大部分应用程序都采用double类型。
  • 实际上,只有很少的情况适合使用float类型。
  • float类型的数值有一个后缀F或f(例如,3.14F)。没有后缀F的浮点数值(如
    3.14)默认为double类型。当然,也可以在浮点数值后面添加后缀D或d(例如,
    3.14D)。

char类型

char 类型:在 Java 中,char 类型用于表示单个字符,它在内存中占用 16 位(2 个字节),采用的是 Unicode 编码。这意味着 char 类型可以直接表示一个 Unicode 字符。

char类型原本用于表示单个字符。不过,现在情况已经有所变化。如今,有些 Unicode字符可以用一个char值描述,另外一些Unicode字符则需要两个char值。

Unicode:Unicode 是一种字符编码标准,它为世界上几乎所有的字符都分配了一个唯一的编号(码点),其目的是为了统一地表示和处理各种语言的文字。码点通常用十六进制表示,例如,字符 'A' 的 Unicode 码点是 U+0041。在 Java 中,可以通过转义序列 \u 后跟四位十六进制数来表示一个 Unicode 字符。例如:

char c = '\u0041';
System.out.println(c);

 上述代码同样将字符 'A' 赋值给 char 变量 c,这里使用了 Unicode 转义序列。

  • UTF-16编码采用不同长度的编码表示所有Unicode码点。
  • 在基本的多语言级别中, 每个字符用16位表示,通常被称为代码单元(code unit);而辅助字符采用一对连续的代码单元进行编码。
  • 这样构成的编码值落入基本的多语言级别中空闲的2048 字节内,通常被称为替代区域(surrogate area)[U+D800~U+DBFF用于第一个代码单元,U+DC00~U+DFFF用于第二个代码单元]。 
小贴士:
  • 在Java中,char类型描述了UTF-16编码中的一个代码单元。
  • 我们强烈建议不要在程序中使用char类型,除非确实需要处理UTF-16代码单元。最好将字符串作为抽象数据类型处理。

boolean类型

boolean(布尔)类型有两个值:false和true,用来判定逻辑条件。整型值和布尔值之间不能进行相互转换。代码示例:
public class DataTypeExample {public static void main(String[] args) {// 定义boolean类型变量boolean b = true;System.out.println("boolean类型变量b的值是:" + b);}
}

 

 

相关文章:

java入门基础笔记语法篇(3)

一、 注释 什么是注释 注释定义:注释是写在程序中对代码进行解释说明的文字,方便自己和他人查看以理解程序。 Java注释的三种写法: 单行注释:以“//”开头,注释内容只能写一行。多行注释:以“/*”开头&…...

VUE对接deepseekAPI调用

1.先去开放平台注册账号申请api key。开放平台:https://platform.deepseek.com/api_keys 2.你的项目需要有发送请求的axios或者自己写。 npm install axios # 或 yarn add axios 3.创建 API 调用函数 在 Vue 项目中,通常会将 API 调用的逻辑封装到一个…...

【C++高并发服务器WebServer】-1:Linux中父子进程fork创建及关系、GDB多进程调试

本文目录 一、进程创建二、GDB多进程调试 一、进程创建 在Linux中输入man 2 fork可以查看man文档中的fork的相关函数信息。 fork的作用就是创建一个子进程。 通过fork我们可以知道,创建子进程的时候,复制父进程的信息。 我们看看翻译的man文档信息&am…...

leetcode——相交链表(java)

给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意,函数返回结果后&…...

Spring 框架:配置缓存管理器、注解参数与过期时间

在 Spring 框架中,可通过多种方式配置缓存具体行为,常见配置方法如下。 1. 缓存管理器(CacheManager)配置 基于内存的缓存管理器配置(以SimpleCacheManager为例) SimpleCacheManager 是 Spring 提供的简单…...

UDP協議與代理IP介紹

UDP,全稱是用戶數據報協議(User Datagram Protocol),是Internet協議套組的一部分,與TCP協議一道工作。與TCP相比,UDP可以理解為一個更“羽量級”的協議。它不需要像TCP那樣在數據傳輸開始之前建立連接&…...

24.日常算法

1. 数组中两元素的最大乘积 题目来源 给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 (nums[i]-1)*(nums[j]-1) 取得最大值。请你计算并返回该式的最大值。 示例 1: 输入:nums [3,4,5,2] 输出:12 解释…...

【Python】FastAPI框架快速实现后端(一)

FastAPI框架快速实现后端-SQLModel的使用 介绍正文基础模型模型与表定义数据表模型关系定义 介绍 最近1个多月,用FastAPI做了几个日常工作用的小功能,感觉FastAPI确实很适合这种场景,功能要求简单,交付要求比较急,这个…...

西门子【Library of General Functions (LGF) for SIMATIC S7-1200 / S7-1500】

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 通用函数库 (LGF) 扩展了 TIA Portal 中用于 PLC 编程的 STEP 7 指令(数学函数、时间、计数器 等)。该库可以不受限制地使用,并包含 FIFO 、搜索功能、矩阵计算、 astro 计…...

年度总结和寒假总结

年度总结 加入Hope实验室 年初,我加入了Hope实验室,在实验室里,我接触到了更加前沿的技术和项目。刚开始时,我主要学习了Java语言和MySQL数据库。这是我第一次系统地接触这些技术,相比之前的课堂学习,实验…...

STM32 GPIO配置 点亮LED灯

本次是基于STM32F407ZET6做一个GPIO配置,实现点灯实验。 新建文件 LED.c、LED.h文件,将其封装到Driver文件中。 双击Driver文件将LED.c添加进来 编写头文件,这里注意需要将Driver头文件声明一下。 在LED.c、main.c里面引入头文件LED.h LED初…...

C#标准Mes接口框架(持续更新)

前言 由于近期我做了好几个客户的接入工厂Mes系统的需求。但是每个客户的Mes都有不同程度的定制需求,原有的代码复用难度其实很大。所以打算将整个接入Mes系统的框架单独拿出来作为一个项目使用,同时因为不同的设备接入同一个Mes系统,所以代…...

22_设计方案(4.1.7)

4.1.7 数据组织存储实例 全区所有数据库信息根据业务使用范围存储在互联网区、政务外网区、自然资源业务网区的服务器。互联网区的服务器主要存储互联网数据库。政务外网区的服务器主要存储全区所有市、县(区)不动产登记业务库、档案库、后台管理库、工作流库,全区共享查询…...

Ansys Thermal Desktop 概述

介绍 Thermal Desktop 是一种用于热分析和流体分析的通用工具。它可用于组件或系统级分析。 来源:CRTech 历史 Thermal Desktop 由 C&R Technologies (CR Tech) 开发。它采用了 SINDA/FLUINT 求解器。SINDA/FLUINT 最初由 CR Tech 的创始人为 NASA 的约翰逊航…...

PageView组件的功能和用法

文章目录 1 概念介绍2 使用方法3 示例代码 我们在上一章回中介绍了如何屏蔽事件关的内容,本章回中将介绍PageView Widget.闲话休提,让我们一起Talk Flutter吧。 1 概念介绍 我们在这里介绍的PageView是指左右滑动或者上下滑动显示不同的页面,Flutter把它…...

自动化实现的思路变化

阶段一: 1、成功调用。第一步,一般是用现用的工具,或者脚本成功调用接口 2、解决关联接口的参数传递。有的接口直接,存在参数的传递,一般的思路,就是将这个参数设置为变量。 3、简化代码。总会有些东西是重…...

微信小程序启动小程序APP Page Component创建顺序

之前之后的打印 都是在()之外...

从 UTC 日期时间字符串获取 Unix 时间戳:C 和 C++ 中的挑战与解决方案

在编程世界里,从 UTC 日期时间字符串获取 Unix 时间戳,看似简单,实则暗藏玄机。你以为输入一个像 “Fri, 17 Jan 2025 06:07:07” 这样的 UTC 时间,然后轻松得到 1737094027(从 1970 年 1 月 1 日 00:00:00 UTC 开始经…...

[Spring] Gateway详解

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏: 🧊 Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 🍕 Collection与…...

计数排序算法

基本思想 先确定待排序数组的最大值(Max)和最小值(Min),随后创建Max - Min 1个长度的数组称为计数数组,计数数组的索引对应着待排序数组中元素的值,数组的值表示该元素的出现次数。通过从前往…...

Spring--基于注解的声明式事务

基于注解的声明式事务 1.选择一个合适的事务管理器实现加入到ioc容器 2.使用注解指定哪些方法需要添加事务即可 1.事务属性:只读 // readOnly true把当前事务设置为只读 默认是false! Transactional(readOnly true)Transactional注解放在类上 生效原则 如果一…...

SQL-leetcode—1164. 指定日期的产品价格

1164. 指定日期的产品价格 产品数据表: Products ---------------------- | Column Name | Type | ---------------------- | product_id | int | | new_price | int | | change_date | date | ---------------------- (product_id, change_date) 是此表的主键(具…...

微服务搭建----springboot接入Nacos2.x

springboot接入Nacos2.x nacos之前用的版本是1.0的,现在重新搭建一个2.0版本的,学如逆水行舟,不进则退,废话不多说,开搞 1、 nacos2.x搭建 1,首先第一步查询下项目之间的版本对照,不然后期会…...

JavaEE:多线程进阶

JavaEE:多线程进阶 一、对比不同锁策略之间的应用场景及其区别1. 悲观锁 和 乐观锁1.1 定义和原理1.2 应用场景1.3 示例代码 2. 重量级锁 和 轻量级锁2.1 定义和原理2.2 应用场景2.3 示例代码 3. 挂起等待锁 和 自旋锁3.1 定义和原理3.2 应用场景3.3 示例代码 4. 几…...

软件测试 —— jmeter(2)

软件测试 —— jmeter(2) HTTP默认请求头(元件)元件作用域和取样器作用域HTTP Cookie管理器同步定时器jmeter插件梯度压测线程组(Stepping Thread Group)参数解析总结 Response Times over TimeActive Thre…...

[java] 面向对象进阶篇1--黑马程序员

目录 static 静态变量及其访问 实例变量及其访问 静态方法及其访问 实例方法及其访问 总结 继承 作用 定义格式 示例 总结 子类不能继承的内容 继承后的特点 成员变量 成员变量不重名 成员变量重名 super访问父类成员变量 成员方法 成员方法不重名 成员方法…...

openstack单机安装

openstack单机安装 网卡配置安装依赖开启虚拟环境修改配置文件 部署openstack部署openstack客户端访问可视化界面Horizon补充 本篇主要讲述Ubuntu2204单机安装openstackstable/2024.2。其他版本的Linux系统或者openstack版本,请参考openstack官网。 网卡配置 需要配…...

OFD、PDF 电子签章系统处理流程

在C#中实现电子签章系统的处理流程,可以参考以下步骤和技术实现: 1. 电子签章系统的基本流程 电子签章系统的核心流程包括以下几个步骤: 密钥生成:生成公钥和私钥对,私钥由签章人保管,公钥用于验证签名。…...

「 机器人 」系统辨识实验浅谈

前言 系统辨识实验是一种通过实验和数据分析的方法,用于建立物理系统的数学模型的技术。系统辨识是控制工程和系统科学中的重要环节,尤其是在模型未知或复杂的情况下。以下是系统辨识实验的详细介绍: 1. 系统辨识实验的目的 1.1 建模 为动态系统(如机械系统、电气系统或生…...

15.7k!DISM++一款快捷的系统优化工具

软件介绍 链接 软件介绍 dism是一款由初雨团队开发的win系统优化工具,可当作是微软系统命令行工具dism的GUI版本。可用作系统垃圾清除、启动项管理、程序卸载、驱动管理、系统优化等 该工具个人感觉最重要的就是系统优化选项,它将一些实用、无用或者没…...

Windows10安装MySQL找不到MSVCR120.dll和MSVCP120.dll问题解决

个人博客地址:Windows10安装MySQL找不到MSVCR120.dll和MSVCP120.dll问题解决 | 一张假钞的真实世界 msvcp120.dll、msvcr120.dll、vcomp120.dll属于VC2013版中的动态链接库,如果丢失重新安装VC2013即可。下载地址:https://www.microsoft.com…...

Vue 3 30天精进之旅:Day 03 - Vue实例

引言 在前两天的学习中,我们成功搭建了Vue.js的开发环境,并创建了我们的第一个Vue项目。今天,我们将深入了解Vue的核心概念之一——Vue实例。通过学习Vue实例,你将理解Vue的基础架构,掌握数据绑定、模板语法和指令的使…...

被遮挡QT窗口置顶

问题描述 开发环境:windows QT 需求: 单击托盘将桌面窗口在被遮挡的情况下置顶解决方案 方案1 资料链接 代码实现 Qt::WindowFlags flags windowFlags(); this->setWindowFlags((flags | Qt::WindowStaysOnTopHint)); this->showMaximized();…...

Apache Flink 概述学习笔记

一、引言 在大数据处理领域,Apache Flink 是一个极具影响力的开源流批一体化计算框架,它以其独特的架构和强大的功能,为大规模数据处理提供了高效、灵活的解决方案。 二、基本概念 Flink 是什么:Flink 是一个分布式流批处理框架…...

系统思考—复杂问题的根源分析

在企业中,许多问题看似简单,背后却潜藏着复杂的因果关系。传统的思维方式往往只能看到表面,而无法深入挖掘问题的真正根源。我们常常通过“表面解决”来应对眼前的症状,但这往往只是治标不治本。 比如,销量下降时&…...

Python 之 Excel 表格常用操作

示例文件 test.xlsx 将各个表单拆分成单独的 Excel 文件 import os.pathimport openpyxl import pandasdef handle_excel(file_path):dirname os.path.dirname(file_path)basename os.path.basename(file_path).split(".")[0]wb openpyxl.load_workbook(file_pat…...

《用DOTS解决实际需求》集锦

去年作者发布了一篇《DOTS-ECS系列课程》,深受同学们的好评!前期课程是基于0.51版本录制的,DOTS升级至1.0版本后,同学们纷纷希望能使用DOTS 1.0版本录制实战课程。 今年作者带着DOTS 1.0版本的实战课程回来啦!&#x…...

【MySQL】存储引擎有哪些?区别是什么?

频率难度60%⭐⭐⭐⭐ 这个问题其实难度并不是很大,只是涉及到的相关知识比较繁杂,比如事务、锁机制等等,都和存储引擎有关系。有时还会根据场景选择不同的存储引擎。 下面笔者将会根据几个部分尽可能地讲清楚 MySQL 中的存储引擎&#xff0…...

ios打包:uuid与udid

ios的uuid与udid混乱的网上信息 新人开发ios,发现uuid和udid在网上有很多帖子里是混淆的,比如百度下,就会说: 在iOS中使用UUID(通用唯一识别码)作为永久签名,通常是指生成一个唯一标识&#xf…...

Jadx动态调试安卓逆向

adb shell su ls 找到default.prop cat default.prop ro.debuggable0(代表没有调试权限) adb shell getprop ro.debuggable # 检查设备是否可调试(1可调试) adb shell getprop ro.product.cpu.abi # 获取设备 CPU 架构(如 arm64-v…...

在Ubuntu上使用Apache+MariaDB安装部署Nextcloud并修改默认存储路径

一、前言 Nextcloud 是一款开源的私有云存储解决方案,允许用户轻松搭建自己的云服务。它不仅支持文件存储和共享,还提供了日历、联系人、任务管理、笔记等丰富的功能。本文将详细介绍如何在 Ubuntu 22.04 LTS 上使用 Apache 和 MariaDB 安装部署 Nextcl…...

FPGA实现任意角度视频旋转(二)视频90度/270度无裁剪旋转

本文主要介绍如何基于FPGA实现视频的90度/270度无裁剪旋转,关于视频180度实时旋转,请见本专栏前面的文章,旋转效果示意图如下: 为了实时对比旋转效果,采用分屏显示进行处理,左边代表旋转前的视频在屏幕中…...

六、深入了解DI

依赖注入是⼀个过程,是指IoC容器在创建Bean时,去提供运⾏时所依赖的资源,⽽资源指的就是对象. 在上⾯程序案例中,我们使⽤了 Autowired 这个注解,完成了依赖注⼊的操作. 简单来说,就是把对象取出来放到某个类的属性中。 关于依赖注…...

kotlin内联函数——let,run,apply,also,with的区别

一、概述 为了帮助您根据使用场景选择合适的作用域函数(scope function),我们将对它们进行详细描述并提供使用建议。从技术上讲,许多情况下范围函数是可以互换使用的,因此示例中展示了使用它们的约定俗成的做法。 1.…...

火语言RPA—超级鹰打码

🚩【组件功能】:通过传入图像返回图像中的文字或结果信息 针对不同类型图片形式的验证码,提交至平台api,以字符串形式返回图片识别结果。 配置预览 配置说明 文件路径 支持T或# 默认FLOW输入项 待识别本地图片的完整路径。 用…...

C#新语法

目录 顶级语句(C#9.0) using 全局using指令(C#10.0) using资源管理问题 using声明(C#8.0) using声明陷阱 错误写法 正确写法 文件范围的命名空间声明(C#10.0) 可空引用类型…...

Cloudflare通过代理服务器绕过 CORS 限制:原理、实现场景解析

第一部分:问题背景 1.1 错误现象复现 // 浏览器控制台报错示例 Access to fetch at https://chat.qwenlm.ai/api/v1/files/ from origin https://ocr.doublefenzhuan.me has been blocked by CORS policy: Response to preflight request doesnt pass access con…...

lightgbm做分类

python import pandas as pd#导入csv文件的库 import numpy as np#进行矩阵运算的库 import json#用于读取和写入json数据格式#model lgb分类模型,日志评估,早停防止过拟合 from lightgbm import LGBMClassifier,log_evaluation,early_stopping #metric from sklearn.metrics …...

下载Visual Studio Community 2019

官方链接如下:Visual Studio Community 2019下载链接 https://learn.microsoft.com/zh-cn/visualstudio/releases/2019/system-requirements#download 目前官方仅建议2022版,已经关闭vs2019等旧版本,哪天开放了,记得踢我一下。 …...

深入理解MySQL事务(万字详)

文章目录 什么是事务为什么会出现事务事务的版本支持事务的提交方式事务常见操作方式正常演示 - 证明事务的开始与回滚非正常演示1 - 证明未commit,客户端崩溃,MySQL自动会回滚(隔离级别设置为读未提交)非正常演示2 - 证明commit了…...