【Java】Operator 运算符/操作符
Operator 运算符/操作符
什么是操作符?
一个表示特定的数学或逻辑操作的符号
算术运算符
加 + 减 - 乘 * 除 / 取模 %
前置自运算
++ a 、--b
后置自运算
a++ 、b--
对这两种自运算的区别 https://wenda.so.com/q/1535573632217724
++ a 优先运算处理,再进行赋值
a ++ 优先赋值a,再处理 ++ 运算
赋值运算符
= 赋值操作,不是等于!!!
连续赋值 a = b = 1;
+= -= *= /= %=
比较运算符
大于 > 小于 < 等于 == 不等于 !=
大于等于 >= 小于等于 <=
检查对象是否是某一类的对象
instanceof
返回结果 true || false
逻辑运算符
非 !表示对一个布尔值或布尔表达式取反
短路 与 && 或 ||
长路 & |
【且】 当且的左右两边的布尔表达式为真时,结果为真
【或】只要一个表达式结果为true 结果即true
长路和短路的区别?
长路 不管布尔表达式的最终结果,里面的运算继续执行
短路 只要能判断返回布尔结果,后续的表达式不再继续计算
【异或 ^】 多个布尔表达式的结果相同时 返回false
位运算符
位运算时直接对整数的二进制运算,其性能时最快最直接的
- 【左移 <<】 例如:3 << 2 = 12 【3 * 2 * 2】
- 【右移 >>】 例如:3 >> 1 = 1 【3 / 2】
- 【无符号右移 >>>】 例如:3 >>> 1 = 1 【3 / 2】
- 【& 位且运算】 取两个整数的二进制位比较,只有两数的同一位数都是1 时 结果为true 新整数的这个位数为1
- 【| 位或运算】 取两个整数的二进制位比较,只要两数的同一位数的其中一个是1,结果为true 新整数的这个位数为1
- 【^ 位异或运算】取两个整数的二进制位比较,只要两数的同一位数不同,结果为true 新整数的这个位数为1
- 【~ 位取反运算】对原来整数的二进制的位数进行取反,是1的变0,是0的变1
三元运算符
(条件表达式)? 表达式1:表达式2
- 如果条件表达式成立,则执行表达式1,或者返回表达式1的值,
反之 执行表达式2 或者返回表达式2的值
- 通常用于赋值变量处理
运算符的优先级问题?
- 最高级别括号,最优先处理括号内的表达式或值 ()> [ ]
- 自减减 > 自加加 > 位取反 > 取负 > 取正 > 非
- 乘 > 除 > 取模 > 加 > 减
- 左移 > 右移 > 无符号右移
- 大于 > 大于等于 > 小于 > 小于等于 > 类型比较
- 取地址比较(等于) > 不等于
- 长路且 > 异或 > 长路或 > 短路且 > 短路或 > 三元 > 赋值
【Java】Operator 运算符/操作符的更多相关文章
- [置顶] operator overloading(操作符重载,运算符重载)运算符重载,浅拷贝(logical copy) ,vs, 深拷贝(physical copy)
operator overloading(操作符重载,运算符重载) 所谓重载就是重新赋予新的意义,之前我们已经学过函数重载,函数重载的要求是函数名相同,函数的参数列表不同(个数或者参数类型).操作符重 ...
- 菜鸡的Java笔记 第四 - java 基础运算符
数学运算符,逻辑运算,三目运算,位运算 double d2 = 314e2; //采用科学计数法的写法,表示10的2次方.= 31400.0 代码写的越简单越好 简化运算符 代码:x=x+y 可以 ...
- C++ operator overload -- 操作符重载
C++ operator overload -- 操作符重载 2011-12-13 14:18:29 分类: C/C++ 操作符重载有两种方式,一是以成员函数方式重载,另一种是全局函数. 先看例子 # ...
- C++的拷贝构造函数、operator=运算符重载,深拷贝和浅拷贝、explicit关键字
原文地址:https://blog.csdn.net/shine_journey/article/details/53081523 1.在C++编码过程中,类的创建十分频繁. 简单的功能,当然不用考虑 ...
- java位移运算符3 转
https://www.cnblogs.com/winsker/p/6728672.html 移位运算符操作的对象就是二进制的位,可以单独用移位运算符来处理int型整数. 理解java移位运算符 运算 ...
- Java 位运算符和 int 类型的实现
Java 位运算符和 int 类型的实现 其他运算符 # 算术运算符 +.-.*./.++i.i++.--i.i-- # 关系运算符 ==.!=.>.<.>=.<= # 逻辑运 ...
- [Java学习] Java instanceof 运算符
多态性带来了一个问题,就是如何判断一个变量所实际引用的对象的类型 . C++使用runtime-type information(RTTI),Java 使用 instanceof 操作符. insta ...
- 8. Java的运算符
计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量. 我们把运算符具体分为:算数运算符,比较运算符,逻辑运算符,位运算符,赋值运算符,条件运算符,i ...
- sizeof既是关键字,又是运算符(操作符),但不是函数!
sizeof是关键字吗 sizeof是关键字,这一点毋庸置疑.你不能将sizeof定义为任何标识符.查看C语言标准文档里的说明: sizeof是运算符(操作符)吗 C语言中,sizeof是运算符(操作 ...
随机推荐
- Journal of Proteomics Research | 自动的、可重复的免疫多肽数据分析流程MHCquant
题目:MHCquant: Automated and reproducible data analysis for immunopeptidomics 期刊:Journal of Proteome R ...
- Shiro RememberMe 1.2.4 反序列化命令执行漏洞复现
影响版本 Apache Shiro <= 1.2.4 产生原因 shiro默认使用了CookieRememberMeManager,其处理cookie的流程是:得到rememberMe的cook ...
- spring-boot-plus-v2.0发布了-让天下没有难写的代码
spring-boot-plus是易于使用,快速,高效,功能丰富,开源的spring boot脚手架 前后端分离,专注于后端服务 目标 每个人都可以独立.快速.高效地开发项目! GITHUB | GI ...
- 终极解决方案之——Centos7由于误删或更新python导致 No module named yum
之前由于不懂yum和python之间的关系,因为一直在学python3,看到系统里/usr/lib下的python2我就直接删了,结果... 可能还有人是因为python升级的原因,即系统自带的pyt ...
- Python如何用virtualenv搭建虚拟环境
虚拟环境的搭建 优点 1.使不同应用开发环境相互独立 2.环境升级不影响其他应用,也不会影响全局的python环境 3.防止出现包管理混乱及包版本冲突 windows 安装 # 建议使用pip3安装到 ...
- coding++:Idea设置Java类注释模板和方法注释模板
设置类注释模板 1):选择File–>Settings–>Editor–>File and Code Templates–>Includes–>File Header. ...
- 常见Web安全漏洞--------XSS 攻击
1,XSS 攻击 XSS攻击使用Javascript脚本注入进行攻击 例如在提交表单后,展示到另一个页面,可能会受到XSS脚本注入,读取本地cookie远程发送给黑客服务器端. <script& ...
- CoderForces 327D Block Tower
Portal:http://codeforces.com/problemset/problem/327/D 一座红塔200人,一座蓝塔100人,只有与蓝塔相邻才可以建红塔. '.'处可建塔 '#'处不 ...
- 快,学会 shell
本文分成入门篇和基础篇.基础篇包括变量.字符串处理.数学运算三部分.基础篇包括流控制.函数和函数库三部分.主要是基于例子进行讲解,其中有 4 个复杂一点的脚本,看懂了也就入门了. 我们先来聊一聊 sh ...
- D. Little Artem and Dance(带环模拟 + 规律)
D. Little Artem and Dance Little Artem is fond of dancing. Most of all dances Artem likes rueda - Cu ...