Java数据类型,一文带你彻底拿捏~

——Java中运算符是一种特殊的符号,用来进行数据的运算、赋值和比较等

思维导图

一.算术运算符

1.什么是算术运算符
        ——算术运算符是用于数据类型值之间,使用2个或以上的数据进行运算

2.算术运算符概括

算术运算符

解释示例
+,-正号,负号+10,-10
+,-加,减10 + 10,11 - 10
*,/乘,除12 * 3,12 / 3
%取模(取余)3 % 4
++

前置++:先自增,后取值

后置++:先取值,后自增

a = 3; b = ++a;

a = 3; c = a++;

--

前置--:先自减,后取值

后置--:先取值,后自减

a = 3; b = --a;

a = 3; c = a--;

+字符串相加"str" + "hello""strhello"

 3.一个小case快速了解算术运算符

public class Test {public static void main(String[] args) {//+,-:正负号int num1 = +10;int num2 = -10;System.out.println(num1);//10System.out.println(num2);//-10//+,-:加减法int num3 = 10 + 5;int num4 = 15 - 10;System.out.println(num3);//15System.out.println(num4);//5//*,/:乘除法int num5 = 12 * 5;int num6 = 14 / 4;System.out.println(num5);//60System.out.println(num6);//3//%:取余int n = 14 % 5;System.out.println(n);//4//++:自增运算符int a = 10;int data1 = a++;//后置++:先取值,后自增System.out.println(a);//11System.out.println(data1);//10a = 10;int data2 = ++a;//前置++:先自增,后取值System.out.println(a);//11System.out.println(data2);//11//--:自减运算符int b = 10;int ele1 = b--;System.out.println(b);//9System.out.println(ele1);//10b = 10;int ele2 = --b;System.out.println(b);//9System.out.println(ele2);//9//+:字符串相加String str1 = "我爱你";String str2 = "中国";System.out.println(str1 + str2);//我爱你中国}
}

4.算术运算符的细节讨论

1)除(/):整数相除时,得到的是一个整数,若是有小数部分,则舍去小数部分,保留整数部分[向下取整]

public class Test {public static void main(String[] args) {//除(/):整数相除时,得到的是一个整数,若是有小数部分,则舍去小数部分,保留整数部分int a = 10;int b = 4;int c = a / b;//10 / 4 = 2.5,舍去小数0.5,留下2System.out.println(c);//2double num1 = 10.0;double num2 = 3;double num = num1 / num2;//浮点数之间的相除则需要保留小数部分System.out.println(num);//3.3333333333333335}
}

 2)进行取模运算时,a % b = a - (a / b) * b(对于正负数均适用)

public class Test {public static void main(String[] args) {//进行取模运算时,a % b = a - (a / b) * b(对于正负数均适用)//整数的取模运算int num1 = -10 % 3;//-10 % 3 = -10 - (-10 / 3) * 3 = -1System.out.println(num1);//-1int num2 = 10 % 3;//10 % 3 = 10 - 10 / 3 * 3 = 1System.out.println(num2);//1int num3 = -10 % -3;//-10 % -3 = -10 - (-10 / -3) * (-3) = -1System.out.println(num3);//-1int num4 = 10 % -3;//10 % -3 = 10 - (10 / (-3)) * (-3) = 1System.out.println(num4);//1//浮点数的取模运算double data1 = 10.3 % 3;//10.3 % 3 = 10.3 - 10.3 / 3 * 3 = 1.3System.out.println(data1);//1.3000000000000007double data2 = -10.3 % 3;//-10.3 % 3 = -10.3 - (-10.3 / 3) * 3 = -1.3System.out.println(data2);//-1.3000000000000007}
}

5.思考以下代码输出

public class Test {public static void main(String[] args) {int i = 10;i = i++;System.out.println(i);//10//为什么是10?//也按照前置后置++的规则进行运算}
}

二.赋值运算符

1.什么是赋值运算符
        —— 赋值运算符用于将某个数据值赋给相对应的数据类型变量

2.赋值运算符的分类

基本赋值运算符:=
复合赋值运算符:+=、-=、*=、/=、%=等

