资讯专栏INFORMATION COLUMN

JavaSe笔记03-关于操作符,运算符和位运算符

dunizb / 1745人阅读

摘要:运算符运算符,是一种特殊的符号。算数运算符赋值运算符比较运算符位运算符逻辑运算符三目运算符算数运算符符号加减乘,除,取余自增自减作用在于整数和浮点型。

运算符

Java运算符,是一种特殊的符号。用表示数据的运算,赋值和比较。

算数运算符

赋值运算符

比较运算符

位运算符

逻辑运算符

三目运算符

1. 算数运算符
符号:加(+),减(-),乘(*),除(/),取余(%)
自增:++
自减:--

作用在于:整数和浮点型。
最终的结果:十进制。只要是byte,short,int,long,char,float,double相加结构都是十进制。
所有的运算的结果的最小范围一定是:---int

a. 自增:++

不同行:

 int a =1;
 a++;
 ++a;
 System.out.println(a); //3  a++ 与 ++a 在不同行效果是等价的。

相同行:在运算中,或者逻辑判断中,或者方法的传参中就存在差异了

int a =5;
int b = a++ + 6;
System.out.println(b); // 11
System.out.println(a); // 6
    
int a1 =5;
int b1 = ++a1 + 6;
System.out.println(b1); // 12
System.out.println(a1); // 6

分析[int b = a++ + 6;]运算步骤: 先运算再递加。
step1: a + 6 = 11
step2: a++ = 6 
因此结果是 b=11,a=6

分析[int b = ++a + 6;]运算步骤: 先递加再运算。
step1: ++a1 = 6
step2: a1+ 6 = 12 
因此结果是 b1=12,a1=6

b. 自减:--
跟自增++同理

2. 赋值运算符

等号 =,只要赋值了就修改内存控制的二进制

基础数据类型的默认值:
byte short int long 都是0
float double == 0.0
boolean == false
char==u0000 空格

赋值运算符的扩展:

  +=,-=,*=,/=,%=

3. 比较运算符
    < > == >= <= != 用于条件判断中

a. == 逻辑判断,是内存地址的比较-(二进制),还需考虑前面的数据类型。
b. = 赋值

"==" 数字是值的比较,对象(封装数据类型)是内存地址的比较。
如果是基础数据类型值比较==,值相等那么都是true,如果是封装数据类型都是false---hashCode()

4. 逻辑运算符

短路:或 || 且 && 非 !

不短路:或 | 且 & 非 ^ (从性能上讲,不推荐使用。)

5. 三目运算符

格式:(逻辑判断(boolean))?true:fakse;

6. 位运算符(7个) ---计算
>>  右移运算符
>>> 无符号右移
<<  左移,二进制整体往左边移动两位,空白位用0填充。
&  按位与,如果两个同时为1返回就是1,其他的都是0。
|  按位或,如果有一位是1那么就是1,其他的都是0。
^  按位异或,两个相同的时候0,不同时返回1。
~  按位非,单数字取反
作用:快速计算一个数字想要得到结果,最终都是以二进制的方式进行计算。
思路: 把十进制转成二进制,再进行移位操作。

true & false ---逻辑符合
5 & 9 ---位运算
   

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/73525.html

相关文章

  • JavaSe笔记01-关于数据类型

    摘要:基础数据类型公式是内存中,代码存储的最小单位。什么是变量变量是有数据类型,变量名和字面值构成一个完整体。整数和浮点型一个类型大小的比较的过程,存在自动转换,强制类型转换。比如强制类型转换,会造成精度的丢失。 showImg(https://segmentfault.com/img/bVbpffL?w=886&h=572); 1:Java基础数据类型 公式:1byte=8bit;bit是...

    CHENGKANG 评论0 收藏0
  • Java入门请不要放弃,学习路线以及侧重点分析

    摘要:而面向搜索引擎,就是我们要及时的使用百度谷歌遇到问题无法解决,先别急着放弃,可以去网络寻找答案,你的坑大部分别人都已经走过了,大部分都可以找到合适的解决方案。 showImg(https://segmentfault.com/img/remote/1460000019236352?w=866&h=456); 前言: ●众多的语言,到底哪一门才是适合我的?●我们为什么要学习Java语言呢...

    mochixuan 评论0 收藏0
  • JavaSE笔记整理

    1、笔记软件Typora的使用 explorer任务管理器桌面 calc 计算机 mspaint 画图工具 helloword! helloword! helloword! helloword! 今天是学习的第一天 有序排列 王五 李四 无需排列 安徽师大会的话 阿达 -- 表格创建 编号姓名id1001张三宝331002李四341003王文玉321 代码笔记 ``` //代码样...

    Dr_Noooo 评论0 收藏0
  • 雪花算法(03)生成时间

    摘要:前面的理论基础和位运算都了解了,下面我们来生成雪花算法的第一部分,也就是时间部分。这个时候就有一个问题了,如果我们系统的时钟错了会不会有问题会所以要做判断而且系统的时钟错误也是雪花算法的一个致命问题,所以要一定要保证服务器的系统时间正确。 前面的理论基础和位运算都了解了,下面我们来生成雪花算法的第一部分,也就是时间部分。时间部分的逻辑起始很简单,就是规定一个起始时间戳,然后用当前时间戳...

    张红新 评论0 收藏0
  • Programming Computer Vision with Python (学习笔记一)

    摘要:接下来的学习笔记本人都将使用来代替。库中提供的很多图像操作都是分别作用于某个通道的数据。是最流行的开源色彩管理库之一。目前只支持在增加和。模块支持从图像对象创建或的对象,方便被使用和显示。模块对图像或指定区域的每个通道进行统计,包括等。 介绍 《Programming Computer Vision with Python》是一本介绍计算机视觉底层基本理论和算法的入门书,通过这本收可以...

    huashiou 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<