什么是运算符
运算符就是java中方便程序做各种算术以及逻辑运算用的符号
Java中运算符有哪几种
- 算术运算符
- 赋值运算符
- 扩展赋值运算符
- 关系运算符
- 逻辑运算符
- 位运算符
- 三元运算符
算术运算符
算术运算符就分为我们平常在数学中所学的一样分为以下几种
+(加) -(减) *(乘) /(除)
%(取模) ++(自增) --(自减)
以上+、-、*、/四种跟我们的数学中并没什么区别,主要是 % 、++、–这三个的用法,下面我们来一一了解。
+(加)运算符在数值之间它是普通的两个数字相加,但是在字符或字符串里面时+号就成了连接符,实例如下:
-(减) 运算符就是普通的两个数字相减 , 实例如下:
*(乘) 运算符就是普通的两个数字相乘,实例如下:
/(除) 运算符就是普通的两个数字相除,实例如下:
%(取模)同样我们也称取余,就是取两个数之间的余数,实例如下:
++(自增)我们可以简单的理解为数值自身加一,实例如下:
自增 在java有两种使用的方法:
-
将++符放在变量名的后面
-
将++符放在变量名的前面
这两种方法看似相差不大 但却是两种完成不同的效果
-
将++放在后面是先赋值再自增
-
将++放在前面是先自增在赋值
–(自减)我们可以简单的理解为数值自身减一,这里的自减和前面学习的自增是同样的道理,实例如下:
赋值运算符
在java中一个=是赋值运算符并非数学中一样,如下:
int a=3;
上面的这行代码中就使用到了赋值运算符,定义一个整型的变量a,将数值3赋值给了a这个变量。
扩展赋值运算符
扩展赋值运算符分为
-
+=
-
-=
-
∗ ^* ∗=
-
/=
扩展赋值运算符与赋值运算符的区别:赋值运算符是将右边的值赋值给了左边的变量,如:int a=3;
扩展赋值运算符 (以+=为例) 如 :
int a=3;
a +=4;(左边+右边,再赋值给左边)
System.out.println(a);
-= 、*=、/= 同理
关系运算符
关系运算符也称(比较运算符)
> < >= <= == !=
(注意在java中两个等于号才是等于) !=(不等于)
我们先来了解 > 和 <
这里的 >=和<= 是同样的道理
== 等于,在java中一个等于号是赋值两个等于号才是等于
!= 不等于
逻辑运算符
& (与)
int a=5;
a>3 & a<4
true & false =false;
false & ture=false;
false & false=false;
true & true=true;
结论 :判读两边的表达式只要一个为false,那么结果就为false,两边的表达式都为true结果为true
| (或)
int a=5;
a>3 | a<4;
true | false = true;
false | ture= true;
false | false=false;
true | true=true;
结论 :判断两边的表达式只要一个为true,那么结果就为true,两边的表达式都为false结果为false,两边的表达式度为true结果为true
^(异或)
true ^ false = true;
false ^ ture= true;
false ^ false=false;
true ^ true=false;
结论:判断两边的表达式只要一个为true, 那么结果就为true,两边的表达式都为false结果为false,两边的表达式都为true结果为false
!(非)
!true =false;
!!true=true;
!false = true;
!!false=false
结论: 非就是取相反值
&&(短路与) ||(短路或)
主要理解短路这个词
&和&&的区别
&:无论左边结果是false还是true,右变都会被运算
&&:当左边为为false时,右边不会被运算
| 和 ||的区别
|:无论左边结果是false还是true,右变都会被运算
||:当左边为为true时,右边不会被运算
位运算符
位运算符分为以下几种:
<< 左移
>> 右移
>>> 无符号右移
注: 位运算符主要就是针对二进制进行运算
在位运算符中我们通过以上学习发现,向左移数字会越来越大,数字向左移多少位就是数字本身乘上2的多少次方,如下:
8<<5 8乘以2的5次方
向右移数字会越来越小,数字向右移多少位就是数字本身除以2的多少次方,如下:
900>>6 900除以2的6次方
>
>
>
>>>
>>>无符号右移与有符号右移的区别
在>>右移中二进制数最高位为1,右移后用1补空位,如果最高位为0,右移后空位补0
在>>>右移中不管最高为0还是1,都用0补空位
三元运算符
三元运算符(三目运算符)
(x)? y : z
(条件表单式)? 值1:值2
x(条件表达式)为boolean表达式,先计算(x条件表达式)的值。
int a=5;
int b=8;
String abb=” ”;
abb=(a>b)?”a不大于b”:”a小于b”;
System.out.println(“你的答案是:”+abb);
若表达式值为true,则运算后的结果y(值1)
若表达式值为false,则运算后的结果z(值2)
运算符的优先级