首页 > 代码库 > java的基础知识运算符

java的基础知识运算符

一.运算符。

1.算数运算符:+,-,*,/,%

2.自增自减 :++ ,--

++在前 先运算在赋值

++在后 先赋值后运算

-- 减减同上.

3.赋值运算符 : = ,+=,-=,*=,/=

4.关系运算符 : >,<,>=,<=,== ,!=

5.逻辑运算符: & ,| ,! ,&& ,||

6.位运算符:

(1).位运算符的符号:

& (与):两者都是1的时候我就是一,其他都是0

|(或):两者都为0时才为0 ,其他的都是1.

^(异或):两者不同为1,相同为0

~(取反):0变为1,1变为0.

(2).负数的表现形式: 二进制位的最高位为1,那么这个数就是一个负数。

-1:1111-1111  1111-1111 1111-1111 1111-1111

 0:0000-0000 0000-0000 0000-0000 0000-0000

-2:1111-1111  1111-1111 1111-1111 1111-1110

-3:1111-1111  1111-1111 1111-1111 1111-1101

-4:1111-1111  1111-1111 1111-1111 1111-1100

-5:1111-1111  1111-1111 1111-1111 1111-1011

-6:1111-1111  1111-1111 1111-1111 1111-1010

-7:1111-1111  1111-1111 1111-1111 1111-1001

 7:0000-0000  0000-0000 0000-0000 0000-0111

规律:负数所对应的正数-1 ,取反负数所对应的正数取反+1

(3).移位操作符:对二进制位进行操作

 >>  右移

<<  左移

>>> 无符号右移

//右移:

           System.out.println(6>>1); // --->3  6/2  2*1

           System.out.println(6>>2); // --->1  6/4  2*2

           System.out.println(6>>3); // --->0  6/8  2*3

           System.out.println(-6>>1); //  -6/2 -->-3 

//规律: 右移多少位,就用需要移动的数除以2的多少次方。

//左移 :

           System.out.println(6<<1); // --->12  6*2  2*1

           System.out.println(6<<2); // --->24  6*4  2*2

           System.out.println(6<<3); // --->48  6*8  2*2*2

           System.out.println(6<<4); //---->96  6*16 2*2*2*2

           System.out.println(-6<<2);//--->-24

//规律: 左移多少位,就用这个数乘以2多少次方。

//>>>无符号的右移

特点:无论你的最高位是0还是1,空缺位都补0。

           System.out.println(6>>>1); //3

           System.out.println(6>>>2); //1

           System.out.println(-6>>>2); // 1073741822

作用 : 提高运算速率。位运算是执行最快。
特点 : 一个数A和两个相同的数^,最后结果还是原来的数A。

java的基础知识运算符