 3.一个小case快速了解赋值运算符

public class Test {public static void main(String[] args) {//基本赋值运算符:=int num = 10;//把10赋值给了int类型的变量numSystem.out.println(num);//10//复合赋值运算符:+=、-=、*=、/=、%=等int data = 10;data += 10;//data = data + 10;data -= 5;//data = data - 5data *= 4;//data = data * 4data /= 3;//data = data / 3;data %= 5;//data = data % 5;}
}

4.赋值运算符的细节讨论

1)运算顺序从右往左
2)赋值运算符的左边,必须为变量;赋值运算符的右边,可以为变量、表达式、常量值

public class Test {public static void main(String[] args) {//运算顺序从右往左int data = 30;//把右边的30赋给左边的int类型变量dataSystem.out.println(data);//30//赋值运算符的左边,必须为变量;赋值运算符的右边,可以为变量、表达式、常量值int num1 = data;//左边为变量int num2 = data++;//左边为表达式int num3 = 20;//左边为常量值System.out.println(num1);//30System.out.println(num2);//30System.out.println(num3);//20}
}

3)复合赋值运算符会进行类型转换

public class Test {public static void main(String[] args) {//复合赋值运算符会进行类型转换byte b = 10;int a = 10;b += a;//b = (byte)(b + a):会自动把int类型的a转化为byte类型System.out.println(b);//20char ch = 12;int num = 86;ch += num;//ch = (char)(ch + num):会自动把int类型的num转化为char类型System.out.println(ch);//bdouble data = 13.14;int ele = 10;ele += data;//ele =(int) (ele + data):会自动把double类型的data转化为int类型System.out.println(ele);//23}
}

三.关系运算符

1.什么是关系运算符

—— 关系运算符常用于表示某个条件的真假,所以关系运算符的结果都是boolean类型,关系运算符常用在if结构的条件判断和循环的条件判断中

2.关系运算符概览

关系运算符解释示例
==判断相等10 == 7
!=不等于10 != 7
<小于10  < 12
>大于12 > 13
<=小于等于13 <= 15
>=大于等于15 >= 16
instanceof

检查对象是否为该类的

运行类型

"china" instanceof String

3.一个小case快速了解关系运算符

public class Test {public static void main(String[] args) {//关系运算符System.out.println(3 == 5);//falseSystem.out.println(3 != 5);//trueSystem.out.println(3 > 5);//falseSystem.out.println(10 < 12);//trueSystem.out.println(12 >= 12);//trueSystem.out.println(15 <= 13);//falseString str = "love";System.out.println(str instanceof Object);//true:String是Object的子类}
}

4.关系运算符的细节讨论

1)关系运算符的结果都是boolean类型,只有true和false两种结果
2)注意:不要把判断相等'"=="写错成了赋值"="

public class Test {public static void main(String[] args) {//关系运算符的结果都是boolean类型,只有true和false两种结果System.out.println(3 < 5);//trueSystem.out.println(3 > 5);//false//注意:不要把判断相等'"=="写错成了赋值"="int num = 10;System.out.println(num = 10);//10:这里的num = 10是赋值,任何输出System.out.println(num == 10);//true:这里的num == 10是判断相等}
}

四.逻辑运算符

1.什么是逻辑运算符

—— 逻辑运算符用于连接多个条件或多个关系表达式,最后得到一个是boolean类型的结果,也就是说,逻辑运算符只有两种结果:true , false

2.逻辑运算符概览

逻辑运算符解释示例
&&短路与:全真为真,一假则假

a = true; b = false;

a && b

||短路或:一真则真,全假则假

a = true;b = false;

a || b

&逻辑与:全真为真,一假则假

a = true; b = false;

a & b

|逻辑或:一真则真,全假则假

a = true;b = false;

a | b

^

逻辑异或:一真一假则为真,

全真全假则为假

a = true;b = false;

a ^ b

!真变假,假变真

a = false;

!a

