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

学习笔记——Java入门第一季

1.1 Java的介绍与前景
Java语言最早期的制作者:James Gosling(詹姆斯·高斯林)

1995年5月23日,Sun Microsystems公司宣布Java语言诞生。

1.2 Java的特性与版本


跨平台 开源(开放源代码)

Java代码(.java)

字节码文件(.class)

Java的版本区别

J2SE:标准版,提供了Java语言最核心的功能,是其他版本的基础。

J2EE:企业版,针对企业级应用开发提供了更多高级功能。

J2ME:崁入式版,可为智能设备开发应用程序,目前极少使用。

1.3 我与Java的第一次接触
public class HelloWord{  意思是创建了一个名为HelloWorld的程序

        public static void  main(String[] args){  此行为程序入口意思主要代码在这一组大括号中来进行书写

                System.out.println("Hello World"); 意思为将后面引号中的字符在屏幕上打印输出,其中最后注意分号

        }

}

1.4 第一个Java程序
public class HelloWorld {
    public static void main(String[] args){
        System.out.println("hello imooc");
    }
}

输出:hello imooc

Publick 公开的

class 类

static 静止的

void 无效的

main 主要

string 字符串

system 系统

println 输出

命令学习:system.out.println(系统文字输出)

固定入口:pubilck static void main (string【】 args)

1.5 程序的移植


快捷键psvm 代表public static void main()

快捷键sout 代表 System.out.println();

1.6 经验技巧分享
多练习 练习总结经验

多向大佬提问自己不懂的 用最短的时间解决所遇到的问题

总结自己所学到的东西

2.1 Java中的关键字 


Java 语言中有一些具有特殊用途的词被称为关键字。关键字对 Java 的编译器有着特殊的意义,在程序中应用时一定要慎重哦!!

abstract //抽象方法,抽象类的修饰符
assert //断言条件是否满足
boolean //布尔
break //跳出循环或者label代码段
byte //8-bit 有符号数据类型
case //switch语句的条件
catch //和try搭配捕捉异常
char //16-bit Unicode字符数据
class //定义类
const //未使用
continue //不执行循环体剩余部分
default //switch语句中的默认分支
do //循环语句,至少会执行一次
double //64-bit双精度浮点数
else //if条件不成立
enum //枚举类型
extends //继承
final //常量
//方法不能被重写,或者一个类不能有子类
finally //try 语句不管是否发生异常都要执行的语句块
float //32-bit单精度浮点数
for //for循环
goto //未使用
if //条件语句
implements //类实现了接口
import //导入类
instanceof //测试一个对象是否是某个类的实例
int //32位整型数
interface //接口
long //64位整型数
native //表示方法用非java代码实现
new //新的类实例
package //包
private //表示私有字段,方法等,只能从类内部访问
protected //表示只能通过类或者其子类访问
//子类或者在同一个包内的其他类
public //表示共有属性或者方法
return //方法返回值
short //16位数字
static //静态
strictfp //浮点数比较使用严格的规则
super //表示父类/基类
switch //选择语句
synchronized //表示同一时间只能由一个线程访问的代码块
this //当前实例
//或者调用另一个构造函数
throw //抛出异常
throws //定义异常
transient //修饰不要序列化的字段
try //捕捉异常
void //标记方法不返回任何值
volatile //标记字段可能会被多个线程同时访问,而不做同步
while //while循环

        

编写Java程序时,应注意以下几点:
    大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的。
    括号:任何括号都要配对! 建议: 括号成对写,如果删除的话成对删除。
    缩进:适当注意代码的缩进,会增加代码的可视性。
    符号:在写代码的时候,所有符号一定是英文半角符号输入。同时每句执行代码的结尾一定以分号结束。
    换行:适当注意换行,会增加代码的可视性。
    导包:可以同过import引入相应的工具类来辅助开发。
    类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass 。
    方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。
    源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。(如果文件名和类名不相同则会导致编译错误)。
    主方法入口:所有的Java 程序由public static void main(String[]args)方法开始执行。
