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

java运算符

1.运算符和表达式

运算符:

​ 就是对常量或者变量进行操作的符号。

​ 比如: + - * /

表达式:

​ 用运算符把常量或者变量连接起来的,符合Java语法的式子就是表达式。

​ 比如:a + b 这个整体就是表达式。

​ 而其中+是算术运算符的一种,所以这个表达式也称之为算术表达式。

2.算术运算符

分类:

+ - * / %

运算特点:

+ - * :跟小学数学中一模一样没有任何区别.
/1.整数相除结果只能得到整除,如果结果想要是小数,必须要有小数参数。
2.小数直接参与运算,得到的结果有可能是不精确的。
案例:
System.out.println( 10 / 3);//3
System.out.println(10.0 / 3);//3.3333333333333335
%:取模、取余。他做的也是除法运算,只不过获取的是余数而已。
案例:
System.out.println(10 % 2);//0
System.out.println(10 % 3);//1
应用场景:
//可以利用取模来判断一个数是奇数还是偶数
System.out.println(15 % 2);//1  奇数

练习:数值拆分

需求:

键盘录入一个三位数,将其拆分为个位、十位、百位后,打印在控制台

代码示例:

package com.iflytek.day03;import java.util.Scanner;/*** 键盘录入一个三位数,将其拆分为个位、十位、百位后,打印在控制台*/
public class _01_ArithmeticOperator {public static void main(String[] args) {//1.键盘录入一个三位数//导包 --- 创建对象 --- 接收数据Scanner sc = new Scanner(System.in);System.out.println("请输入一个三位数");int number = sc.nextInt();//123//2.获取这个三位数的个位、十位、百位并打印出来//公式://针对于任意的一个数而言//个位: 数字 % 10int ones = number % 10;//十位: 数字 / 10 % 10int tens = number / 10 % 10;//百位: 数字 / 100 % 10int hundreds = number / 100 % 10;//输出结果System.out.println(ones);System.out.println(tens);System.out.println(hundreds);}
}

公式:

​ 获取任意一个数上每一位数。

  • 个位:数字 % 10

  • 十位:数字 / 10 % 10

  • 百位:数字 / 100 % 10

  • 千位:数字 / 1000 % 10

  • 。。。以此类推。。。

3.隐式转换

概念:

​ 也叫自动类型提升。

​ 就是把一个取值范围小的数据或者变量,赋值给另一个取值范围大的变量。此时不需要我们额外写代码单独实现,是程序自动帮我们完成的。

简单记忆:

​ 就是小的给大的,可以直接给。

两种提升规则:

  • 取值范围小的,和取值范围大的进行运算,小的会先提升为大的,再进行运算。
  • byte、short、char三种类型的数据在运算的时候,都会直接先提升为int,然后再进行运算。

取值范围从小到大的关系:

​ byte> short> int> long >(float)> double

4.隐式转换的练习

package com.iflytek.day03;public class _02_ImplicitConversion {public static void main(String[] args) {// 案例1double d1 = 10;System.out.println(d1);//10.0// 案例2byte b2 = 100;int i2 = b2;//可以成功赋值// 案例3int i3 = 10;long n3 = 20L;// result3 = i3 + n3; // 自测:变量result3是什么类型的?// 案例4int i4 = 10;long l4 = 100L;double d4 = 20.0;// result4 = i4 + l4 + d4; // 自测:变量result4是什么类型的?// 案例5byte b5 = 10;byte b52 = 20;// result5 = b5 + b52;// 自测:变量result5是什么类型的?// 案例6byte b6 = 10;short s6 = 20;long n6 = 100L;// resul6 = b6 + s6 + n6; // 自测:变量result6是什么类型的?}}

请看下面案例是否有误,如果有问题,请说出原因,如果没有问题,请说出运算过程和运算结果

案例一:

double d = 10;
System.out.println(d);//10.0

解释:

​ 10是整数,整数默认是int类型的。

​ 而在取值范围的顺序中:byte short int long float double

​ 在赋值的时候把一个int类型的赋值给了一个double类型的。把一个小的赋值给一个大的是可以直接给的。

案例二:

byte b = 100;
int i = b;//可以成功赋值

解释:

​ 因为byte的取值范围是小的,int的取值范围是大的,在底层进行了隐式转换,不需要我们额外写代码单独实现,是可以直接赋值。

案例三:

int i = 10;
long n = 20L;
??? result = i + n;
问变量result是什么类型的?

解释:

​ 变量i是int类型的,变量n是long类型的。

​ 而在取值范围的顺序中:byte short int long float double

​ 变量i里面的值会自动提升为long类型的,最终的结果其实就是两个long相加,那么最终的result是long类型的。

案例四:

int i = 10;
long n = 100L;
double d = 20.0;
??? result = i + n + d;
问变量result是什么类型的?

解释:

​ 变量i是int类型,变量n是long类型,变量d是double类型。

​ 而在取值范围的顺序中:byte short int long float double

​ 所以变量i和变量n里面的值在参与运算的时候,都会进行类型提升,变成double。

​ 最终其实就是三个double进行相加,那么最终的结果就是double类型的。

案例五:

byte b1 = 10;
byte b2 = 20;
??? result = b1 + b2;//int
问变量result是什么类型的?

解释:

​ 因为b1和b2都是byte类型的。所以在参与计算的时候,变量b1和变量b2里面的值都会自动提升为int类型的。最终其实就是两个int类型的相加,最终结果也是int类型的。

案例六:

byte b = 10;
short s = 20;
long n = 100L;
??? result = b + s + n;
问变量result是什么类型的?long

解释:

​ 变量b是byte类型的,变量s是short类型的,变量n是long类型的。

​ byte,short,char类型的变量在参与运算的时候,变量里面的值会直接先提升为int。

第一步:变量b和变量s里面的值会先提升为int参与运算。

​ int + int + long

第二步:而long类型的取值范围是大于int的取值范围的。

​ 所以变量b和变量s里面的值会再次提升为long。

​ long + long + long。

所以最终结果是long类型的。

5.强制转换

概念:

​ 如果要把一个取值范围大的数据或者变量赋值给另一个取值范围小的变量。是不允许直接操作。

​ 如果一定要这么干,就需要加入强制转换。

书写格式:

目标数据类型 变量名 = (目标数据类型)被强转的数据;

简单理解:

​ 要转成什么类型的,那么就在小括号中写什么类型就可以了。

案例:

package com.iflytek.day03;/*** 强制转换*/
public class _03_Cast {public static void main(String[] args) {double a = 12.3;int b = (int) a;System.out.println(b);//12}
}

注意点:

​ 强制转换有可能会导致数据发生错误。(数据的精度丢失)

6.字符串的+操作

核心技巧:

  • 当+操作中出现字符串时,此时就是字符串的连接符,会将前后的数据进行拼接,并产生一个新的字符串。
  • 当连续进行+操作时,从左到右逐个执行的。

7.字符串相加的练习:

案例1:

1 + "abc" + 1

结果:“1abc1”

解释:

​ 第一步: 1 + “abc”。在这个过程中,有字符串参与的,所以做的是拼接操作,产生一个新的字符串"1abc"

​ 第二步: “1abc” + 1。这个过程中,有字符串参与的,所以做的也是拼接操作,产生一个新的字符串"1abc1"

案例2:

1 + 2 + "abc" + 2 + 1

结果:“3abc21”

解释:

​ 第一步:1 + 2 。在这个过程中,没有字符串参与的,所以做的是加法运算,结果为3。

​ 第二步:3 + “abc”。在这个过程中,有字符串参与的,所以做的是拼接操作,产生一个新的字符串"3abc"。

​ 第三步:“3abc” + 2。在这个过程中,有字符串参与的,所以做的是拼接操作,产生一个新的字符串"3abc2"。

​ 第四步:“3abc2” + 1。在这个过程中,有字符串参与的,所以做的是拼接操作,产生一个新的字符串“3abc21”

案例3:

String name = "黑默丁格";
System.out.println("我的名字是" + name);

结果: 我的名字是黑默丁格

解释:当字符串跟变量相加的时候,实际上是跟变量里面的值进行拼接。

8.字符的+操作

规则:

​ 当+操作中出现了字符,会拿着字符到计算机内置的ASCII码表中去查对应的数字,然后再进行计算。

案例:

char c = 'a';
int result = c + 0;
System.out.println(result);//97

ASCII码表中:

​ ‘a’ ----- 97

​ ‘A’ ----- 65

9.算术运算符的总结

分类:

+ - * / %  这些操作跟小学数学几乎是一模一样的。

注意点:

  • / 和 % 的区别:他们两个都是做除法运算,/取结果的商。% 取结果的余数。
  • 整数操作只能得到整数,如果想要得到小数,必须有浮点数参与运算。

算术运算符的高级用法:

是以+为例进行的讲解,其余减法,乘法,除法的运算规则也是一样的。

特例:字符串只有+操作,没有其他操作。

10.自增自减运算符

分类:

++  自增运算符
--  自减运算符

++:就是把变量里面的值+1

–:就是把变量里面的值-1

使用方式:

  • 放在变量的前面,我们叫做先++。 比如:++a
  • 放在变量的后面,我们叫做后++。 比如:a++

注意点:

​ 不管是先++,还是后++。单独写在一行的时候,运算结果是一模一样的。

案例:

package com.iflytek.day03;public class _04_SelfIncrementOperator {public static void main(String[] args) {//++int a = 10;a++;//就是让变量a里面的值 + 1System.out.println("a:"+a);//++a;//就是让变量a里面的值 + 1System.out.println("a:"+a);////int b = a++;int c = ++a;System.out.println("b:"+b);//System.out.println("c:"+c);//}
}

自增自减运算符的应用场景:

某些情况下,变量需要进行加1或者减1的时候使用。

比如:过生日多一岁,就用到了自增运算符。

比如:购物商场中,选择商品数量,也用到了自增或者自减运算符。

比如:统计很多数据中,有多少个数据满足要求,也用到了自增运算符。

11.赋值运算符

最为常用的: =

运算过程:就是把等号右边的结果赋值给左边的变量

案例:

package com.iflytek.day03;public class _05_AssignOperator {public static void main(String[] args) {//1.最为简单的赋值运算符用法int a = 10;//就是把10赋值给变量aSystem.out.println(a);//2.如果等号右边需要进行计算。int b = 20;int c = a + b;//先计算等号右边的,把计算的结果赋值给左边的变量System.out.println(c);//3.特殊的用法a = a + 10;//先计算等号右边的,把计算的结果赋值给左边的变量System.out.println(a);//20}
}

12.扩展赋值运算符

分类:

​ +=、-=、*=、/=、%=

运算规则:

​ 就是把左边跟右边进行运算,把最终的结果赋值给左边,对右边没有任何影响。

案例:

package com.iflytek.day03;public class _06_AssignOperatorExtend {public static void main(String[] args) {//扩展赋值运算符int a = 10;int b = 20;a += b;//把左边和右边相加,再把最终的结果赋值给左边,对右边没有任何影响// 相当于 a = a + b;System.out.println(a);//30System.out.println(b);//20}
}

注意点:

​ 扩展的赋值运算符中隐层还包含了一个强制转换。

以+=为例。

a += b ; 实际上相当于 a = (byte)(a + b);

public class OperatorDemo8 {public static void main(String[] args) {byte a = 10;byte b = 20;//a += b;a = (byte)(a + b);System.out.println(a);//30}
}

13.关系运算符

又叫比较运算符,其实就是拿着左边跟右边进行了判断而已。

分类:

符号解释
==就是判断左边跟右边是否相等,如果成立就是true,如果不成立就是false
!=就是判断左边跟右边是否不相等,如果成立就是true,如果不成立就是false
>就是判断左边是否大于右边,如果成立就是true,如果不成立就是false
>=就是判断左边是否大于等于右边,如果成立就是true,如果不成立就是false
<就是判断左边是否小于右边,如果成立就是true,如果不成立就是false
<=就是判断左边是否小于等于右边,如果成立就是true,如果不成立就是false

注意点:

  • 关系运算符最终的结果一定是布尔类型的。要么是true,要么是false
  • 在写==的时候,千万不要写成=

14.逻辑运算符

& 和 | 的使用:

&:逻辑与(而且)

​ 两边都为真,结果才是真,只要有一个为假,那么结果就是假。

|:逻辑或(或者)

​ 两边都为假,结果才是假,只要有一个为真,那么结果就是真。

代码示例:

// &  //两边都是真,结果才是真。
System.out.println(true & true);//true
System.out.println(false & false);//false
System.out.println(true & false);//false
System.out.println(false & true);//falseSystem.out.println("===================================");// | 或  //两边都是假,结果才是假,如果有一个为真,那么结果就是真。
System.out.println(true | true);//true
System.out.println(false | false);//false
System.out.println(true | false);//true
System.out.println(false | true);//true

使用场景:

​ 根据固定的场景,来选择使用&还是使用|

  • 用户登录。

    用户名输入正确 & 密码输入正确

    因为只有用户名和密码同时都正确了,那么才能成功登录,只要有一个失败了都不行。

    使用技巧:

    ​ 当我们需要同时满足左边和右边两种情况时,可以使用且

  • 丈母娘选女婿

    丈母娘:女婿啊,你要么买个房子,要么买辆车。就可以把我的小棉袄穿走了。

    买个房子 | 买辆车

    两个条件中,只要满足其中一个,就可以穿走小棉袄了。

    使用技巧:

    ​ 当两种条件只要满足其中一个的时候,可以使用或

^(异或)的使用:

​ 在以后用的不多,了解一下即可。

计算规则:如果两边相同,结果为false,如果两边不同,结果为true

代码示例:

//^   //左右不相同,结果才是true,左右相同结果就是false
System.out.println(true ^ true);//false
System.out.println(false ^ false);//false
System.out.println(true ^ false);//true
System.out.println(false ^ true);//true

!(取反)的使用:

​ 是取反,也叫做非。

计算规则:false取反就是true,true取反就是false

温馨提示:取反最多只用一个。

代码示例:

System.out.println(!false);//true
System.out.println(!true);//falseSystem.out.println(!!false);//注意点:取反最多只用一个。

15.短路逻辑运算符

分类: && ||

&&:

​ 运算结果跟&是一模一样的,只不过具有短路效果。

||:

​ 运算结果跟|是一模一样的。只不过具有短路效果。

逻辑核心:

​ 当左边不能确定整个表达式的结果,右边才会执行。

​ 当左边能确定整个表达式的结果,那么右边就不会执行了。从而提高了代码的运行效率。

举例:

  • 用户登录案例

    用户名正确 & 密码正确

    如果使用一个&,不管用户名是否正确都会去验证密码。

思考:

​ 如果用户名输入正确了,那么我们再判断密码是否正确,是符合业务逻辑的。

​ 但是如果用户名输入错误了,那么现在还有必要去比较密码吗?没有不要了。

​ 如果使用一个&,那么左边和右边不管什么情况下,都会执行。

​ 用户名正确 && 密码正确

​ 如果用户名输入正确了,那么才会验证密码是否输入正确。

​ 如果用户名输入错误了,那么就不会再去验证密码是否正确,最终的结果直接为false。从而提高了程序运行的效率。

总结:

​ && 和 & 、||和|的运行结果都是一模一样的。

​ 但是短路逻辑运算符可以提高程序的运行效率。

建议:

​ 最为常用: && || !

16.三元运算符

又叫做:三元表达式或者问号冒号表达式。

格式:

​ 关系表达式 ? 表达式1 :表达式2 ;

计算规则:

  • 计算关系表达式的值。
  • 如果关系表达式的值为真,那么执行表达式1。
  • 如果关系表达式的值为假,那么执行表达式2。

注意点:

​ 三元运算符的最终结果一定要被使用,要么赋值给一个变量,要么直接打印出来。

案例:

package com.iflytek.day03;public class _07_TernaryOperator {public static void main(String[] args) {//需求:求两个数的较大值int a = 10;int b = 20;//格式:关系表达式 ? 表达式1 : 表达式2 ;//注意点://三元运算符的最终结果一定要被使用。//要么赋值给一个变量,要么直接输出。int max =  a > b ? a : b ;System.out.println(max);// 可以直接使用System.out.println(a > b ? a : b);}
}

17.练习1-两只老虎

需求:

​ 动物园里有两只老虎,两只老虎的体重分别为通过键盘录入获得,

​ 请用程序实现判断两只老虎的体重是否相同。

代码示例:

package com.iflytek.day03;import java.util.Scanner;/*** 动物园里有两只老虎,两只老虎的体重分别为通过键盘录入获得,** 请用程序实现判断两只老虎的体重是否相同。*/
public class _08_Practice1 {public static void main(String[] args) {//1.获取两只老虎的体重Scanner sc = new Scanner(System.in);System.out.println("请输入第一只老虎的体重");int weight1 = sc.nextInt();System.out.println("请输入第二只老虎的体重");int weight2 = sc.nextInt();//2.利用三元运算符求出最终结果String result = weight1 == weight2 ? "相同" : "不相同";System.out.println(result);}
}

18.练习2-求三个数的最大值

需求:

​ 一座寺庙里住着三个和尚,已知他们的身高分别为150cm、210cm、165cm。

​ 请用程序实现获取这三个和尚的最高身高。

代码示例:

package com.iflytek.day03;import java.util.Scanner;/**一座寺庙里住着三个和尚,已知他们的身高分别为150cm、210cm、165cm。请用程序实现获取这三个和尚的最高身高。*/
public class _09_Practice1 {public static void main(String[] args) {//1.定义三个变量记录和尚的身高int height1 = 150;int height2 = 210;int height3 = 165;//2.利用三元运算符求出两个数中的较大值。int temp = height1 > height2 ? height1 : height2;//3.求出最终的结果int max = temp > height3 ? temp : height3;System.out.println(max);}
}

19.运算符的优先级

在Java中涉及了很多的运算符,每一种运算符都有各自的优先级。但是这些优先级不需要记忆。

咱们只要知道其中一点:

​ 小括号优先于所有。

相关文章:

java运算符

1.运算符和表达式 运算符&#xff1a; ​ 就是对常量或者变量进行操作的符号。 ​ 比如&#xff1a; - * / 表达式&#xff1a; ​ 用运算符把常量或者变量连接起来的&#xff0c;符合Java语法的式子就是表达式。 ​ 比如&#xff1a;a b 这个整体就是表达式。 ​ 而其…...

StrongSORT_文献翻译

StrongSORT 【摘要】 现有的MOT方法可以被分为tracking-by-detection和joint-detection-association。后者引起了更多的关注&#xff0c;但对于跟踪精度而言&#xff0c;前者仍是最优的解决方案。StrongSORT在DeepSORT的基础之上&#xff0c;更新了它的检测、嵌入和关联等多个…...

Python每日一练(20230512) 跳跃游戏 V\VI\VII

目录 1. 跳跃游戏 V 2. 跳跃游戏 VI 3. 跳跃游戏 VII &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 跳跃游戏 V 给你一个整数数组 arr 和一个整数 d 。每一步你可以从下标 i 跳到&a…...

k8s部署mysql并使用nfs持久化数据

k8s部署mysql并使用nfs持久化数据 一、配置nfs服务器1.1 修改配置文件1.2. 载入配置1.3. 检查服务配置 二、创建K8S资源文件2.1 mysql-deployment.yml2.2 mysql-svc.yml 一、配置nfs服务器 参考文章: pod使用示例https://cloud.tencent.com/developer/article/1914388nfs配置…...

AI时代的赚钱思路:23岁女网红如何利用AI技术年入4亿?

一、AI技术为网红赚钱创造新途径 23岁美国网红Caryn Marjorie&#xff08;卡琳玛乔丽&#xff09;正同时交往1000多个男朋友。 作为一个在Snapchat上坐拥180万粉丝的美女&#xff0c;她利用人工智能&#xff08;AI&#xff09;技术&#xff0c;打造了一个AI版本的自己&#x…...

如何修复d3dcompiler_47.dll缺失?多种解决方法分享

在使用Windows操作系统的过程中&#xff0c;有时候会遇到d3dcompiler_47.dll缺失的情况。这个问题可能会导致某些应用程序无法正常运行&#xff0c;因此需要及时解决。本文将介绍如何修复d3dcompiler_47.dll缺失的问题。 一.什么是d3dcompiler_47.dll D3dcompiler_47.dll是Di…...

【项目实训】ATM自助取款系统

文章目录 1. 课程设计目的2. 课程设计任务与要求3. 课程设计说明书3.1 需求分析3.1.1 功能分析3.1.2 性能要求分析 3.2 概要设计3.2.1 功能模块图 3.3 详细设计3.3.1 实体类的设计3.3.2 实现数据库处理 3.4 主要程序功能流程图 4. 课程设计成果4.1 完整代码4.2 运行结果4.2.1 精…...

并查集算法

文章目录 1. 原理介绍2. 并查集的应用3. find()函数的定义与实现4. 并查集的join函数5. 路径压缩优化算法-优化find6. 路径压缩优化算法按秩合并算法 1. 原理介绍 并查集是一种用于维护集合关系的数据结构&#xff0c;它支持合并集合和查询元素所在的集合。它的基本思想是将元…...

十分钟在 macOS 快速搭建 Linux C/C++ 开发环境

有一个使用了 Epoll 的 C 项目&#xff0c;笔者平时用的 Linux 主力开发机不在身边&#xff0c;想在 macOS 上开发调试&#xff0c;但是没有 Linux 虚拟机。恰好&#xff0c;JetBrains CLion 的 Toolchains 配置除了使用本地环境&#xff0c;还支持 SSH、Docker。 笔者使用 CL…...

银河麒麟系统Arm64编译opencv指南

进入opencv官网下载版本&#xff1b;我这边下载的是2.4.13.6 &#xff1b;根据需要下载最新的 Releases - OpenCV 拷贝进麒麟系统我这边是麒麟V10 sp1 2204&#xff1b;并解 cmake 在麒麟应用商城中安装&#xff1b; 打开cmake 设置opencv路径&#xff1b;builder文件夹可以自…...

蒙层禁止下方页面滚动防抖动完美方案

学习链接 js如何禁止滚动条滚动&#xff0c;但不消失&#xff01; - 这个是完美解决方案&#xff08;在线demo示例&#xff09; 解决窗口滚动条消失而导致的页面内容抖动的问题 完美解决js 禁止滚动条滚动&#xff0c;并且滚动条不消失&#xff0c;页面大小不闪动 蒙层禁止…...

微积分python基础

微积分基础(python) 文章目录 微积分基础(python)1 函数与极限2 求导与微分3 不定积分4 定积分 1 函数与极限 # 导入sympy库 from sympy import * # 将x符号化 x Symbol("x") xx \displaystyle x x # 利用sympy中solve函数求解方程 X solve(x**2-10*x21,x) X pri…...

Redis缓存数据库(一)

目录 一、概述 1、Redis 2、Redis的安装 Redis Windows环境设置 3、String: 字符串 3.1、字符串 3.2、数值 3.3、bitmap 4、Hash: 散列 5、List: 列表 6、Set: 集合 7、Sorted Set: 有序集合 一、概述 常识&#xff1a; 磁盘&#xff1a;1.寻址&#xff1a;ms&…...

物联网|uart串口相关寄存器|波特率设置及计算|发送处理代码|串口接收中断处理函数|物联网之蓝牙4.0 BLE基础-学习笔记(7)

文章目录 13 uart串口基础开发基本电路图&#xff1a;实验相关寄存器波特率设置及计算计算过程&#xff1a;设置中断发送处理代码串口接收中断处理函数main.c 13 uart串口基础开发 基本电路图&#xff1a; 实验相关寄存器 相关寄存器UxCSR、UxCSR、UxGCR、UxBUF、UxBAUD、CLK…...

有数·智享未来 | 新华三重磅发布绿洲平台3.0

5月10日&#xff0c;紫光股份旗下新华三集团以“有数智享未来”为主题&#xff0c;成功举办绿洲平台3.0新品发布会。全新一代绿洲平台实现内核进阶&#xff0c;以五大技术能力升级、五大行业方案沉淀、六类服务能力保障&#xff0c;三位一体构筑更领先的用数底座、更落地的用数…...

在Apex中获取Site URL

Foreword 目前SF暂未提供直接有效的方法在Apex获取SiteURL&#xff0c;我们可以在Idea (Access URL for a Site or Community from Apex)页面投票&#xff0c;除了下面提供的一种hack思路&#xff0c;当然也可以通过Custom Label手动维护。 Format of Site URL Sandbox site …...

【电子学会】2023年03月图形化三级 -- 比大小.md

文章目录 比大小1. 准备工作2. 功能实现3. 设计思路与实现&#xff08;1&#xff09;角色分析&#xff08;2&#xff09;背景分析&#xff08;3&#xff09;所用积木块介绍a. 运动类b. 外观类c. 事件类d. 控制类e. 运算类f. 变量类 &#xff08;4&#xff09;角色、舞台背景设置…...

Kali-linux使用Nessus

Nessus号称是世界上最流行的漏洞扫描程序&#xff0c;全世界有超过75000个组织在使用它。该工具提供完整的电脑漏洞扫描服务&#xff0c;并随时更新其漏洞数据库。Nessus不同于传统的漏洞扫描软件&#xff0c;Nessus可同时在本机或远端上遥控&#xff0c;进行系统的漏洞分析扫描…...

青训营 x 训练营结营测试题目(前端方向)

文章目录 &#x1f4cb;前言&#x1f3af;选择题&#xff08;含多选&#xff09;&#x1f4dd;最后 &#x1f4cb;前言 这篇文章的内容是23年6月青训营 x 训练营结营题目&#xff0c;题目一共有25题&#xff0c;题目类型为选择题&#xff0c;包括了单选题和多选题&#xff0c;…...

虚拟化技术介绍-VMware和Docker的区别

都说今天是一个云时代&#xff0c;其实云的本质就是由基础架构提供商提供基础架构&#xff0c;应用开发商不再关心基础架构。我们可以类比人类刚刚发明电的时候&#xff0c;工厂需要自己建电站&#xff0c;而现在只需要电线和插座就可以使用电。云时代让我们可以在分钟、甚至秒…...

TinyHttpd 运行过程出现的问题

最近拉了个 TinyHttpd 的工程下来&#xff0c;不过好像各个都有些改动&#xff0c;最后挑了篇阅读量最多的。工程也是从这里面给的链接下载的。 参考自&#xff1a;https://blog.csdn.net/jcjc918/article/details/42129311 拿下来在编译运行前&#xff0c;按这里说的&#x…...

【Linux】shell编程—数组

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、shell数组1,数组的概念2.数组的定义 二、Shell数组操作1. 获取数组的所有元素的列表2. 获取数组的所有元素下标3.取数组的元素个数4. 获取数组的某个元素的值5.…...

Maven仓库与Maven插件

目录 Maven 仓库 本地仓库 中央仓库 远程仓库 Maven 依赖搜索顺序 Maven 阿里云(Aliyun)仓库 gradle 配置指南 Maven 插件 插件类型 实例 Maven 仓库 在 Maven 的术语中&#xff0c;仓库是一个位置&#xff08;place&#xff09;。 Maven 仓库是项目中依赖的第三方库…...

【溯源反制】CDN域前置云函数-流量分析|溯源

文章目录 CDN隐藏C2地址环境搭建上传至威胁感知平台直接分析使用DNSQuerySniffer和Process Monitor定位进程网络流量分析文件属性(IDAPro Ollydbg) 域前置隐藏环境搭建威胁感知流量分析 云服务API网关/云函数云函数使用HTTPcs的流量可以简单的分为三个阶段 云函数使用HTTPS 总结…...

【Vue】学习笔记-全局事件总线

全局事件总线(GlobalEventBus) 一种可以在任意组件通信的方式&#xff0c;本质上就是一个对象&#xff0c;它必须满足以下条件 所有的组件对象都必须能看见他这个对象必须能够使用$ on $ emit $ off方法取绑定、触发和解绑事件 使用步骤 定义全局事件总线 //创建VUE new V…...

MATLAB数值运算(六)

目录 实验目的 实验内容 原创代码&#xff0c;仅供参考&#xff0c;不要直接CV呀 ~_~ 实验目的 1&#xff09;掌握定义符号对象和创建符号表达式的方法&#xff1b; 2&#xff09;掌握符号运算基本命令和规则&#xff1b; 3&#xff09;掌握符号表达式的运算法则以及符号矩阵…...

某医院Pad网络故障分析

分析背景 某医院为了加强信息安全管理&#xff0c;防止病人隐私信息泄露&#xff0c;采用部署“零信任”安全架构设计理念的企业移动安全支撑平台方案。 但在部署前期测试时&#xff0c;遇到了严重的性能问题。 在本次测试环境中&#xff0c;通过PAD访问患者转运业务&#x…...

git 撤销中间某次提交,保留其他提交的方法

今天上班脑抽了&#xff0c;吧test直接合到了uat,因为项目近期就我一个人开发&#xff0c;自己拉个三个分支再改不同的东西&#xff0c;最后都是发到test分支发测试&#xff0c;发生产的时候一个个和嫌麻烦&#xff0c;直接吧test分支怼到了uat&#xff0c;结果生产就出问题了&…...

空中下载技术(OTA)电控信息安全

随着汽车电子控制系统功能复杂度和数据颗粒度呈阶梯式增加&#xff0c;其发展速度逐渐超越网络安全防护方法、技术和标准的发展&#xff0c;现阶段汽车电子正面临巨大的网络信息安全风险&#xff0c;对功能安全的潜在影响也仍在探索和解决中&#xff0c;信息安全问题已经成为影…...

数据库sql语句(count(*)和count(字段))

例题&#xff1a; 创建如下两张表 分别命名为books和persons &#xff08;1&#xff09;按照书名&#xff0c;姓名的顺序列出字里包含‘德’字的人物的姓名&#xff0c;书名和字。 select name 姓名,bookname 书名,style 字 from books,persons where style like %德% and bo…...