 3.一个小case快速了解逻辑运算符

public class Test {public static void main(String[] args) {//逻辑运算符boolean b1 = true;boolean b2 = false;//&&(短路与):全真为真,一假则假System.out.println(b1 && b2);//false//||(短路或):一真为真,全假为假System.out.println(b1 || b2);//true//&(逻辑与):全真为真,一假则假System.out.println(b1 & b2);//false//|(逻辑或):一真为真,全假为假System.out.println(b1 | b2);//true//^(逻辑异或):一真一假则为真,全真全假则为假System.out.println(b1 ^ b2);//true//!(逻辑取反):真变假,假变真System.out.println(!b1);//falseSystem.out.println(!b2);//true}
}

4.逻辑运算符的细节讨论

1)&& 与 & 的判断过程
&&:在判断过程中,如果第一个条件为false,则不会在判断后面的条件,最终的结果为false
&:在判断过程中,不管第一个条件是否为false,依旧会判断第二个条件

public class Test {public static void main(String[] args) {int a = 0;int b = 10;//&&:在判断过程中,如果第一个条件为false,则不会在判断后面的条件,最终的结果为falseif (a > 1 && b++ < 15) {System.out.println("hehe");}System.out.println(a);//0System.out.println(b);//10:b++ < 15没有执行//&:在判断过程中,不管第一个条件是否为false,依旧会判断第二个条件if (a > 1 & b++ < 15) {System.out.println("haha");}System.out.println(a);//0System.out.println(b);//11:b++ < 15执行了}
}

2)|| 与 | 的判断过程

||:在判断过程中,如果第一个条件为true,则不会在判断后面的条件,最终的结果为true
|:在判断过程中,不管第一个条件是否为true,依旧会判断第二个条件

public class Test {public static void main(String[] args) {int num1 = 10;int num2 = 12;//||:在判断过程中,如果第一个条件为true,则不会在判断后面的条件,最终的结果为trueif (num1 > 1 || num2++ < 15) {System.out.println("hehe");//hehe}//|:在判断过程中,不管第一个条件是否为true,依旧会判断第二个条件System.out.println(num1);//10System.out.println(num2);//12:num2++ < 15没有执行if (num1 > 1 | num2++ < 15) {System.out.println("haha");//haha        }System.out.println(num1);//10System.out.println(num2);//13:num2++ < 15执行了}
}

五.三元运算符

1.什么是三元运算符
        ——三元运算符其实就是有三个操作数的运算符

三元运算符格式:条件表达式 ? 表达式1 :表达式2
解释:如果条件表达式为真,则执行表达式1,否则,执行表达式2

2.一个小case快速了解三元运算符

public class Test {public static void main(String[] args) {int num1 = 10;int num2 = 12;//三元运算符int res1 = 10 > 5 ? 10 : 5;int res2 = num1 > num2 ? num1 : num2;System.out.println(res1);//10System.out.println(res2);//12}
}

3.三元运算符的细节讨论

1)表达式1和表达式2要为可以赋给接收变量的类型(或可以自动类型转化)

public class Test {public static void main(String[] args) {//表达式1和表达式2要为可以赋给接收变量的类型(或可以自动类型转化)int num1 = 10.1 > 5.1 ? (int) 10.1 : (int) 5.1;//需要把double类型转化成int类型int data1 = 100;int data2 = 97;char ch = data1 > data2 ? (char) data1 : (char) data2;//把int类型转化成char类型System.out.println(num1);//10System.out.println(ch);//d}
}

2)三元运算符可以转成if - else语句

public class Test {public static void main(String[] args) {//三元运算符可以转成if - else语句int num1 = 100;int num2 = 110;int res1 = num1 > num2 ? num1 : num2;System.out.println(res1);/110int res2 = 10;//转化成if-else语句if (num1 > num2)res2 = num1;elseres2 = num2;System.out.println(res2);//110}
}

六.位运算

6.1 进制

1.什么是进制
        —— 进制就是几进制数,我们日常生活使用的十进制,但是还有其他几种常用的进制

二进制:满2进1,只有0和1,以0b或0B开头
八进制:满8进1,以数字0开头
十六进制:满16进1,有0-9,A(a)-F(f),A是10,F是15,以0x或0X开头

2.一个小case快速了解进制

public class Test {public static void main(String[] args) {//进制//二进制:以0b/0B开头int num1 = 0b01110;//八进制:以0开头int num2 = 0123;//十六进制:以0x/0X开头int num3 = 0xabd2;//输出:输出的时候是转化为十进制输出的System.out.println(num1);//14System.out.println(num2);//83System.out.println(num3);//43986}
}

3.某进制转换成十进制

1)二进制转十进制
转换规则:从低位开始,将每个位上的数提取出来,乘上2 ^ (第几位 - 1)的次方,最后求和
2)八进制转十进制
转换规则:从低位开始,将每个位上的数提取出来,乘上8 ^ (第几位 - 1)的次方,最后求和
3)十六进制转十进制
转换规则:从低位开始,将每个位上的数提取出来,乘上16 ^ (第几位 - 1)的次方,最后求和

public class Test {public static void main(String[] args) {//二进制转十进制int num1 = 0b111011;//1*2^0 + 1*2^1 + 0*2^2 + 1*2^3 + 1*2^4 + 1*2^5= 59System.out.println(num1);//59//八进制转十进制int num2 = 01234;//4*8^0 + 3*8^1 + 2*8^2 + 1*8^3 = 668System.out.println(num2);//668//十六进制转十进制int num3 = 0xab78;//8*16^0 + 7*16^1 + b(11)*16^2 + a(10)*16^3 = 8 + 102 + 2816 + 40960System.out.println(num3);//43896}
}

4.十进制转换成某进制

1)十进制转二进制
转换规则:把十进制数不断除2,知道商为0为止,然后将每步的余数倒过来,就是相对应的二进制
2)十进制转八进制
转换规则:把十进制数不断除8,知道商为0为止,然后将每步的余数倒过来,就是相对应的二进制
3)十进制转十六进制
转换规则:把十进制数不断除16,知道商为0为止,然后将每步的余数倒过来,就是相对应的二进制