2.2 认识Java标识符


使用标识符时,需要遵守几条规则:

 1.  标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符,不能以数字开头。譬如:123name 就是不合法滴

 2.  标识符不能是 Java 关键字和保留字( Java 预留的关键字,以后的升级版本中有可能作为关键字),但可以包含关键字和保留字。如:不可以使用 void 作为标识符,但是 Myvoid 可以

 3.  标识符是严格区分大小写的。 所以涅,一定要分清楚 imooc 和 IMooc 是两个不同的标识符哦!

 4.  标识符的命名最好能反映出其作用,做到见名知意。

2.3 变量是什么
变量名=房间的名字;

变量类型=房间类型;

入住的客人=变量;

比如:String Hello="hello";

String就是房间类型是经济房还是总统套房,它就是变量类型,它还可以是char、int。

Hello就是房间号或者说是房间的名字是101还是888,它就是变量的名字,它还可以是Hi、hi等。

hello就是入住的客人了它可以是"a"也可以是"b",他就是变量的值,它的值还可以是shenme、Shenme等。

        

2.4 如何命名Java变量


注意:

1、变量名由多单词组成时,第一个单词的首字母小写,其后单词的首字母大写,俗称骆驼式命名法(也称驼峰命名法),如 myAge

2、变量命名时,尽量简短且能清楚的表达变量的作用,做到见名知意。如:定义变量名 stuName 保存“学生姓名”信息

PS: Java 变量名的长度没有限制,但 Java 语言是区分大小写的,所以 price 和 Price 是两个完全不同的变量哦!

2.5 Java中的数据类型


ava 语言是一种强类型语言。通俗点说就是,在 Java 中存储的数据都是有类型的,而且必须在编译时就确定其类型。 Java 中有两类数据类型:

在 Java 的领域里,基本数据类型变量存的是数据本身,而引用类型变量存的是保存数据的空间地址。说白了,基本数据类型变量里存储的是直接放在抽屉里的东西,而引用数据类型变量里存储的是这个抽屉的钥匙,钥匙和抽屉一一对应。

常用的基本数据类型有:

注:String 是一种常见的引用数据类型,用来表示字符串。在程序开发中,很多操作都要使用字符串来完成,例如系统中的用户名、密码、电子邮箱等。

2.6 Java中变量的使用规则
1、Java 中的变量需要先声明后使用
2、变量使用时,可以声明变量的同时进行初始化
3、变量中每次只能赋一个值,但可以修改多次
4、main 方法中定义的变量必须先赋值,然后才能输出
5、虽然语法中没有提示错误,但在实际开发中,变量名不建议使用中文,容易产生安全隐患,譬如后期跨平台操作时出现乱码等等
2.7 Java中的自动类型转换
在 Java 程序中,不同的基本数据类型的数据之间经常需要进行相互转换。例如:

代码中 int 型变量 score1 可以直接为 double 型变量 score2 完成赋值操作,运行结果为: 82.0 

这种转换称为自动类型转换。

当然自动类型转换是需要满足特定的条件的:

1.  目标类型能与源类型兼容,如 double 型兼容 int 型,但是 char 型不能兼容 int 型

2.  目标类型大于源类型,如 double 类型长度为 8 字节, int 类型为 4 字节,因此 double 类型的变量里直接可以存放 int 类型的数据,但反过来就不可以了

2.8 Java中的强制类型转换
 因为 int 型的存储范围比 double 型的小。此时就需要通过强制类型转换来实现了。

语法:( 数据类型 ) 数值

运行结果:

可以看到,通过强制类型转换将 75.8 赋值给 int 型变量后,结果为 75,数值上并未进行四舍五入,而是直接将小数位截断。

强制类型转换可能会造成数据的丢失哦

2.9 Java常量的应用
所谓常量,我们可以理解为是一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变。

语法:final 常量名 = 值;

注:常量名一般使用大写字符

2.10 如何在Java中使用注释


Java 中注释有三种类型:单行注释、多行注释、文档注释

运行结果: Hello Imooc!

