Java(运算符+循环)万字超详细介绍 (囊括了按位,异或,for,while等基础和疑难知识)

【本节目标1】熟练掌握运算符

【本章目标2】熟练掌握循环

万字讲解,十分详细,有大量(简单)代码帮助理解和大量的(简单)举例与总结。

1.运算符

1.什么是运算符

计算机最基本的用途之一就是执行数学运算,比如:

int a = 10;

int b = 20;


a+b;

a<b;

上述+和<等就是运算符,即:对操作数进行操作时的符号,不同运算符操作的含义不同。
作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。Java中运算符可分为以下:算术运算符(+*/)、关系运算符(< >==)、逻辑运算符、位运算符、移位运算符以及条件运算符等。

2.算术运算符

1.基本四则运算符:加减乘除模(+ - * / %)

int a = 20;

int b = 10;


 

System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/b);
System.out.println(a%b);

注意:

1.都是二元运算符,使用时必须要有左右两个操作数

2.int/int 结果还是int,而且会向下取整

Int a = 3;

int b = 2;

System.out.println(a/b);  //在数学中应该是1.5,但是在java中是1,会向下取整,取小数点之后的整数


double d = a*1.0/b;  //这样可以得到数学中的答案

System.out.println(b);

3.做除法和取模时,右操作数不能为0

int a = 1;

int b = 0;

System.out.println(a/b);  //报错

4.%不仅可以对整型取模,也可以对double类型取模,但是没有意义,一般都是对整型取模

System.out.println(11.5%2.0);

1.5

5.两侧操作类型不一致时,向类型大的提升

System.out.println(1+0.2);  // +的左侧是int,右侧double,在加之前hi被提升为double

输出1.2

6.增量运算符

该种运算符操作完成后,会将操纵的结果赋值给左操作数。

int a = 1;

a+=2;  //相当于a=a+2

System.out.println(a);  //输出3


a-=1;  //相当于a=a-1;

System.out.println(a);    //输出2


a*=3;    //相当于a*=3

System.out.println(a);    //输出6


a/=3;   //相当于a=a/3;

System.out.println(a);    //输出2


a%3=3;   //相当于a=a%2

System.out.println(a);   //输出2 

注意:只有变量才可以使用该运算符,常量不可以,因为常量不可以改变

7.自增/自减运算符++ --

++是给变量的值+1,--是给变量的值-1.

int a =1;

a++;  //后置++,表示给a的值+1,此时a的值为2(因为直接;结束,所以在这里前置和后置没区别)

System.out.println(a++);   //注意:后置++是先使用再加 ,因此在这里打印2

System.out.println(a);    // 在这里打印3


++a;   //前置++,表示给a的值+1

System.out.println(++a);  // 注意:前置++是先给变量+1,再进行使用,因此这里打印5

System.out.println(a);     //输出5

//--操作符给操作-1,与++含义类似

注意:
1.如果单独使用,[前置++]和[后置++]没有任何区别
2.如果混合使用[前置++]先+1,然后使用变量+1之后的值,[后置++] 先使用变量原来的值,表达式,结束时给变量+1
3.只有变量才能使用自增/自减运算符,常量不能使用,因为常量不允许被修改

3.关系运算符

关系运算符主要与六个  :== ,!=,<,>,<=,>=,其计算结果是true或者false

int a = 10;

int b = 20;

//注意:在java中=表示赋值,要与数学中的含义区分

//在java中==表示相等

System.out.println(a==b);       //false

System.out.println(a != b);       //true

System.out.println(a<b);          //true

System.out.println(a>b);          //false

System.out.println(a<=b);          //true

System.out.println(a>=b);          //false

注意:当需要多次判断时,不能连着写,比如:3<a<5,Java程序与数学不一样

4.逻辑运算符号(重点)

逻辑运算符号主要有3个:&&  ||  !运算结果都是boolean类型

1.逻辑与&&

语法规则: 表达式1&&表达式2,左右表达式必须是boolean类型的结果相当于现实生活中的且,比如: 如果是学生,并且 带有学生证 才可以享受半票两个表达式都为真,结果才是真,只要有一个是假,结果就是假。

Inr a =1;

int b =2;