5.二进制转八进制、十六进制

1)二进制转八进制
转换规则:从低位开始,每三个二进制位就是一个八进制位
2)二进制转十六进制
转换规则:从低位开始,每四个二进制位就是一个十六进制位

public class Test {public static void main(String[] args) {//二进制转八进制:从低位开始,每三个二进制位是一个八进制位int data1 = 0b0011110111011;//对应的八进制:03673int data2 = 03673;System.out.println(data1 == data2);//true//二进制转十六进制:从低位开始,每四个二进制位是一个十六进制位int num1 = 0b1011101010101;//对应的十六进制:0x1755int num2 = 0x1755;System.out.println(num1 == num2);//true}
}

6.八进制、十六进制转二进制

1)八进制转二进制
转换规则:从低位开始,每八进制的一位是二进制的三位
2)十六进制转二进制
转换规则:从低位开始,每十六进制的一位是二进制的四位

public class Test {public static void main(String[] args) {//八进制转二进制int num1 = 01234;//对应的二进制:1010011100int num2 = 0b1010011100;System.out.println(num1 == num2);//true//十六进制转二进制int data1 = 0xab34;//对应的二进制:1010101100110100int data2 = 0b1010101100110100;System.out.println(data1 == data2);//true}
}

6.2 位运算

1.什么是位运算
        —— 使用二进制位进行运算的操作叫做位运算

2.原码、反码、补码详解

1)二进制的最高符号位:0表示正,1表示负
2)正整数的原码、反码、补码均相同
3)负数的反码 = 原码符号位不变,其他位取反
4)负数的补码 = 负数的反码 + 1 ;负数的反码 = 负数的补码 - 1
5)Java中的数都是有符号的,即Java中没有无符号数
7)计算机再进行运算均是以补码来进行的
8)计算机计算的结果是原码

