一、数学运算符
- num = num + 20 ;和num += 20;//简化运算符
+=、-=、*=、/=;
求模:num %= 3 - “++”、"–"
++变量、–变量:先进行变量的自增或自减,而后进行数字的计算,
变量++、变量–:先使用变量进行计算,而后在进行自增或自减;
例:(内存量不大时使用的,但现在看来太麻烦,现在建议尽量不使用)
int x = 10;
int y = 20;
//1.++x :x的内容自增1
//2.y-- : 先计算,使用的是20,计算完成后自减
int result = ++x - y--;
//现在使用
//++x;
//result = x-y;
//y--;
System.out.print(result);//-9
System.out.print("x="+x);//11
System.out.print("y="+y);//19
二、关系运算符(<、>、>=、<=、!=、= =)
注意:返回的类型时布尔值
相等的判断:
“=” :表示赋值运算
“= =” :内容相同的比较
- 在进行关系运算的时候可以针对所有的基本数据类型,:
例:在字符上使用关系运算
cahr c = '建';
boolean flag = 24314 == c;
System.out.print((int)c);//结果:24314
System.out.print(flag);//结果:true
数据类型之间提供有转型支持,所以在进行判断的时候字符会自动转为int 而后进行数字的比较
三、逻辑运算符
- 三目(赋值)运算符(可以避免一些大范围的程序编写)是所谓的赋值运算的处理。是需要设置一个逻辑关系的判断之后才可以赋值的操作。
关系运算 ? 关系满足时的内容 :关系不满足时的内容。
例:判断两个数字的大小,将最大值保存
int x = 10;
int y = 20;
//判断x与y的大小关系来决定最终max的内容
int max = x > y ? x : y;//结果:20
三目运算也可以进行嵌套处理
例:三个数字中的最大值
int x = 10;
int y = 20;
int z = 15;
int max = x > y ? (x > z ? x : z) : (y > z ? y : z);//结果:20
程序的可读性变差,要根据情况来使用
四、位运算:
- 指的时可以直接进行二进制数据计算处理,主要有:与(&)、或(|)、异或(^)、反码(~) 、移位处理(要清楚十进制与二进制之间的转换处理逻辑,即数字除2取余)。
例:与运算:
int x = 13;
int y = 7;
System.out.print(x & y);//结果:5
//怎么来的:
//13的二进制:1101
// 7的二进制:0111
//& 计算 :0101 ->5
或运算:有一位时1结果就是1,2位都是0才是0
int x = 13;
int y = 7;
System.out.print(x | y);//结果:15
//怎么来的:
//13的二进制:1101
// 7的二进制:0111
//| 计算: 1111 ->15
还可以进行位移运算
int x = 2;
System.out.print(x << 2);//结果:8 但是x一依旧是2
//2的二进制:0010
//向左移2位:1000 -> 8
注意:
&和&&、|和||
- &和|可以进行位运算与逻辑运算;
在进行逻辑运算的时候所有的判断条件都要执行
在进行位运算的时候只针对当前的数据进行与和或处理 - 在逻辑运算上可以使用&&、||;
&&:在若干个条件判断的时候,如果前面的条件返回了false,后续所有的条件不在判断最总的结果位false
||:在若干个条件判断的时候,如果前面的条件返回了true,后续条件不在执行,最终就是true。