java中的运算符与表达式
运算符与表达式
运算符分类:
0.赋值运算符 =
1.算数运算符 + - * / %
2.比较运算符 < > == <= >= !=
3.逻辑运算符 & | ! && ||
4.位运算符 & | ~ << >> ^
5.一元运算符 ++ -- += -= *= /= %=
6.二元运算符
7.三元运算符 变量=条件?值1:值2;
*逻辑运算符 & | ! && || (与或非)
*注意:逻辑运算符左右两边所存放的变量或者表达式必须是布尔类型的
*运算公式:
非:真非为假,假非为真
与:
true 与 true = true
true 与 false = false
false 与 true = false
false 与 false = false
或:
true 或 true = true
true 或 false = true
false 或 true = true
false 或 false = false
&和&&的区别
&(单位与):不管‘与’符号左边的逻辑运算结果是真还是假,都会判断符号右边的结果,耗时。
&&(短路与):如果‘与’符号左边的结果为假,就不会再判断右边的运算结果,因为最终的结果已经确定,为假。省时
|和||的区别
|(单位或):不管‘或’符号左边的逻辑运算结果是真还是假,都会判断符号右边的结果,耗时。
||(短路或):如果‘或’符号左边的结果为真,就不会再判断右边的运算结果,因为最终的结果已经确定,为真。省时
*位运算符 & | ~ << >> ^
运算时:将 1 看成 true ,0看成false
& | ~ 与逻辑运算符公式一样
1010-0110 = 166
0110-1010 = 106
1010-0110
&0110-1010
---------------
0010-0010 = 34
1010-0110
|0110-1010
---------------
1110-1110=238
1010-0110
~0101-1001=89
-167
<< 左移
8<<3=64 8对应的二进制数项做移动三个单位
相当于乘法运算 8 * 8=64
0000-1000
0100-0000=64
>> 右移
9 >> 2 = 2 9对应的二进制数向右移动两个单位
相当于除法运算 9 / 4=2
0000-1001
0000-0010 = 2
异或 ^
异或:相同为假,不同为真
true 异或 true = false
true 异或 false = true
false 异或 true = true
false 异或 false = false
结论:任何数与0异或,结果都等于这个数。
相同的两个数之间异或,结果为0
多个值之间相互异或时,异或满足交换律。
一元运算符 ++ -- += -= *= /= %=
指,只经过一次运算就完成赋值和运算结果的功能
++ 自增 每次自增1
i++和++i
==>i=i+1;
i++与++i的区别
++i先自增再运算
i++先运算再自增
-- 自减
i-- --i ==>i=i-1;
自增 10 ==>i=i+10;
+=:自增n
i+=10;==>i=i+10;
*三元运算符 变量=条件?值1:值2;
经过三次运算得到结果:
1.判断条件是否成立(条件运算符)
2.如果条件成立,取值1,否则取值2 。
3.将取出的值赋值给变量(赋值运算符)
java中的运算符与表达式的更多相关文章
- Java中的运算符及表达式
常用的运算符:赋值运算符(=).加法运算符(+).乘法运算符(*).除法运算符(/).括号运算符(( )).余数运算符(%).布尔运算符. 注释符(//).注释的内容为双反斜杠后的内容至换行结束. j ...
- 【JAVA零基础入门系列】Day5 Java中的运算符
运算符,顾名思义就是用于运算的符号,比如最简单的+-*/,这些运算符可以用来进行数学运算,举个最简单的栗子: 已知长方形的长为3cm,高为4cm,求长方形的面积. 好,我们先新建一个项目,命名为Rec ...
- Java 中的运算符和流程控制
Java 中的运算符和流程控制 + 面试题 算术运算符 Java 中的算术运算符,包括以下几种: **算术运算符** **名称** **举例** + 加法 1+2=3 - 减法 2-1=1 \* 乘法 ...
- JAVA_SE基础——11.Java中的运算符
在程序设计中,运算符应用得十分广泛,通过运算符可以将两个变量进行任意运算.数学中的"+"."-"."*"."/"运算符同 ...
- java基础(4)--运算符及表达式
运算符及表达式 算数运算 加(+) 减(-) 乘(*) 除(/) 取余(%) 自增(++) 自减(- -) 注意点 1. 同种类型参与运算(可能需要自动类型转换),返回同种类型 2. 整数的除法是整 ...
- Java中逗号运算符的使用
今天看到一道面试题,题目如下: 题目解释: 上面有一个类,有四个成员属性,以及两个构造方法(一个四个参数,一个两个参数),题目给出四个选项,问哪些选项可以满足在在四个参数的构造方法中完成x=a,y=b ...
- Java中移位操作运算符的理解
java中的移位运算符有三种: 1. <<: 左移 2. >>: 右移 3. >>>: 无符号右移 使用方法:左移就是将左边的操作数在内存中的二进制数据左移指 ...
- Java中位运算符的使用
先预知识: 数据在计算机中是以二进制的形式进行存储的,而二进制在内存中是以补码的形式进行存储的.在介绍位运算之前,首先来看一下原码.反码和补码的概念.由于正数的原码.反码和补码的形式都是一样的,所以以 ...
- Java 中位移运算符 >>,>>>,<<
Java 中的三种位移运算符 java中有三种移位运算符 << : 左移运算符,num << 1,相当于num乘以2 >> : ...
随机推荐
- SSM框架—Spring AOP之基于注解的声明式AspectJ(Demo)
项目结构 XML <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http ...
- powershell获取mac地址
> getmac > getmac | select-string "00" > $a = getmac | select-string "00&quo ...
- JAVA解析_操纵_JS_JAVA_JS引擎
http://uuhorse.iteye.com/blog/1705684 http://blog.csdn.net/chinajash/article/details/1491570 http:// ...
- Java内部类(4):静态内部类&接口内部类
使用static修饰的内部类我们称之为静态内部类,不过我们更喜欢称之为嵌套内部类.静态内部类与非静态内部类之间存在一个最大的区别,我们知道非静态内部类在编译完成之后会隐含地保存着一个引用,该引用是指向 ...
- C# WindowService 动态修改服务名
serviceInstaller1中可以设置服务名,描述等 在实际情况中,我们可能需要将Service多开来达到我们的目的,但是安装两次以上会有错误提示,因为服务名已经重复了,这个时候,我们需要动态改 ...
- python列表展开的方法
只有一层嵌套的常见方法: # 普通方法 list_1 = [[1, 2], [3, 4, 5], [6, 7], [8], [9]] list_2 = [] for _ in list_1: list ...
- 加入域之后,【Internet 时间】选项没有了
这是加入域之前的截图,这时可以看见[Internet 时间]选项. 这是加入域之后的截图,这时就看不到[Internet 时间]选项了. 那这到底是为什么呢?别急,结合概念一看就明白啦. NTP全称网 ...
- C++进阶笔记
思想原则: 以类为例,类最终要处理的是数据,方法只是过程,最终要改变的是private中的数据成员状态.程序设计也是如此,要的是数据. 一.const的作用 const定义变量:定义了一个不可修改的常 ...
- C学习笔记-预备知识
计算机结构组成 CPU(中央处理器)(控制器+运算器) 存储器(内存+外存) 输出设备 输入设备 计算机系统组成 硬件系统 主机 中央处理器 运算器 控制器 内存储器 只读存储器 随机存储器 外部设备 ...
- python3.7环境下创建app、运行Django1.11版本项目报错Generator expression must be parenthesized
有些同学喜欢追求新鲜感~但追求新鲜感终归是要付出一点点代价的 在编程领域有一句至理名言:用东西不要用最新的! 就像每次苹果系统的升级都会有相当一部分用户的手机成砖一样 下面我们就介绍一个因版本升级带来 ...