3.位运算符

位运算符解释示例
&(按位与)全1为1,有0为03  &  2
| (按位或)有1为1,全0为03  |  2
^ (按位异或)不同为1,相同为03  ^  21
~ (按位取反)1变0,0变1~12
>> (算术右移)向右移动,低位溢出,高位以符号位补全2 >> 1
<< (算术左移)符号位不变,低位补02 << 3

>>>

(逻辑右移/无符号右移)

低位溢出,高位补02 >>> 3

4.一个小case快速了解位运算符

public class Test {public static void main(String[] args) {int num1 = 9 & 5;//  9:1001//  5:0101//结果:0001 --> 1System.out.println(num1);//1int num2 = 9 | 5;//  9:1001//  5:0101//结果:1101 --> 13System.out.println(num2);//13int num3 = 9 ^ 5;//  9:1001//  5:0101//结果:1100 --> 12System.out.println(num3);//12int num4 = 2 >> 1;//   2:0010//结果:0001 --> 1System.out.println(num4);//1int num5 = 2 << 5;//   2:0000010//结果: 01000000--> 64System.out.println(num5);//64int num6 = 16 >>> 3;//  16:10000//结果: 00010--> 2System.out.println(num6);//2}
}

5.思考下面的代码输出什么

public class Test {public static void main(String[] args) {int num1 = 1 >> 2;//00000000 00000000 00000000 00000001//右移两位://00000000 00000000 00000000 00000000:0System.out.println(num1);//0int num2 = -1 >> 2;//10000000 00000000 00000000 00000001 原码//11111111 11111111 11111111 11111110 反码//11111111 11111111 11111111 11111111 补码//右移两位://11111111 11111111 11111111 11111111 补码//11111111 11111111 11111111 11111110 反码//10000000 00000000 00000000 00000001 原码:-1System.out.println(num2);//-1int num3 = 1 << 2;//00000000 00000000 00000000 00000001//左移两位://00000000 00000000 00000000 00000100:4System.out.println(num3);//4int num4 = -1 << 2;//10000000 00000000 00000000 00000001 ---原码//11111111 11111111 11111111 11111110 ---反码//11111111 11111111 11111111 11111111 ---补码//左移两位://11111111 11111111 11111111 11111100 ---补码//11111111 11111111 11111111 11111011 ---反码//10000000 00000000 00000000 00000100 ---原码:-4System.out.println(num4);//-4int num5 = 3 >>> 2;//00000000 00000000 00000000 00000011//逻辑右移2位//00000000 00000000 00000000 00000000:0System.out.println(num5);//0}
}

七.运算符优先级

1.什么是运算符优先级
        —— 运算符有不同的优先级,优先级就是表达式运算中的运算顺序

2.优先级运算符表

 八.键盘输入语句

1.什么是键盘输入语句

在进行编写程序的时候,我们需要从键盘输入一些需要的值,这个时候,我们就需要键盘输入语句来解决

2.一个小case快速了解键盘输入语句

public class Test {public static void main(String[] args) {int data = 0;double num = 0;String str = "";//需要new一个对象用来使用键盘输入语句Scanner sc = new Scanner(System.in);data = sc.nextInt();//nextInt()则要输入整数num = sc.nextDouble();//nextDouble则要输入浮点数str = sc.next();//next()则要输入字符串System.out.println(data);System.out.println(num);System.out.println(str);}
}

3.键盘使用语句的步骤

1)导入键盘输入类所在的包,java.util.*
2)创建键盘输入类的对象
3)调用功能(要输入什么类型的值,则调用什么类型的功能)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/29379.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自动化干货!一文搞懂Salesforce Flow/流中的Pause元素