System.out.println(a==1 && b==2);     //左为真 且 右为真 则结果为真

System.out.println(a==1 && b>100);   //左为真 但 右为假 则结果为假

System.out.println(a>100 && b==2);   //左为假 右边直接不看 结果为假

System.out.println(a>100 && b>100);  // 左为假 右边直接不看 结果为假

注意:一个为假,则为假

2.逻辑或||

语法规则: 表达式1  ||  表达式2,左右表达式必须是boolean类型的结果相当于现实生活中的或,比如:买房子交钱时,全款 或者按揭都可以,如果全款或者按揭,房子都是你的否则站一边去。

int a = 1;

int b = 2;

System.out.println(a==1 || b==2);     //左为真 且 右为真 则结果为真

System.out.println(a==1 || b>100);   //左为真 但 右为假 则结果为真

System.out.println(a>100 || b==2);   //左为假 看右边,为真 结果为真

System.out.println(a>100 || b>100);  // 左为假 右为假 结果为假

注意:左右表达式中至少与一个位置,则结果为真

3 逻辑非!

语法规则:!表达式

真变假,假变真

int a =1;

System.out.println(!(a==1));   //a==1为true,取个非就是false

System.out.println(a != 1);     //a !=1为false,取非就是true

4. 短路求值

&& 和 || 遵守短路求值规则

System.out.println(10>20 && 10/0==0);    //打印false

System.out.println(10<20 || 10/0==0);        //打印true

我们都知道,计算10/0计算机会报异常,但是上面的代码却能正常运行,说明10/0并没有被求值

1.对于 &&,如果左侧表达式值为 false,则表达式结果一定是 false,无需计算右侧表达式

2.对于||,如果左侧表达式值为 true,则表达式结果一定是true,无需计算右侧表达式

3.&和|如果表达式结果为 boolean 时,也表示逻辑运算但与&&相比它们不支持短路求值.

System.out.println(10>20 && 10/0==0);    //异常

System.out.println(10<20 || 10/0==0);        //异常

5.位运算符

java 中数据存储的最小单位是字节,而数据操作的最小单位是比特位,字节是最小的存储单位,每个字节是由8个进制比特位组成的,多个字节组合在一起可以表示各种不同的数据位运算符主要有四个:&,|,~,^ 是一元算符外,其余都是二元运算符
位操作表示 按二进制位运算计算机中都是使用二进制来表示数据的(01构成的序列),按位运算就是在按照二进制位的每一位依次进行计算.

1.按位与&:如果两个二进制位都是1,则结果为1,否则为0

2.按位或 | :如果两个二进制位都是0,则结果为0,否则为1

注意:当&和|的操作数为整数的int,short,long,byte的时候,表示按位运算,当操作数为boolean的时候,表示逻辑运算。

3.按位取反~:如果该位为0则转为1,如果该位为1,则转为0

注意:
1.0x前缀的数字为十六进制数字十六进制可以看成是二进制的简化表示方式一个十六进制数字对应4个二进制位.
2.0xf 表示10 进制的 15也就是二进制的 1111
3. printf 能够格式化输出内容x 表示按照十六进制输出

4.\n表示换行符

5.如果两个数相同,则异或为0

6.移位运算

移位运算符有三个:<<, >> ,>>>,都是二元运算符号,且都是按照二进制比特位来运算的。

1.左移<<:最左侧位不要了,最右侧补0.

Int a = 0x10;

System.out.printf("%x\n",a<<1);   //运算结果是按照十六进制打印的    20

注意:像左移位时,丢弃的是符号位,因此正数左移可能会编程负数。

2.右移>>:最右侧位不要了,最左侧位符号位(正数补0,负数补1)

int a =0x10;

System.out.printfln("%x\n",a>>1);  //运行结果是按照十六进制打印的   8


int b = 0xffff0000;

System.out.printfln("%x\n",b>>1);  // 执行结果按照十六进制打印   ffff8000

3.无符号右移>>>:最右侧位不要了,最左侧补0

Int a = 0xffffffff;