被注释的代码块在程序运行时是不会被执行的~~

单行注释//开头     (快捷键 ctrl+/ )
多行注释:/* */    (ctrl+shift+/ )
文档注释:/** */
3.1 什么是运算符
运算符是一种“功能”符号,用以通知 Java 进行相关的运算。譬如,我们需要将变量 age 的值设置为 20 ,这时候就需要一个“=”,告诉程序需要进行赋值操作。

Java 语言中常用的运算符可分为如下几种:

Ø 算术运算符

Ø 赋值运算符

Ø 比较运算符

Ø 逻辑运算符

Ø 条件运算符

3.2 Java中的算术运算符
Java 中常用的算术运算符:

 其中,++ 和 -- 既可以出现在操作数的左边,也可以出现在右边,但结果是不同滴

一定要注意哦!自增和自减运算符只能用于操作变量,不能直接用于操作数值或常量!例如 5++、8-- 等写法都是错误滴!

PS:% 用来求余数,也称为”取模运算符“。

3.3 Java中的赋值运算符
赋值运算符是指为变量或常量指定数值的符号。如可以使用 “=” 将右边的表达式结果赋给左边的操作数。

Java 支持的常用赋值运算符,如下表所示:

3.4 Java中的比较运算符
比较运算符用于判断两个数据的大小,例如:大于、等于、不等于。比较的结果是一个布尔值( true 或 false )。

Java 中常用的比较运算符如下表所示:

注意哦:

1、  > 、 < 、 >= 、 <= 只支持左右两边操作数是数值类型

2、  == 、 != 两边的操作数既可以是数值类型,也可以是引用类型

3.5 Java中的逻辑运算符
逻辑运算符主要用于进行逻辑运算。Java 中常用的逻辑运算符如下表所示:

我们可以从“投票选举”的角度理解逻辑运算符:

1、 与:要求所有人都投票同意,才能通过某议题

2、 或:只要求一个人投票同意就可以通过某议题

3、 非:某人原本投票同意,通过非运算符,可以使其投票无效

4、 异或:有且只能有一个人投票同意,才可以通过某议题

当使用逻辑运算符时,我们会遇到一种很有趣的“短路”现象。

譬如:( one > two ) && ( one < three ) 中,如果能确定左边 one > two 运行结果为 false , 则系统就认为已经没有必要执行右侧的 one < three 啦。

同理,在( one > two ) || ( one < three ) 中,如果能确定左边表达式的运行结果为 true , 则系统也同样会认为已经没有必要再进行右侧的 one < three 的执行啦!

3.6 Java中的条件运算符
条件运算符( ? : )也称为 “三元运算符”。

语法形式:布尔表达式 ? 表达式1 :表达式2

运算过程:如果布尔表达式的值为 true ,则返回 表达式1 的值,否则返回 表达式2 的值

因为,表达式 8>5 的值为 true ,所以,返回: 8大于5

3.7 Java中运算符的优先级
所谓优先级,就是在表达式中的运算顺序。Java 中常用的运算符的优先级如下表所示:

级别为 1 的优先级最高,级别 11 的优先级最低。譬如,x = 7 + 3 * 2  得到的结果是 13 “先乘后加”嘛!

PS:大家没必要去死记运算符的优先级顺序,实际开发中,一般会使用小括号辅助进行优先级管理。

分析:小括号优先级最高,因此

1、 执行 a + 18 ,结果为 30

2、 执行( a + 18 ) % 4 取模,结果为 2

3、 执行 a * ( ( a + 18 ) % 4 ),结果为 24

4.1 Java条件语句之 if

4.2 Java条件语句之 if...else

4.3 Java条件语句之多重 if
多重 if 语句,在条件 1 不满足的情况下,才会进行条件 2 的判断;当前面的条件均不成立时,才会执行 else 块内的代码。

该段代码的含义是:如果 score 值大于90,则奖励一个 Iphone 5s ,当 score 值小于等于 90 时,先判断 score 是否大于 70 ,如果 score 是介于 70--90 之间,则奖励一个红米,如果成绩小于等于 70 ,则罚做 500 个俯卧撑。

