博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java中的运算符
阅读量:5101 次
发布时间:2019-06-13

本文共 1888 字,大约阅读时间需要 6 分钟。

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

2自增自减 :++ ,--

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

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

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

位运算符:它是对二进制位进行计算。

位运算符是可以对十进制的整数进行计算,计算方式:将十进制转为二进制进行计算。

二进制由0和1组成,所以计算的结果要么是0,要么是1

1.5位运算符的符号:

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

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

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

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

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

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

0000 0000 0000 0000 0000 0000 0000 0000 : 0

-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

0000-0000  0000-0000 0000-0000 0000-0111  = 7

1111-1111 1111-1111 1111-1111 1111-1001

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

  负数所对应的正数取反+1

作用:数据进行加密

123456

0-100 a-z

24845845957512317580960  --- >123456

6移位操作符:对二进制位进行操作

6.1  >>  右移

6.2  <<  左移

6.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>>4);

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

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

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

System.out.println(9>>4);//  --->0  9/16  

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

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

 //左移 :

System.out.println("-----这个是左移的结果----------");

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多少次方。

//>>>无符号的右移

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

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

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

原理:见图片。

作用 : 提高运算速率。位运算是执行最快。

比如: 以最快的方式计算 2*8

  2<<3  == 2*8 = 16

特点 : 一个数A和两个相同的数^,最后结果还是原来的数A。

转载于:https://www.cnblogs.com/liluyu123/p/6062747.html

你可能感兴趣的文章
Laravel 指定日志生成目录
查看>>
layui 表格点击图片放大
查看>>
there is no permission with id `12`
查看>>
Laravel使用EasyWechat 进行微信支付
查看>>
我的大二学年总结
查看>>
oracle 基本语法,正则表达式应用
查看>>
Socket通信原理
查看>>
http请求被挂起 cancled 原因
查看>>
刷题——移动盒子及其相关题目
查看>>
docker容器
查看>>
kafka的docker文件
查看>>
java的线程池的基础类
查看>>
docker的源配置
查看>>
Linux的IO机制
查看>>
leetcode大纲
查看>>
TCP的机制
查看>>
Linux的内核性能参数的调整
查看>>
WEB SERVER调优
查看>>
Linux中的线程与进程以及调度
查看>>
Jetty的原理
查看>>