运算符

57 阅读2分钟

算术运算

取模记住下面的套路

1、当%左边的绝对值小于右边的绝对值时,结果是左边

2、当%左边的绝对值等于右边或者是右边绝对值的倍数时,结果是0

3、当%左边的绝对值大于右边的绝对值时,结果是余数

4、%运算符结果的符号只和左边有关系,与右边无关

5、任何一个正整数%2结果不是0就是1

++(自增) --(自减)

1、可以写在变量的前面,或后面,作用都是在原有值的基础上进行加1或减1操作

2、单独使用的时候,没有区别,参与运算的时候就有区别了

int c=10,d=20; int e=c++;//++ 写在变量的后面,先运算,后自增 
int f=++d;//++ 写在变量的前面,先自增 后运算 
System.out.println("c==="+c);//11 
System.out.println("d==="+d);//21 
System.out.println("e==="+e);//10 
System.out.println("f==="+f);//21
byte b=10; b++;//因为++是运算符,b在自增的时候,是会自动强制转换的 
b=b+1;//为什么这行报错?这里计算机不会帮你自动转换,因为b是变量,其内部的值是不确定的 
b=1+2;//看是否超过了byte的取值范围

&/&&(与和短路与):

记住一句话:遇false则false,只有都是true,结果才是true

&:无论&符号左边的结果是ture还是false,&符号右边的代码都会执行

&&:当&&符号左边的代码结果为false,&&符号右边的代码就不执行

int x=3,y=4; 
System.out.println((++x==3)&&(++y==4)); 
System.out.println("x==="+x);//4 
System.out.println("y=="+y);//4

连接运算符:+

当+号左右两边有一边是字符串(双引号括起来的内容)的时候

那么该+号就有两个作用:

1、进行字符串连接

2、类型转换(把其他数据类型转成String类型)

int a=100; String str="a="+100; 
System.out.println(str);//a=100 
str=""+100+200; 
System.out.println(str);//100200

三目运算符:(关系表达式)?表达式1:表达式2

执行流程:

1、先计算关系表达式的结果(boolean类型)

2、结果为true,执行表达式1

3、结果为false,执行表达式2

三目不要嵌套,尽管可以嵌套写,但是可读性很差

//求最大值 int temp=x>y ? x:y; 
int max=temp>z?temp:z; 
System.out.println("最大值是:"+max);