4.4 Java条件语句之嵌套 if
嵌套 if 语句,只有当外层 if 的条件成立时,才会判断内层 if 的条件。

例如:

运行结果为: 去室外游乐场游玩

4.5 Java条件语句之 switch

执行过程:当 switch 后表达式的值和 case 语句后的值相同时,从该位置开始向下执行,直到遇到 break 语句或者 switch 语句块结束;如果没有匹配的 case 语句则执行 default 块的代码。

如:

不得不说的几点小秘密:

1、 switch 后面小括号中表达式的值必须是整型或字符型

2、 case 后面的值可以是常量数值,如 1、2;也可以是一个常量表达式,如 2+2 ;但不能是变量或带有变量的表达式,如 a * 2

3、 case 匹配后,执行匹配块里的程序代码,如果没有遇见 break 会继续执行下一个的 case 块的内容,直到遇到 break 语句或者 switch 语句块结束 

4、 可以把功能相同的 case 语句合并起来,如

5、 default 块可以出现在任意位置,也可以省略

4.6 Java循环语句之 while
Java 常用的 3 种循环: while 、 do...while 、 for

< 1 >、 判断 while 后面的条件是否成立( true / false )

< 2 >、 当条件成立时,执行循环内的操作代码 ,然后重复执行< 1 >、< 2 >, 直到循环条件不成立为止

特点:先判断,后执行

4.7 Java循环语句之 do...while
do...while 循环与 while 循环语法有些类似,但执行过程差别比较大。

语法:

执行过程:

<1>、 先执行一遍循环操作,然后判断循环条件是否成立

<2>、 如果条件成立,继续执行< 1 > 、< 2 >,直到循环条件不成立为止

特点: 先执行,后判断

由此可见,do...while 语句保证循环至少被执行一次!

例如,依然输出 1000 遍“我爱慕课网”,使用 do...while 的实现代码为:

4.8 Java循环语句之 for
Java 的循环结构中除了 while 和 do...while 外,还有 for 循环,三种循环可以相互替换。

语法: 

执行过程:

<1>、 执行循环变量初始化部分,设置循环的初始状态,此部分在整个循环中只执行一次

<2>、 进行循环条件的判断,如果条件为 true ,则执行循环体内代码;如果为 false ,则直接退出循环

<3>、 执行循环变量变化部分,改变循环变量的值,以便进行下一次条件判断

<4>、 依次重新执行< 2 >、< 3 >、< 4 >,直到退出循环

特点:相比 while 和 do...while 语句结构更加简洁易读

需要留心的几个小细节:

1、 for 关键字后面括号中的三个表达式必须用 “;” 隔开,三个表达式都可以省略,但 “;” 不能省略。

    a. 省略“循环变量初始化”,可以在 for 语句之前由赋值语句进行变量初始化操作,如:

   b. 省略“循环条件”,可能会造成循环将一直执行下去,也就是我们常说的“死循环”现象,如:

在编程过程中要避免“死循环”的出现,因此,对于上面的代码可以在循环体中使用 break 强制跳出循环(关于 break 的用法会在后面介绍)。

    c. 省略“循环变量变化”,可以在循环体中进行循环变量的变化,如:

2、 for 循环变量初始化和循环变量变化部分,可以是使用 “,” 同时初始化或改变多个循环变量的值,如:

代码中,初始化变量部分同时对两个变量 i 和 j 赋初值,循环变量变化部分也同时对两个变量进行变化,运行结果:

3、 循环条件部分可以使用逻辑运算符组合的表达式,表示复杂判断条件,但一定注意运算的优先级,如:

代码中,必须同时满足变量 i 小于 10 ,并且 i 不等于 5 时才会进行循环,输出变量 i 的值。

4.9 Java循环跳转语句之 break
在 Java 中,我们可以使用 break 语句退出指定的循环,直接执行循环后面的代码。

