首页 > 编程语言 >JavaSE--运算符

JavaSE--运算符

时间:2023-08-09 09:12:09浏览次数:34  
标签:false -- 短路 运算符 按位 JavaSE true 赋值

一、运算符

运算符:用于指明对于操作数的运算方式

1、运算符分类

  1)按照操作数的数目分

  单目操作符、双目操作符、三目操作符

  2)按照运算符的功能来分

  算术运算符、赋值运算符、关系运算符、逻辑运算符

2、运算符详解

  1)算数运算符

+ 加法
- 减法
* 乘法
/ 除法
% 取余数、取模
++ 自增
-- 自减

x++:就是将x变量空间的内容先取出,常量区取出1进行计算,再次存回x空间
当在x想要做值的交换的时候会先产生一个临时的副本空间(备份一份)
++在变量前面的时候先自增后备份,++在变量后面的时候先备份后自增
会将副本空间内的值赋给别人

   2)赋值运算符

=  赋值符号,将等号右边的内容存入=左边的变量空间内
+=   -=   *=   /=  %=  
+=:加上一个数然后赋值给自身

  3)关系运算符

>  >=  <   <=   !=   ==  
1.区分=和==
   =是赋值符号,将=后面的结果存入=左边的变量的空间内
   ==比较符号,比较==前面和==后面的元素是否一致
2.比较运算符最终的结果是什么
   用Boolean类型表示结果,true  false
    用作一个条件的判定

  4)逻辑运算符

逻辑运算符前后连接的两个结果为Boolean值
1、&逻辑与
两个条件同时满足,最终才为true,可以理解为中文“和”“并且”意思
2、|逻辑或
可以理解为中文的“或者”,前后两个条件只要有一个满足就为true
3、^逻辑异或
前后的两个表达式结果不一致,结果就为true,(异或不同为1)
4、!逻辑非
将原来的结果取反
5、&&短路与
当前面是true时,向后看,当前面为false时,直接短路
当前面的值结果为false的时候会发生短路,
如果发生了短路情况,性能会比&稍微好点,
从执行结果来看,最终结果来看没有任何区别,也就是只有前面的结果为false的时候性能才会提高
6、||短路或
当前面的结果为false的时候,向后看,当前面为true时,直接短路

  5)位运算

1、&按位与
2、|按位或
3、^按位异或
例:3&5=?
    1)将3和5转化为二进制表示形式
    2)竖着按照对应位置进行&|^计算(1当作true,0当作false)
    3)将计算后的二进制结果转化为十进制
4、~按位取反
就是取反码
5、<<按位左位移
就是以二进制形式向左位移,然后最后面填0,然后算出十进制
相当于这个数乘以2的位移次幂
6、>>按位右位移
以二进制向右位移,然后前面填0,相当于除以2的位移次幂
7、>>>按位右位移(无符号)
    >>保留符号位置1  填1
    >>>不保留符号位置  不管是什么都填0

  6)三目运算符

数据类型  变量名称 = 条件判断 ?表达式a :表达式b;
如果判断条件成立为true,那么表达式a的值赋值给左侧变量
如果判断条件不成立为false,那么表达式的值赋值给左侧的变量

  7)其他运算符

instanceof
new

3、运算符优先级

括号 > 单目运算符 > */% > +- > 位运算符 > 关系运算符 > 逻辑运算符 > 赋值运算符

 

标签:false,--,短路,运算符,按位,JavaSE,true,赋值
From: https://www.cnblogs.com/hyy-0/p/17606828.html

相关文章

  • asound.conf的作用
    asound.conf允许对声卡或者设备进行更高级的控制,提供访问alsa-lib中的pcm插件方法,允许你做更多的复杂的控制,比如可以把声卡组合成一个或者多声卡访问多个I/O。Defaultpluginpcm.!default{typehwcard0}ctl.!default{typehwcard0......
  • springboot~mybatis中使用selectKey获取自增主键
    在mybatis中,我们在insert操作之后,可以获取到自增主键的值,这个需要我们用到这个方法,在使用时有一个坑需要注意,一会儿会说到。假设我们有数据表id_offset,然后id是自增主键我们在插入数据后,希望得到这个新插入的主键的值我们不希望通过两条语句实现,因为这样在并发时会有问题数......
  • Windows加域后通过注册表取消壁纸锁定更换壁纸
    打开注册表:开始--运行--regedit(快捷键Win+R)然后找到HKEY_CURRENT_USER==>Software==>Microsoft==>Windows==>CurrentVersion==>Policies,可以输入如下路径到路径栏计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies该目录下有两个子......
  • 关于三次握手和四次挥手,面试官到底想听到怎样的回答?
    我一看到TCP,啪就点进来了,很快啊。  TCP报文   一个完整的TCP报文头部共有20个字节,其中包括:源端口号(16位)和目的端口号(16位):再加上ip首部的源ip地址和目的IP地址可以唯一确定一个TCP连接。数据序号(16位):表示在这个报文段中的第一个数据字节序号。确认序号:仅当......
  • CF1477E题解
    洛谷博客链接此篇未投洛谷题解,因为写得太菜了qwq。CF1477E&大户爱的送分题题解(CF1477E为我出的校内模拟赛的一道题——《大户爱的送分题》的待修版本)大户爱的送分题文件名OhtoAiFirst.cpp/.in/.out,时间限制\(1\)秒,空间限制\(256MB\)。注意第一个字母是O而不是0。题目背......
  • 电机基础知识
     一、电机分类1、直流有刷电机:只需调整电压,即可调整转速2、直流无刷电机:无电刷和换向器的电机3、舵机:特殊直流电机,自带控制器,舵机本身是闭环控制系统(伺服系统)。给舵机发送指令信号,可以将指令信号变换成轴的角度并保持住,即便负载变化,也能够自动调节。4、步进电机:将电脉冲信......
  • 自动填充
    对于添加和更新的时间设置自动填充时间。在表中添加两个字段为time类型,为了让实体类能够映射,采用下划线格式,对照实体类驼峰命名。(需要在yml中添加驼峰支持)创建属性后需要添加注解表示在添加和更新后更新时间(更新只用更新updaTime) 然后为他们创造处理器,添加@Component注解注......
  • .NET 托管代码与非托管代码
    目录什么是“托管代码”?什么是“非托管代码”?非托管类型?相关参考介绍.NET中的托管代码与非托管代码。......
  • Linux中PXE高效批量网络装机和无人值守安装
    1、PXE1.1什么是PXEPXE是由lntel公司开发的网络引导技术,工作在CIient/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。PXE严格来说并不是一种安装方式,而是一种引导的方式。进行PXE安装的必要条性是要安装的计算机中包含个PXE......
  • 29.SW槽口与圆孔的配合
    1.使用机械配合,槽口-中心2.选择圆孔与槽口即可......