通过自动化&#xff0c;帮助团队提升效率&#xff0c;将员工从那些重复、枯燥、耗时的工作中解放出来&#xff0c;转而从事更具创造性、更有价值的工作&#xff0c;是很多企业数字化转型朴素而又迫切的需求&#xff0c;也是世界No.1 CRM——Salesforce的一大领先优势。 Flow B…

Docker实战-如何去访问Docker仓库?

导语   仓库在之前的分享中我们介绍过,它主要的作用就是用来存放镜像文件,又可以分为是公共的仓库和私有仓库。有点类似于Maven的中央仓库和公司内部私服。 下面我们就来介绍一下在Docker中如何去访问各种仓库。 Docker Hub 公共镜像仓库 Docker Hub 是Docker官方提供的最…

Yolov5缺陷检测/目标检测 Jetson nx部署Triton server

使用AI目标检测进行缺陷检测时&#xff0c;部署到Jetson上即小巧算力还高&#xff0c;将训练好的模型转为tensorRT再部署到Jetson 上供http或GRPC调用。1 Jetson nx 刷机 找个ubuntu 系统NVIDIA官网下载安装Jetson 的sdkmanager一步步刷机即可。 本文刷的是JetPack 5.1, 其中包…

【Windows】Windows开机密码重置

文章目录 前言一、问题描述二、操作步骤2.1 安装DaBaiCai_d14_v6.0_2207_Online.exe2.2 插入U盘2.3 打开大白菜&#xff0c;点击“一键制作USB启动盘”2.4 等待进度条走完2.5 重启电脑&#xff0c;开机按“F12”或者“F8”&#xff08;具体百度一下&#xff0c;对应品牌电脑开机…

笔试数据结构选填题

目录 卡特兰数Catalan&#xff1a;出栈序列/二叉树数 树 二叉树 N01N2 哈夫曼树&#xff08;最优二叉树&#xff09;Huffman 度m的哈夫曼树只有度为0和m的结点&#xff1a;Nm(n-1)/(m-1) 平衡二叉树AVL Nh表示深度为h最少结点数&#xff0c;则N00&#xff0c;N11&#…

网络防御(7)