例如,使用循环输出 1--10的数值,其中,如果数值大于 2 ,并且为 3 的倍数则停止输出。

实现代码:

运行结果:

4.10 Java循环跳转语句之 continue
continue 的作用是跳过循环体中剩余的语句执行下一次循环。

例如,打印 1--10 之间所有的偶数,使用 continue 语句实现代码为:

运行结果:

4.11 Java 循环语句之多重循环
循环体中包含循环语句的结构称为多重循环。三种循环语句可以自身嵌套,也可以相互嵌套,最常见的就是二重循环。在二重循环中,外层循环每执行一次,内层循环要执行一圈。

如下所示:

例如:使用 * 打印长方形:

实现代码为:

执行流程:当 i = 1 时,外层循环条件成立,进入内层循环,开始打印第一行内容。此时, j 从 1 开始,循环 8 次,内层循环结束后换行,实现第一行 8 个 * 的输出。接下来返回外层循环 i 变为 2 ,准备打印下一行,依此类推,直到完成长方形的打印。

5.1 什么是数组
数组可以理解为是一个巨大的“盒子”,里面可以按顺序存放多个类型相同的数据,比如可以定义 int 型的数组 scores 存储 4 名学生的成绩

数组中的元素都可以通过下标来访问,下标从 0 开始。例如,可以通过 scores[0] 获取数组中的第一个元素 76 ,scores[2] 就可以取到第三个元素 92 啦!

5.2 如何使用 Java 中的数组
Java 中操作数组只需要四个步骤:

1、 声明数组

语法:  数据类型[ ] 数组名;

或者   数据类型 数组名[ ];

其中,数组名可以是任意合法的变量名,

2、 分配空间

简单地说,就是指定数组中最多可存储多少个元素

语法:  数组名 = new  数据类型 [ 数组长度 ];

其中,数组长度就是数组中能存放元素的个数,

话说,我们也可以将上面的两个步骤合并,在声明数组的同时为它分配空间,

3、 赋值

分配空间后就可以向数组中放数据了,数组中元素都是通过下标来访问的,例如向 scores 数组中存放学生成绩        

4、 处理数组中数据

我们可以对赋值后的数组进行操作和处理,如获取并输出数组中元素的值

在 Java 中还提供了另外一种直接创建数组的方式,它将声明数组、分配空间和赋值合并完成,

5.3 使用循环操作 Java 中的数组
实际开发中我们经常使用循环控制数组成员的操作。如:

运行结果:

其中,  数组名.length  用于获取数组的长度

需要注意的“小毛病”:

1、 数组下标从 0 开始。因此 scores[3] ,表示数组中的第 4 个元素,而并非第 3 个元素

2、 数组下标的范围是 0 至 数组长度-1 ,如果越界访问,就会报错

相关文章:

学习笔记——Java入门第一季

1.1 Java的介绍与前景 Java语言最早期的制作者&#xff1a;James Gosling&#xff08;詹姆斯高斯林&#xff09; 1995年5月23日&#xff0c;Sun Microsystems公司宣布Java语言诞生。 1.2 Java的特性与版本 跨平台 开源&#xff08;开放源代码&#xff09; Java代码&#xff…...

更改注册表exe值后的惨痛经历

装软件时由于执行性文件打不开&#xff0c;搜索教程更改了exefile的值&#xff0c;最后整个电脑崩了&#xff0c;所有EXE都打不开&#xff0c;折腾了5个小时&#xff0c;什么办法都试了&#xff0c;甚至重置电脑都不让&#xff0c;打算拿电脑城修电脑了&#xff0c;突然搜到了一…...

stable diffusion实践操作-LyCORIS

系列文章目录 stable diffusion实践操作 文章目录 系列文章目录前言一、LyCORIS是什么&#xff1f;二、使用步骤1.下载2.安装3 使用 二、整理模型1.LoHa-v1.0-pynoise 总结 前言 LyCORIS&#xff0c;可以理解为lora的加强版本。 LyCORIS - Lora beYond Conventional methods,…...

