【Java】运算符的介绍
问题:如果一个表达式中含有字符串,那么这个表达是会怎么运算呢????
答案:如果是字符串在前面的话,这么这个表达式的值为字符串,如果字符串在后面的话,em.....结果也是一个字符串,哈哈哈~~看下面的例子,聪明的你是不是发现了什么?
运算符
如果说这节内容是一个副本,运算符是通关以后奖励的一个英雄的话,那么不知道你能不能掌握这个英雄的那么多个技能呢?超级厉害的技能哦:算术运算符,赋值运算符、比较运算符、逻辑运算符、位运算符、类型相关运算符。
算术运算符
基础技能,掌握以后可以获得七个进化技能,掌握百万数据的生杀大权。
减法运算符(-)和乘法运算符(*)无过人之处,不做重点介绍。
+:加法运算符
就是做两个数的加法运算,特殊之处:可以做字符串的连接运算符。
/:除法运算符
如果两个操作数都是整数类型,计算结果也会是整数,就是自然除法的结果舍掉小数部分。如果两个操作数中有一个是浮点数,则计算结果也是浮点数。
%:取余运算符
如果两个运算数是整数类型,除数不能为零,会抛出一个大大的异常。如果两个运算数中出现了浮点数,除数就可以变成零了。只是运算的结果是一个非数:NaN。0对0以外的任何数求余的结果都是0。
++:自加,将操作数的值加1
1、该技能只能操作一个数,可以在左边,也可以在右边。但是在两边的特效是不一样的。在左边释放时,先把操作数加1,然后再把操作数放入到表达式中运算。如果在右边释放,先把操作数放到表达式中运算,然后才把操作数加1.
2、该技能对常量和表达式无效。
--:自减
技能特效与++基本相似,只是将操作数的值减1。
赋值运算符(=)
可以为变量指定变量值,也可以把一个变量的值赋给另一个变量,把右边的值给左边变量,从右往左运算。该技能可以无CD连续多次释放,达到依次为多个变量赋值的目的。但是一般不推荐这样玩,都让你们玩坏了。
位运算符
&:按位与。当两位同时为1时才返回1;
|:按位或。只要其中一位为1,即可返回1;
~:单目运算符,将操作数的每一位(包括符号位)全部取反;
^:按位异或。当两位同时返回0时, 不同时返回1;
<<:左移运算符;
>>:右移运算符;
>>>:无符号右移运算符;
一般来讲,这些运算符只能操作整数类型的变量或值,而且还是它们的二进制。这就比较复杂了,了解一下就好。
比较运算符
说白了这个技能就是判断两个变量或者常量的大小。比较运算的结果是一个布尔值(true或false)。
>:大于,只支持左右两边操作数是数值类型。如果前面的变量的值大于后面变量的值,则返回true。
>=:大于等于,只支持左右两边操作数是数值类型。如果前面的变量的值大于等于后面变量的值,则返回true。
<:小于,只支持左右两边操作数是数值类型。如果前面的变量的值小于后面变量的值,则返回true。
<=:小于等于,只支持左右两边操作数是数值类型。如果前面的变量的值小于等于后面变量的值,则返回true。
==:等于,如果比较的两个数是数值类型,只要值相等,返回true。如果是引用类型,需要两个引用类型指向相同一块地址才能返回true;也可以对布尔类型的值进行比较。
逻辑运算符
可以看做位运算符的升级版,操作对象是两个Boolean类型的变量或常量。
&&:与,前后两个数必须是true,才会返回true。
||:或,只要两个操作数里面有一个是true,就可以返回true。
!:非,只需要一个操作数,如果操作数为true,再返回false,如果操作数为false,则返回true。
^:异或,当两个操作数不同时才返回true,两个操作数相同时,返回false。
注意注意:介绍一个隐藏技能,如果&&两边是两个表达式,如果前面的表达式值为false,则后面的表达式则不会运算了,如果需要后面的表达式运算,则需要&。||也是同样的道理,如果前面的值为true,则后面的表达式就不会执行了,如果需要执行的话,则需要|。
三目运算符
天下独一无二的技能,只此一个,不外传,简单的解释一下,
表达式1?表达式2:表达式3
如果表达式1的值为true,执行表达式2,
如果表达式1的值为false,则执行表达式3。
最后,附上一个大招,重点哦!
不知道聪明的你是否已经掌握运算符这个英雄了呢?作业:使用数学运算符和逻辑运算符编写三十个表达式,首先自行计算各表达式的值,然后通过咸亨需计算,比较一下,看看你是否都掌握了。