运算符

%(取余,也叫模运算)比如:(22%10=2)这里面就是22除10会等于2后,还剩个2,取得就是这个数,如果除数是25,取得就是5运算符(基础6)_赋值

 

 

 1.在(byte--short--int)这三种类型进行运算的时候,运算出的结果会自动转换为(int)类型,就算是最小的两个(byte)类型在运算也会转换为(int类型)

运算符(基础6)_赋值_02

 

 

 2.在(byte--short--int--long)这四种类型进行运算的时候,输出结果会自动转换为(long)类型

运算符(基础6)_赋值_03

++(自增)

这里面是运算流程的问题,最开始(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)

--(自减)

与自增的运输流程相同

运算符(基础6)_自动转换_04

幂运算

在java里直接打(2^3)是输出不了的,这里要借助一个数学工具类(Math)

(Math)这个数学工具能帮你解决数学方面的技术问题,在这里我要用到(Math)里的(pow)

最后结果是(Math.pow())

运算符(基础6)_赋值_05

 

 

但为什么上面直接输出报错了,这是因为我们还少了一步点一下(Math)然后(ALT+确认键)

变成下图的效果就能用了

运算符(基础6)_自动转换_06

逻辑运算符

&&(与) :逻辑与运算,两个变量都为真,结果才为true

|| (或):逻辑或运算,两个变量有一个为真,结果才为true

! (非):如果是真,则变为假,如果是假则变为真

短路运算

在你用(&&)运算符时,如果第一个变量为(false)时,他就会直接给出(false)结果,而后面那个变量就不管了

运算符(基础6)_运算符_07

位运算(二进制的运算)

(A&B)(A与B):全1为1,其余得0

(A/B)(A或B):全0为0,有1则1

(A^B)(异或运算):相同为0,否则为1

(~B)(取反):0则得1,1则得0

运算符(基础6)_运算符_08

(<<)(左移):为什么2往左移了三位就等于16?因为在二进制中每往左移动一位都是2的倍数.而2在二进制中是(0000 0010)这样表示的,而左移三位就变成(0001 0000) (最右边的是1,往左移一位是2,再往左移一位是4,以此类推),所以是16

(>>)(右移):反之亦然

运算符(基础6)_自增_09

这些(+=,-=,*=,/=)都是偷懒的方法不建议使用

比如:a+=a 的意思就是a=a+b;以此类推

运算符(基础6)_自动转换_10

三元运算符

(?:)这个符号在实际中是这个意思:设一个变量a;在设一个String变量b,如果a<100则输出“fw”字符串,如果a不小于100则输出“你还有口饭吃”字符串;就是你设一个条件,达到条件输出前面的字符,没达到输出后面的字符

运算符(基础6)_字符串_11

字符串连接符号 +

字符之间用加号来连接,而不会显示出加号来,也不会进行计算

但这里面有个注意点:在输出的过程中如果有(“”)(双引号)这种字符符号在前面,则后面的变量全部转为字符型,如果在变量后面则不会影响变量的运行

运算符(基础6)_自增_12

 

- —— -学习资料来源