无需公网IP教你如何外网远程访问管家婆ERP进销存

文章目录 前言 1.管家婆服务2. 内网穿透2.1 安装cpolar内网穿透2.2 设置远程访问 3. 固定访问地址4. 配置固定公网访问地址 前言 管家婆辉煌系列产品是中小企业进销存、财务管理一体化的典范软件&#xff0c;历经十余年市场的洗礼&#xff0c;深受广大中小企业的欢迎&#xff…...

Swift使用编解码库Codable

Codable 是 Swift 引入的全新的编解码库&#xff0c;使开发者更方便的解析JSON 或 plist 文件。支持枚举、结构体和类。 Codable协议定义 Codable代表一个同时符合 Decodable 和 Encodable 协议的类型&#xff0c;即可解码且可编码的类型。 typealias Codable Decodable &a…...

Vue + Element UI 前端篇(三):工具模块封装

Vue Element UI 实现权限管理系统 前端篇&#xff08;三&#xff09;&#xff1a;工具模块封装 封装 axios 模块 封装背景 使用axios发起一个请求是比较简单的事情&#xff0c;但是axios没有进行封装复用&#xff0c;项目越来越大&#xff0c;会引起越来越多的代码冗余&am…...

【pytorch】数据加载dataset和dataloader的使用

1、dataset加载数据集 dataset_tranform torchvision.transforms.Compose([torchvision.transforms.ToTensor(),])train_set torchvision.datasets.CIFAR10(root"./train_dataset",trainTrue,transformdataset_tranform,downloadTrue) test_set torchvision.data…...

搭建单机版FastDFS分布式文件存储系统

一、准备工作 1、下载FastDFS安装包和依赖包 https://codeload.github.com/happyfish100/libfastcommon/tar.gz/V1.0.43 https://codeload.github.com/happyfish100/fastdfs/tar.gz/V6.06 https://codeload.github.com/happyfish100/fastdfs-nginx-module/tar.gz/V1.22 注&…...

【验证码逆向专栏】房某下登录滑块逆向分析

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

Python 3.11 版本是对线程安全做了什么更改吗

问题&#xff1a;这份代码在 3.11.3 中它居然输出 0 &#xff0c;一度以为自己写错了&#xff0c;抱着不信邪的态度&#xff0c;又搞了个 Python 3.9.7 的环境试了下&#xff0c;果然还是符合自己预期&#xff0c;输出不为 0&#xff0c;想问下 3.11 版本中是做了什么修改吗&am…...

【Docker】镜像的创建、管理与发布

镜像的获取 镜像可以从以下方式获得&#xff1a; 从远程镜像仓库拉取&#xff0c;可以是公有仓库&#xff0c;也可以是私有仓库从Dockerfile构建从文件导入&#xff08;离线&#xff09;从容器提交 镜像的基本操作 跟镜像相关的命令如下&#xff1a; $ docker image --help…...

移动硬盘或U盘无法弹出的解决方法

以下内容源于网络资源的学习与整理&#xff0c;如有侵权请告知删除。 最近在红米本win11中总遇到“该设备正在使用中”而无法弹出硬盘的问题。 解法该问题的思路&#xff1a;先定位占用该设备的进程&#xff0c;然后结束该进程。 定位进程 既然设备被占用&#xff0c;那肯定…...

(leetcode1761一个图中连通三元组的最小度数,暴力+剪枝)-------------------Java实现

&#xff08;leetcode1761一个图中连通三元组的最小度数&#xff0c;暴力剪枝&#xff09;-------------------Java实现 题目表述 给你一个无向图&#xff0c;整数 n 表示图中节点的数目&#xff0c;edges 数组表示图中的边&#xff0c;其中 edges[i] [ui, vi] &#xff0c;…...

【漏洞复现】金和OA C6任意文件读取漏洞

漏洞描述 金和OA协同办公管理系统C6软件共有20多个应用模块&#xff0c;160多个应用子模块&#xff0c;涉及的企业管理业务包括协同办公管理、人力资源管理、项目管理、客户关系管理、企业目标管理、费用管理等多个业务范围&#xff0c;从功能型的协同办公平台上升到管理型协同…...

