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 运算符/操作符的更多相关文章

  1. [置顶] operator overloading(操作符重载,运算符重载)运算符重载,浅拷贝(logical copy) ,vs, 深拷贝(physical copy)

    operator overloading(操作符重载,运算符重载) 所谓重载就是重新赋予新的意义,之前我们已经学过函数重载,函数重载的要求是函数名相同,函数的参数列表不同(个数或者参数类型).操作符重 ...

  2. 菜鸡的Java笔记 第四 - java 基础运算符

    数学运算符,逻辑运算,三目运算,位运算 double d2 = 314e2; //采用科学计数法的写法,表示10的2次方.= 31400.0 代码写的越简单越好   简化运算符 代码:x=x+y 可以 ...

  3. C++ operator overload -- 操作符重载

    C++ operator overload -- 操作符重载 2011-12-13 14:18:29 分类: C/C++ 操作符重载有两种方式,一是以成员函数方式重载,另一种是全局函数. 先看例子 # ...

  4. C++的拷贝构造函数、operator=运算符重载,深拷贝和浅拷贝、explicit关键字

    原文地址:https://blog.csdn.net/shine_journey/article/details/53081523 1.在C++编码过程中,类的创建十分频繁. 简单的功能,当然不用考虑 ...

  5. java位移运算符3 转

    https://www.cnblogs.com/winsker/p/6728672.html 移位运算符操作的对象就是二进制的位,可以单独用移位运算符来处理int型整数. 理解java移位运算符 运算 ...

  6. Java 位运算符和 int 类型的实现

    Java 位运算符和 int 类型的实现 其他运算符 # 算术运算符 +.-.*./.++i.i++.--i.i-- # 关系运算符 ==.!=.>.<.>=.<= # 逻辑运 ...

  7. [Java学习] Java instanceof 运算符

    多态性带来了一个问题,就是如何判断一个变量所实际引用的对象的类型 . C++使用runtime-type information(RTTI),Java 使用 instanceof 操作符. insta ...

  8. 8. Java的运算符

    计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量. 我们把运算符具体分为:算数运算符,比较运算符,逻辑运算符,位运算符,赋值运算符,条件运算符,i ...

  9. sizeof既是关键字,又是运算符(操作符),但不是函数!

    sizeof是关键字吗 sizeof是关键字,这一点毋庸置疑.你不能将sizeof定义为任何标识符.查看C语言标准文档里的说明: sizeof是运算符(操作符)吗 C语言中,sizeof是运算符(操作 ...

随机推荐

  1. (数据科学学习手札81)conda+jupyter玩转数据科学环境搭建

    本文示例yaml文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 我们在使用Python进行数据分析时,很 ...

  2. Go语言库系列之flag

    背景 终端(命令行)操作是程序员的必备技能,但是你知道怎么通过golang制作出如下命令吗? $ flag girl -h Usage of girl: -height int 身高 (default ...

  3. 一个完整的机器学习项目在Python中的演练(二)

    大家往往会选择一本数据科学相关书籍或者完成一门在线课程来学习和掌握机器学习.但是,实际情况往往是,学完之后反而并不清楚这些技术怎样才能被用在实际的项目流程中.就像你的脑海中已经有了一块块"拼 ...

  4. jmeter参数化之函数助手(十五)

    jmeter-参数化: 参数化的作用:调用接口入参时.有时要求参数经常变化,如果每次去修改就会变得很繁琐,这时候就需要把经常变化的值改变为提前编辑好的文档或函数中,便于调用时使用不同的值. Jmete ...

  5. Spring Framework之IoC容器

    Spring IoC 概述 问题 1.什么是依赖倒置? 2.什么是控制反转? 3.什么是依赖注入? 4.它们之间的关系是怎样的? 5.优点有哪些? 依赖倒置原则 (Dependency Inversi ...

  6. LeetCode46 回溯算法求全排列,这次是真全排列

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是LeetCode的26篇文章,我们来实战一下全排列问题. 在之前的文章当中,我们讲过八皇后.回溯法,也提到了全排列,但是毕竟没有真正写 ...

  7. Codeforces 1322C - Instant Noodles(数学)

    题目链接 题意 给出一个二分图, 两边各 n 个点, 共 m 条边, n, m ≤ 5e5. 右边的点具有权值 \(c_i\), 对于一个只包含左边的点的点集 S, 定义 N(S) 为所有与这个点集相 ...

  8. [noip模拟赛]虫洞holes<SPFA>

    虫洞(holes.cpp/c/pas) [题目描述] N个虫洞,M条单向跃迁路径.从一个虫洞沿跃迁路径到另一个虫洞需要消耗一定量的燃料和1单位时间.虫洞有白洞和黑洞之分.设一条跃迁路径两端的虫洞质量差 ...

  9. Linux上的软件安装有哪些方式?

    Linux上的软件安装有以下几种常见方式介绍 1.二进制发布包 软件已经针对具体平台编译打包发布,只要解压,修改配置即可 2.RPM包 软件已经按照redhat的包管理工具规范RPM进行打包发布,需要 ...

  10. Django-on_delete

    一.外键的删除 关于on_delete的总结 1.常见的使用方式(设置为null) class BookModel(models.Model): """ 书籍表 &quo ...