算数运算符
+加法和-减法运算符
关于+法运算符需要注意的问题:
1.如果+号的两边都是数字的话,那么这个+表示的数学上的加法。
2.如果+号的两边,只有有一个字符串,那么这个+表示的是字符串连接符。
减法运算符运用时直接当做数学中两个数相减就行。
*乘法和/除法运算符以及%取余运算
/除法运算需要注意的问题:
1.如果两边都是整数 结果就是整数(整除)( 8/4=2 )
2.如果两边至少存在一个小数,结果就是小数(8.0/4=2.0)
取余运算:相当于是整除运算,但是得到的结果是余数。这个运算经常应用到把一个多为数拆成单个数字,然后再对拆下来的这些单个数字进行相应的运算操作。还是非常重要的而且它特别容易和/整除运算相混淆。特别需要多加注意,也应该将两者的用法熟记于心。
++自增和--自减运算符
应为两者运算实质上一样,这里主要强调自增运算符。
++i:i本身直接+1再参与运算
i++
1.先开辟一个临时存储区
2.将i的值复制到存储区
3.i自身+1
4.临时存储区的值等待被调用(参与运算,输出,赋值)
int i=3;
i++;
System.out.println(i); //4
System.out.println(i++);//4
int j=i++;
System.out.println(j); //5
System.out.println(i); //6
i=i++;
System.out.println(i); //6
i=i++;
System.out.println(i); //6
系统先会开辟给i++开辟一个临时性存储区域,然后i++会复制i的值,之后变量i本身会加1。之后这个临时存储区域中储存的i++的值会被等待调用。如果调用会才会输出i++的值。
赋值运算符
赋值运算符主要有:+=,-=,*=,/=,%=
+=:举个简单例子a+=a(相当于a=a+a;),上面其余用法和这个相似。
比较运算符
>(比较大小),<(比较大小),>=(大于等于),<=(小于等于),!=(不等于)
==(不管是在基本数据类型还是在后期面向对象 ==永远比的是两个变量(常量)当中所存储的那个数据的地址!
常量在常量池中的地址;对象在堆内存中的地址)
要特别注意的是比较运算符通常在使用之后其结果就是一个boolean类型的值。即true或者false
逻辑运算符,位运算符和三目运算符
与运算符:
用法:同真则真,遇假则假(1为真,0为假)
单与 &
双与 &&
&&的话,左边一旦为假,右边无论真假,结果都是假,所以右边可以不运行
或运算符:
有真则真,同假则假(同理1为真,0为假)
单或 |
双或 ||
||的话,左边一旦为真,右边无论真假,结果都是真,所以右边可以不运行
非运算符
非真就是假,非假就是真
运算符号: ! (!0==1;!1==0)
异或运算符
相同为假,不同为真
运算符号: ^
运算的结果肯定是一个boolean类型
位运算符
指的就是二进制之间的运算
&:两个二进制数之间相乘
|
^
>>(位移运算符像右移位)
<<(位移运算符像右位移) 基础单位以2的次方来算
三目运算符
格式:变量=布尔表达式 ? 值1 : 值2;
布尔表达式的意思是,计算的结果必须是boolean类型,如果布尔表达式的结果是true,则将值1赋予变量,如果布尔表达式的结果是false,则将值2赋予变量
它在一定程度上简化了if语句的功能
int a=5;
int b=6;
int min=a>b?b:a;结果为6