System.out.printf("%x\n:,a>>>1);   //运行结果是按照十六进制打印   7fffffff

注意
1.左移1位相当于原数字*2左N位相当于原数字*2的N次方
2.右移1位相当于原数字/2右N位相当于原数字/2的N次方

3.由于计算机计算移位效率高于计算乘除,当某个代码正好乘除 2 的N次方的时候可以用移位运算代替.

4.移动负数位或者移位位数过大都没有意义

7.条件运算符

条件运算符只有一个
表达式1?表达式2:表达式3
当表达式1的值为true时,整个表达式的值为表达式2的值当表达式1的值为false时,整个表达式的值为表达式3的值也是Java 中唯一的一个三目运算符,是条件判断语句的简化写法

//求两个整数的最大值

int a  = 10;

int b  = 20;

int max = a>b? a : b;

注意:

1.表达式2和表达式3的结果要是不同类型的时候,除非能发生类型隐式转换

int a = 10;

int b = 20;

int c = a>b?1:2.0;

2.表达式不能单独存在,其参生结果必须要被使用。

int a = 10;

int b = 20;

a>b?a:b;   //报错:不是语句

8.运算符的优先级

在一条表达式中,各个运算符可以混合起来运算,但是运算符的优先级不同,比如:*和/的优先级

要高于+和-,有些情况下稍不注意,可能会造成很大的麻烦。

//求a和b的平均值

int a = 10;

int b = 20;

int c = a+(b-a)>>1;

System.out.printfln(c);

上述表达式中,由于+的优先级高于>>,因此a先和b-a的结果做加法,整体为20,最后再进行右移,因此结果为10.

注意:运算符的优先级我们不必记忆,可能存在歧义的代码中加上括号即可。

2. 循环

1.概述

我的曾经:
早上8:00起床--->洗漱--->吃早饭--->上课--吃午饭--->上课--->运动--->吃完饭--->玩手机--->睡觉每天的生活貌似都是这么规律,顺序的做着每件事,前途一片渺茫~~~直到有一天
我幡然醒悟,不好好学习可能要卖红薯,奋发图强可能离梦想会更近,于是我选择来到手撕代码看博客,从此:早上6:00起床--->看书敲代码--.>上课+看编程书籍--->吃午饭--->刷题-->上课+看书--->吃晚饭--->总结-->看科技新闻--->睡觉
就这样日复一日的努力着,感觉每天都很充实,生活看到了希望~~~再后来
秋招来了,我用自己所学,一次次刷新着手中ofer的记录,那一刻,我被自己感动了

2.顺序结构

顺序结构比较简单,按照代码写的顺序一行一行的执行。

System.out.println("aaa");

System.out.println("bbb");

System.out.println("ccc");

//执行结果

aaa

bbb

ccc

如果调整代码的书写顺序,则执行顺序也发生变化

System.out.println("bbb");

System.out.println("aaa");

System.out.println("ccc");

//执行顺序

bbb

aaa

ccc

3.分支结构

3.1 if语句

1.语法格式

if(布尔表达式){

//语句

}

如果布尔表达式结果为true,执行if中的语句,否则不执行

比如:小明,如果这次考试有考到90分以上,奖励一个15promax

int score =92;

if(score>90){

System.out.println("15promax");

}

2.语法格式

if(布尔表达式){

//语句1;

}else{

//语句2;

}

如果布尔表达式结果为true,则执行if中语句,如果不是则执行else中的雨具

比如:小明,如果这次考到90分以上,奖励15promax,如果没考到,给我一个15promax

int score = 0 ;

if(score>90){

System.out.println("15promax")

}

else{

System.out.println("给我一个promax");

}

3.语法格式+习题

if(布尔表达式){

//语句1、

}

else if{

//语句2

}

else{

//语句3

}

表达式1成立,执行语句1,否则表达式2成立,执行语句2,否则执行语句3比如:考虑到学生自尊,不公开分数排名,因此:
分数在[90,100]之间的,为优秀
分数在[80,90)之前的,为良好
分数在[7080)之间的,为中等
分数在[60,70)之间的,为及格
分数在[0,60)之间的,为不及格
错误数据

按照上述办法通知学生成绩:

if(score>=90){System.out.println("优秀");
}
else if (score>=80 && score <= 90){System.out.println("良好");
}
else if (score>=70 && score <= 80){System.out.println("中等");
}
else if (score>=60 && score <= 70){System.out.println("及格");
}
else if (score<60){System.out.println("不及格");
}
else{System.out.println("错误输入");
}

【小练习】

判断一个数是奇数偶数

int num = 10;

if(num%2==0){

System.out.println("num是偶数);

}

else

{

System.out.println("是奇数"):

}

【小练习】

判断一个数字是正数,负数,还是零

int num = 0;

if(num>0){

System.out.println("正数“);

}

else if(num<0){

System.out.println("负数“);

}

else{

System.out.println("零“);

}

【小练习】

判断一个数是否为闰年

int year = 2000;

if(year %100 ==0){

//判断世纪闰年

if(year % 400 == 0){

System.out.println("是闰年“);

}

else{

System.out.println("不是闰年“);

}

}

else{

if(year%4==0){

System.out.println("是闰年“);

}

else{

System.out.println("不是闰年“);

}

}

【注意事项】

1.代码风格

//风格1  推荐

int x = 10;

if(x == 10){

//语句1;

}

else{

//语句2

}

//风格2

nt x = 10;

if(x == 10)

{

//语句1;

}

else

{

//语句2

}

虽然两种方式都是合法的,但是java中更推荐风格1       {放在同一行显得很紧凑

2.分号问题

int x = 20;

if(x == 10);

{

System.out.printfln("hehe");

}

//运行结果

hehe

此外多写了一个分号,导致分号成为了if语句的语句体,而{ }中的代码已经和if无关的代码块。

3.悬垂else问题

int x = 10;

int y = 10;

if(x == 10)

if( y == 10)

System.out.printnln("aaa");

else

System.out.printnln("bbb");

if/else 语句中可以不加大括号,但是也可以写语句(只能写一条语句)。此时else与最近的if结合,但是不建议这样用。

3.2 switch语句

基本语法

switch(表达式){

case常量值1:{

语句1;

break;

}

case常量值2:{

语句2;

break;

}

...

default:{

内容都卜满足执行语句:

break;

}

}

执行流程:

1.先计算表达式的值

2.和case依次比较,一旦响应的匹配就执行该项下的语句,直到遇到break时结束

3.当表达式的值没有与所列项匹配时,执行default

代码示例:

根据day的值输出星期

int day = 1;

switch(day){

case 1:

System.out.printnln("星期一");

break;

}

case 2:

System.out.printnln("星期二");

break;

}

case 3:

System.out.printnln("星期三");

break;

}

case 4:

System.out.printnln("星期四");

break;

}

case 5:

System.out.printnln("星期五");

break;

}

case 6:

System.out.printnln("星期六");

break;

}

case 7:

System.out.printnln("星期日");

break;

}

default:

System.out.printnln("输入有误");

break;

}

[注意事项】

1.多个case后的常量值不可以重复

2.switch的括号内只能是以下类型的表达式

基本类型:byte,char,short,int,注意不能是long类型

引用类型:String常量字符串,枚举类型

double num = 1.0;

switch(num){

case 1.0:

System.out.println("hehe");

break;

case 2.0:

System.out.println("haha");

break;

}

//编译报错

不兼容类型,从double到int会有可能数据缺失

注意:break不要遗漏,否则会失去"多分支选择“的效果

int day = 1;

switch(day){

case 1:

System.out.println("星期一");

case 2:

System.out.println("星期二");

break;

}

//运行结果

星期一

星期二

注意:switch不能表达复杂的条件

//例如:如果num的值也在10到20之间,就打印hehe

//这样的代码使用if很容易表达出来,但是谁用switch就无法表达

if(num>10 && num<20){

System.out.println("hehe");

}

注意:switch虽然支持嵌套,但是很丑,一般不推荐

int x = 1;

int y = 1;

switch(x){

case 1:

switch(y){

case 1 :

System.out.println("hehe");

break;

}

break;

case 2:

System.out.println("haha");

break;

}

代码的美观程度也是一个重要的标准,毕竟这是一个看脸的时代

综上:我们发现,switch的使用局限比较大

4.循环结构

4.1 while循环

基本语法格式:

while(循环条件){

循环语句;

}

循环条件为true,则执行循环语句:否则结束循环

代码示例1:打印1-10 的数字

int a = 1;

while(a<1=0){

System.out.println(a);

a++;

}

代码示例2:计算1-100的和

int n = 1;

int result = 0;

while(n<=100){

result+=n;

n++;

}

System.out.println(m);

//执行结束:5050

代码示例3:计算5的阶乘

int m = 1;

int result = 1;

while(n<=5){

result *=n;

n++;

}

System.out.println(n);

//执行结果

120

代码示例4:计算1!+ 2! + 3! + 4! + 5!

int n = 1;

int count = 1;

int result = 0;

while(n<=5){

while( n--){

count*=n;

}

result+=count;

n++;

}

System.out.println(result);

这里我们发现,当一个代码中带有多重循环的时候,代码的复杂程度就大大提高了,因此比较复杂的代码容易出错。后面我们会想办法来解决这个问题

注意事项

1.和if 类似whie 下面的语句可以不写(),但是不写的时候只能支持一条语句.建议还是加上{ }

2.和if 类似while 后面的建议和 while 写在同一行.
3.和if 类似while 后面不要多写分号否则可能导致循环不能正确执行

int num = 1;

while(num <= 10);{

System.out.println(result);

num++;

}

//执行结果

无任何输出,程序死循环

此时:为了while的语句体(这是一个空语句),实际的()部分和循环无关,此时循环条件num<=10恒成立,导致代码死循环了。

4.2 break

break的功能是让循环提前结束

代码示例:

找到100-200中第一个3的倍数

int num = 100;

while(num <= 200){

if(num%3 == 0){

System.out.println("找到了3的倍数);

break;

}

num++;

}

//执行结果

找到了3的倍数为102

执行到break就会让循环结束。

4.3 continue

continue的功能是跳过这次循环,立即进入下次循环

代码示例:找到100-200中所以3的倍数

int num = 100;

while(num <= 200){

if(num % 3 !=0){

num++;   //这里的++不要忘记,否则会死循环

countine;

}

System.out.println("找到了,3的倍速为"+num);

num++;

}

执行到countinue语句的时候,就会立刻进入下次循环(判定循环条件),从而不会执行到下方的打印语句。

4.4 for循环

【基本语句】

for(表达式1;表达式2;表达式3){

表达式4;

}

表达式1:用于初始化循环变量设置,在循环最开始时执行,且执行一次

表达式2:循环条件,满则循环继续,否则循环结束

表达式3:循环变量更新方式

【执行过程】

1234--234--234--直到2为false,循环结束

【代码示例】

1.打印1-10的数字

for(int i = 1; i <= 10; i++){

System.out.println(i);

}

2.计算1-100的和

int sum = 0;

for(i = 1; i<=100; i++){
sum+=i;

}

System.out.println(sum);   // 执行结果5050

3.计算5的阶乘

int result = 1;

for(int = i; i<= 5; i++){

result *= i;

}

System.out.println(result);

4.计算1! + 2!+ 3! + 4!+ 5!

int sum = 0;

for(int i = 1; i <= 5; i++){

int tem p = 1;

for(int j =1; j <= i; j++){

tmp *= j;

}

sum += tmp;

}

System.out.println(sum); 

【注意事项】(和while循环相似)

1.和if 类似for 下面的语句可以不写,但是不写的时候只能支持一条语句,建议还是加上{}

2.和if 类似for 后面的建议和 while 写在同一行.
3.和if 类似for后面不要多写分号否则可能导致循环不能正确执行4.和while循环一样,结束单趟循环用continue,结束整个循环用break

4.5 do  while循环

【基本语法】

do{

循环语句:

}while9循环语句};

先执行循环语句,再判断循环条件,循环条件成立继续执行,否则循环结束

例如打印1-10

int num = 1;

do{

System.out.println(num);

num++;

}while(num <= 10);

【注意事项】

1.do while循环最后的分号不要忘记

2.一般do while很少用到,更推荐for和while

5.输入输出

5.1 输出到控制台

基本语法

System.out.println(maas);    //输出一个字符串带换行

System.out.print(sfd);            //输出一个字符串不带换行

System.out.printf(format,maf);       //格式化输出

总结:print;n输出的内容自带\n,print不带\n

printf的格式化输出方式和c语言的printf是基本一致

【代码示例】

System.out.println(“hello shousidaima”);

int x = 10;

System.out.printf("x=%d\n",x);

最后再给大家一些习题帮助大家掌握知识点和小结论:

【第一题】

long float double boolean 都不可以作为switch的参数

除了这些基本数据类型,后续说道的枚举,String也可以作为Switch的参数

故选择A D.

希望对刚接触的小白有所帮助,创作不易,给个免费的赞和关注,谢谢各位----------------------

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

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

相关文章

如何实现一个简单的Promise/A+规范的Promise库?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ Promise/A规范的Promise⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚…

ROS2-IRON Ubuntu-22.0 源码下载失败解决方法 vcs import --input

ROS2 一.ROS2 IRON环境搭建1.设置系统字符集为UTF-82.将RO2 apt 库添加到系统中3.添加ROS2 GPG key4.添加ROS 2 的软件源安装开发工具 二.下载ROS2sh源代码编译 一.ROS2 IRON环境搭建 虚拟机系统&#xff1a;Ubuntu22.04 虚拟机&#xff1a;VMware-player-full-16.2.5-2090451…

身份和访问管理解决方案:混合型IAM

对于依赖于本地 IT 基础结构和传统安全模型的组织&#xff0c;可以更轻松地验证和授权企业网络内的所有内容&#xff0c;包括设备、用户、应用程序和服务器。尝试从公司网络外部获取访问权限的用户使用虚拟专用网络 &#xff08;VPN&#xff09; 和网络访问控制 &#xff08;NA…

【Spring Boot系列】- Spring Boot侦听器Listener

【Spring Boot系列】- Spring Boot侦听器Listener 文章目录 【Spring Boot系列】- Spring Boot侦听器Listener一、概述二、监听器Listener分类2.1 监听ServletContext的事件监听器2.2 监听HttpSeesion的事件监听器2.3 监听ServletRequest的事件监听器 三、SpringMVC中的监听器3…

匿名管道-

因为父子进程是共享文件描述符的环形队列&#xff0c;只能读一次 会被后面覆盖 /*#include <unistd.h>int pipe(int pipefd[2]);功能&#xff1a;创建一个匿名管道&#xff0c;用于进程间通信参数&#xff1a;int 类型数组 &#xff0c;是传出参数pipefd[0]是管道读端 p…

Git多人开发解决冲突案例

准备工作&#xff1a; 1.创建一个gitee远程仓库https://gitee.com/xxxxxxx.git 2.初始化两个本地git仓库用户&#xff0c;目的是模拟多人协作开发时提交代码发生冲突的场景 3.解决冲突并提交。 进入正题&#xff1a; lisi 通过vim指令修改readme.md文件内容&#xff0c;推送到…

Centos8系统中安装docker-compose报错(已解决)

1.报错内容&#xff1a; ModuleNotFoundError: No module named setuptools_rust Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-jrzp2ukw/bcrypt/2.报错原因&#xff1a; 在CentOS8中安装“加密”程序包时出现问题。当包所需的…

Windows关闭zookeeper、rocketmq日志输出以及修改rocketmq的JVM内存占用大小

JDK-1.8zookeeper-3.4.14rocketmq-3.2.6 zookeeper 进入到zookeeper的conf目录 清空配置文件&#xff0c;只保留下面这一行。zookeeper关闭日志输出相对简单。 log4j.rootLoggerOFFrocketmq 进入到rocketmq的conf目录 logback_broker.xml <?xml version"1.0&q…

SpringMVC中的JSR303与拦截器的使用

一&#xff0c;JSR303的概念 JSR303是Java中的一个标准&#xff0c;用于验证和校验JavaBean对象的属性的合法性。它提供了一组用于定义验证规则的注解&#xff0c;如NotNull、Min、Max等。在Spring MVC中&#xff0c;可以使用JSR303注解对请求参数进行校验。 1.2 为什么要使用J…

深度学习-卷积神经网络-纹理表示卷积神经网络-卷积神经网络-[北邮鲁鹏]

这里写目录标题 参考文章全连接神经网络全连接神经网络的瓶颈全连接神经网络应用场景 卷积神经网络卷积层(CONV)卷积核卷积操作卷积层设计卷积步长(stride)边界填充特征响应图组尺寸计算 激活层池化层(POOL)池化操作定义池化操作作用池化层超参数常见池化操作 全连接层(FC)样本…

【看好了】如何使用fiddler实现手机抓包,Filters过滤器!

一、Fiddler与其他抓包工具的区别  1、Firebug虽然可以抓包&#xff0c;但是对于分析http请求的详细信息&#xff0c;不够强大。模拟http请求的功能也不够&#xff0c;且firebug常常是需要“无刷新修改”&#xff0c;如果刷新了页面&#xff0c;所有的修改都不会保存&#xff…

文安县人社局 举办“情暖灾区 就业护航”直播带岗活动

关于防汛救灾工作重要指示精神&#xff0c;助力受灾企业尽快复工复产、受灾群众尽早实现就业。9月15日&#xff0c;文安县人力资源和社会保障局联合文安县总工会、国家税务总局文安县税务局共同举办文安县助力企业灾后重建“直播带岗”活动。 本次活动以“情暖灾区 就业护航”…

IDEA中DEBUG技巧

Debug 介绍 Debug 设置 如上图标注 1 所示&#xff0c;表示设置 Debug 连接方式&#xff0c;默认是 Socket。Shared memory 是 Windows 特有的一个属性&#xff0c;一般在 Windows 系统下建议使用此设置&#xff0c;相对于 Socket 会快点。 ## Debug 常用快捷键 Win 快捷键M…

分享一个Python 写的监控日志log txt文档 的代码

监控log文件的需求 某些特殊原因&#xff0c;想一直看到.log 的最后一行打印&#xff0c;所以写了一些代码监控log &#xff08;有个奇怪需求&#xff0c;就是log 因为重复启动原因&#xff0c;会一直加&#xff0c;不是同一个log&#xff09; 监控界面 涉及的Python代码&…

Unity SteamVR 开发教程:用摇杆/触摸板控制人物持续移动(2.x 以上版本)

文章目录 &#x1f4d5;教程说明&#x1f4d5;场景搭建&#x1f4d5;创建移动的动作&#x1f4d5;移动脚本⭐移动⭐实时调整 CharacterController 的高度 &#x1f4d5;取消手部和 CharacterController 的碰撞 持续移动是 VR 开发中的一个常用功能。一般是用户推动手柄摇杆&…

CNN(八):Inception V1算法实战与解析

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客 &#x1f356; 原作者&#xff1a;K同学啊|接辅导、项目定制 1 Inception V1 Inception v1论文 1.1 理论知识 GoogLeNet首次出现在2014年ILSVRC比赛中获得冠军。这次的版本通常称其为Inception V1。…

strncpy

strncpy&#xff1a; 函数介绍&#xff1a; 函数原型&#xff1a; char *strncpy(char *dest, const char *src, int n) 返回值&#xff1a;dest字符串起始地址 说明&#xff1a; 1、当src字符串长度小于n时&#xff0c;则拷贝完字符串后&#xff0c;剩余部分将用空字节填…

建站系列(八)--- 本地开发环境搭建(WNMP)

目录 相关系列文章前言一、准备工作二、Nginx安装三、MySQL安装四、PHP安装及Nginx配置五、总结 相关系列文章 建站系列&#xff08;一&#xff09;— 网站基本常识 建站系列&#xff08;二&#xff09;— 域名、IP地址、URL、端口详解 建站系列&#xff08;三&#xff09;— …

【设计模式】二、UML 类图概述

文章目录 常见含义含义依赖关系&#xff08;Dependence&#xff09;泛化关系&#xff08;Generalization&#xff09;实现关系&#xff08;Implementation&#xff09;关联关系&#xff08;Association&#xff09;聚合关系&#xff08;Aggregation&#xff09;组合关系&#x…

【JavaScript保姆级教程】输出函数和初识变量

文章目录 前言一、输出内容1.1 document.write()函数1.2 console.log()函数查看终端输出信息 1.3 alert()函数 二、变量的使用1.1 变量的声明1.3变量的赋值1.4 变量的声明和赋值 三、输入提示框的使用总结 前言 JavaScript是一种强大的脚本语言&#xff0c;广泛应用于网页开发…