课堂实验 R1 [Huawei] int g0/0/0 [Huawei-GigabitEthernet0/0/0]ip add 100.1.12.2 24 protocolAug 1 2023 10:24:09-08:00 Huawei gOlIFNET/4/LINK STATE(1)[4]:The1ineIp on the interface GigabitEthernet0/0/0 has entered the Up state. [Huawei-GigabitEthernet0/0/…

SpringBoot 底层机制分析【Tomcat 启动+Spring 容器初始化+Tomcat 如何关联Spring 容器】【下】

&#x1f600;前言 本篇博文是关于SpringBoot 底层机制分析实现&#xff0c;希望能够帮助你更好的了解SpringBoot &#x1f60a; &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章可以帮助到大…

Leetcode.1559 二维网格图中探测环

题目链接 Leetcode.1559 二维网格图中探测环 rating : 1838 题目描述 给你一个二维字符网格数组 g r i d grid grid &#xff0c;大小为 m x n &#xff0c;你需要检查 g r i d grid grid 中是否存在 相同值 形成的环。 一个环是一条开始和结束于同一个格子的长度 大于等于…

lc137. 只出现一次的数字 II

数组排序&#xff0c;既和前不一样又和后不一样的就是唯一的一个 public static int numberOnce(int[] nums) {Arrays.sort(nums);if (nums.length > 2 && nums[0] ! nums[1]) {//避免只有一个元素的数组return nums[0];}if (nums.length > 2 && nums[nu…

使用MyBatis操作数据库

hi,大家好,今天为大家带来MyBatis操作数据库的知识 文章目录 &#x1f437;1.根据MyBatis操作数据库&#x1f9ca;1.1查询操作&#x1f347;1.1.1无参查询&#x1f347;1.1.2有参查询 &#x1f9ca;1.2删除操作&#x1f9ca;1.3修改操作&#x1f9ca;1.4增加操作&#x1f9ca;…

Windows 安装 pandoc 将 jupyter 导出 pdf 文件

Windows 安装 pandoc 将 jupyter 导出 pdf 文件 1. 下载 pandoc 安装文件2. 安装 pandoc3. 安装 nbconvert4. 使用 pandoc 1. 下载 pandoc 安装文件 访问 https://github.com/jgm/pandoc/releases&#xff0c;下载最新版安装文件&#xff0c;例如&#xff0c;3.1.6.1 版&#…

spring-boot webservice的例子

webservice发布服务 源码下载地址 spring-boot-webservice例子资源-CSDN文库 webservice cilent调用 源码下载地址 spring-boot-clintwebservice调用服务的例子资源-CSDN文库

Web安全——Burp Suite基础上

Burp Suite基础 一、Burp Suite安装和环境配置如何命令行启动Burp Suite 二、Burp Suite代理和浏览器设置FireFox设置 三、如何使用Burp Suite代理1、Burp Proxy基本使用2、数据拦截与控制3、可选项配置Options客户端请求消息拦截服务器端返回消息拦截服务器返回消息修改正则表…

面试题更新之-this指向问题

文章目录 this指向是什么常见情况下 this 的指向怎么修改this的指向 this指向是什么 JavaScript 中的 this 关键字用于引用当前执行代码的对象。它的指向是动态的&#xff0c;根据执行上下文的不同而变化。 常见情况下 this 的指向 全局作用域中的 this&#xff1a; 在全局作…

内网横向移动—WinLinux内存离线读取Hashcat破解RDPSSH存储提取

内网横向移动—Win&Linux&内存离线读取&Hashcat破解&RDP&SSH存储提取 1. 前言2. Windows系统密码提取2.1. 在线读取2.2. 离线读取2.2.1. 无存储读取2.2.1.1. 读取文件2.2.1.2. 本地解密 2.2.2. 有存储读取 2.3. 解决高版本2.3.1. 修改注册表2.3.2. 重新登陆…

分布式Redis详解

目录 前言安装redis的俩种方法Redis 与 MySQL的区别Redis可以实现那些功能Redis常用的数据类型有序列表的底层是如何实现的?什么是跳跃表 Redis在Spring中的使用Redis 中为什么单线程比多线程快Redis的分布式锁如何实现Redis 分布式锁可能出现的问题Redis保持数据不丢失的方式…

企升编辑器word编写插件

面向用户群体招投标人员&#xff0c;用统一的模板来编写标书&#xff0c;并最终合并标书。项目经理&#xff0c;编写项目开发计划书&#xff0c;项目验收文档等。开发人员&#xff0c;编写项目需求规格说明书、设计说明书、技术总结等文档。其他文档编写工作量较多的岗位人员。…

vue 点击顶部tab重新请求列表

我们点击 1 2 来回切换时,发现客户经理的列表不会重新请求(菜单中含有客户经理) 这时我们添加以下代码就可以了 watch: {$route(route) {this.getList()}},/** 查询客户经理列表 */getList() {this.loading true;listManager(this.queryParams).then(response > {this.mana…

【CSS3】CSS3 动画 ④ ( 使用动画制作地图热点图 )

文章目录 一、需求说明二、动画代码分析1、地图背景设置2、热点动画位置测量3、热点动画布局分析4、动画定义5、小圆点实现6、波纹效果盒子实现7、延迟动画设置 三、代码示例 一、需求说明 实现如下效果 , 在一张地图上 , 以某个位置为中心点 , 向四周发散 ; 核心 是实现 向四周…

git使用(常见用法)

一.下载git git官方下载跳转 安装简单,有手就行 二. git的简单使用 1. 连接远程仓库 #初始化 git init #配置账户 git config --global user.name “输入你的用户名” git config --global user.email “输入你的邮箱” git config --list #--q退出 #配置验证邮箱 ssh-key…