运算符
%(取余,也叫模运算)比如:(22%10=2)这里面就是22除10会等于2后,还剩个2,取得就是这个数,如果除数是25,取得就是5
1.在(byte--short--int)这三种类型进行运算的时候,运算出的结果会自动转换为(int)类型,就算是最小的两个(byte)类型在运算也会转换为(int类型)
2.在(byte--short--int--long)这四种类型进行运算的时候,输出结果会自动转换为(long)类型
++(自增)
这里面是运算流程的问题,最开始(i=100),到下面(a=++i)两个(+)号再i的前面的效果是先(+1)到(i)然后再赋值给a,(i)先等于(101)然后把(i)赋值给(a),(a)也等于(101);这时的(i)等于(101),到下面(b=i++)两个(+)号在(i)的后面的效果是先把(i)赋值给(b),然后再加1
所以最后输出结果是(i=102) (a=102) (b=102)
--(自减)
与自增的运输流程相同
幂运算
在java里直接打(2^3)是输出不了的,这里要借助一个数学工具类(Math)
(Math)这个数学工具能帮你解决数学方面的技术问题,在这里我要用到(Math)里的(pow)
最后结果是(Math.pow())
但为什么上面直接输出报错了,这是因为我们还少了一步点一下(Math)然后(ALT+确认键)
变成下图的效果就能用了
逻辑运算符
&&(与) :逻辑与运算,两个变量都为真,结果才为true
|| (或):逻辑或运算,两个变量有一个为真,结果才为true
! (非):如果是真,则变为假,如果是假则变为真
短路运算
在你用(&&)运算符时,如果第一个变量为(false)时,他就会直接给出(false)结果,而后面那个变量就不管了
位运算(二进制的运算)
(A&B)(A与B):全1为1,其余得0
(A/B)(A或B):全0为0,有1则1
(A^B)(异或运算):相同为0,否则为1
(~B)(取反):0则得1,1则得0
(<<)(左移):为什么2往左移了三位就等于16?因为在二进制中每往左移动一位都是2的倍数.而2在二进制中是(0000 0010)这样表示的,而左移三位就变成(0001 0000) (最右边的是1,往左移一位是2,再往左移一位是4,以此类推),所以是16
(>>)(右移):反之亦然
这些(+=,-=,*=,/=)都是偷懒的方法不建议使用
比如:a+=a 的意思就是a=a+b;以此类推
三元运算符
(?:)这个符号在实际中是这个意思:设一个变量a;在设一个String变量b,如果a<100则输出“fw”字符串,如果a不小于100则输出“你还有口饭吃”字符串;就是你设一个条件,达到条件输出前面的字符,没达到输出后面的字符
字符串连接符号 +
字符之间用加号来连接,而不会显示出加号来,也不会进行计算
但这里面有个注意点:在输出的过程中如果有(“”)(双引号)这种字符符号在前面,则后面的变量全部转为字符型,如果在变量后面则不会影响变量的运行
- —— -学习资料来源