2023年全国大学生数学建模B题

多波束测线问题 1.问题提出 单波束测深是利用声波在水中的传播特性来测量水体深度的技术。声波在均匀介质中作匀 速直线传播&#xff0c;在不同界面上产生反射&#xff0c;利用这一原理&#xff0c;从测量船换能器垂直向海底发射声波信号&#xff0c;并记录从声波发射到信号接…...

【LeetCode】2651.计算列车到站时间

题目 给你一个正整数 arrivalTime 表示列车正点到站的时间&#xff08;单位&#xff1a;小时&#xff09;&#xff0c;另给你一个正整数 delayedTime 表示列车延误的小时数。 返回列车实际到站的时间。 注意&#xff0c;该问题中的时间采用 24 小时制。 示例 1&#xff1a;…...

Redis——认识Redis

简单介绍 Redis诞生于2009年&#xff0c;全称是Remote Dictionary Server&#xff0c;远程词典服务器&#xff0c;是一个基于内存的键值型NoSQL数据库。 特征 键值&#xff08;Key-value&#xff09;型&#xff0c;value支持多种不同数据结构&#xff0c;功能丰富单线程&…...

通讯录怎么导入新手机?3个推荐小妙招

最近刚换了新手机&#xff0c;旧手机里的联系人太多了&#xff0c;不想在新手机上一个个重新添加。有没有什么快速简单的方法能够将通讯录导入新手机&#xff1f; 大家在更换新手机之后都是怎么导入通讯录的呢&#xff1f;换手机最重要的就是把数据进行完整转移&#xff0c;那么…...

Geoserver发布shp、tiff、瓦片等格式的GIS数据

这里写目录标题 1 发布shp矢量数据1.1 添加shp作为数据源1.2 发布shp图层1.3 预览服务1.4 配置样式 2 发布Postgres数据库2.2 发布数据 3 发布 tif 栅格数据3.1 添加 tif 数据源3.2 发布tif数据3.3 预览服务3.4 配置地图样式 关于中文标注乱码的问题 1 发布shp矢量数据 发布sh…...

读书笔记-《ON JAVA 中文版》-摘要24[第二十一章 数组]

文章目录 第二十一章 数组1. 数组特性2. 一等对象3. 返回数组4. 多维数组5. 泛型数组6. Arrays的fill方法7. Arrays的setAll方法8. 数组并行9. Arrays工具类10. 数组拷贝11. 数组比较12. 流和数组13. 数组排序14. binarySearch二分查找15. 本章小结 第二十一章 数组 1. 数组特…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框&#xff0c;很难让人不联想到SQL注入&#xff0c;但提示都说了不是SQL注入&#xff0c;所以就不往这方面想了 ​ 先查看一下网页源码&#xff0c;发现一段JavaScript代码&#xff0c;有一个关键类ctfs…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始&#xff0c;我们会探讨数据链路层的差错控制功能&#xff0c;差错控制功能的主要目标是要发现并且解决一个帧内部的位错误&#xff0c;我们需要使用特殊的编码技术去发现帧内部的位错误&#xff0c;当我们发现位错误之后&#xff0c;通常来说有两种解决方案。第一…...

Linux云原生安全:零信任架构与机密计算

Linux云原生安全&#xff1a;零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言&#xff1a;云原生安全的范式革命 随着云原生技术的普及&#xff0c;安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测&#xff0c;到2025年&#xff0c;零信任架构将成为超…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...

企业如何增强终端安全?

在数字化转型加速的今天&#xff0c;企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机&#xff0c;到工厂里的物联网设备、智能传感器&#xff0c;这些终端构成了企业与外部世界连接的 “神经末梢”。然而&#xff0c;随着远程办公的常态化和设备接入的爆炸式…...

2023赣州旅游投资集团

单选题 1.“不登高山&#xff0c;不知天之高也&#xff1b;不临深溪&#xff0c;不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...