首页 > 其他分享 >JTCR-运算符-02

JTCR-运算符-02

时间:2024-04-18 14:22:40浏览次数:23  
标签:02 JTCR 二进制 右移 运算符 按位 类型 赋值

算术运算符

算术操作符不能对 boolean 类型使用,可以对 char 类型使用,因为 char 类型是 int 类型的子集。

除操作符对整数使用,结果为整数。

取模运算符对整数和浮点数使用,都返回余数。

在某些情况下,复合赋值操作符比它的等价形式更有效率。

位运算符

运算符 运算结果
~ 按位取反
& 按位与
| 按位或
^ 按位异或
>> 右移
>>> 零填充右移
<< 左移
aboveEach= 按位复合赋值操作,除了 ~

负数使用补码表示。如 -a 的二进制表示获取步骤为:首先获得正数 a 的二进制表示,然后逐位取反,最后加 1 得到 -a 的二进制表示。使用的原因是这种表示方式可以用一个二进制数表示 +0 和 -0。

左移

value << num

将 value 的二进制表示中最高的 num 位去除,然后在后面用 0 补上去除的位数。
当对 byte 和 short 类型进行左移操作时,类型提升成 int 然后左移,得到的结果可能和预期的不一样。

右移

value >> num

右移时,空缺的高位使用最高位(即符号位)的值进行填充。

无符号右移

value >>> num

右移时,空缺的最高位用 0 填充。当对 byte 和 short 类型进行右移操作时,类型会提升为 int。

关系运算符

C/C++ 中,非零值为 true,零值为 false;Java 中,不存在这种用法,其他类型的值不能转换成 boolean 类型,需要显式使用关系运算符比较。

Boolean 逻辑运算符

运算符 运算结果
&
|
^ 异或
|| 短路法则或
&& 短路法则与
!
&=, |=, ^= 复合赋值

赋值运算符

可以使用赋值链(chain of assignments)。

int x, y, z;
x = y = z = 1;

三元运算符

? : 返回的结果不能为 void。

运算符优先级

从高到低为:

最高
++(后缀) ++(后缀)
++(前缀) ++(前缀) ~ ! +(一元) -(一元) (typeCast)
* / %
+ -
>> >>> <<
> >= < <= instanceof
== !=
&
^
|
&&
||
?:
->
= operator=
最低

添加括号不会使程序性能下降,对复杂的表达式添加括号易于阅读。

参考

[1] Herbert Schildt, Java The Complete Reference 11th, 2019.

标签:02,JTCR,二进制,右移,运算符,按位,类型,赋值
From: https://www.cnblogs.com/xdreamc/p/16126966.html

相关文章

  • 6-02. 创建 Timeline 的对话
    修改NewGameCutscene选择AddActiveTrack创建新场景创建DialogBehaviour创建DialogClip创建DialogTrack修改DialogBehaviour编辑DialogClip首先添加DialogTrack,然后再AddDialogClip可以把HasToPause勾选一下再添加一个DialogClip修改Dia......
  • 中电金信:2023银行年报分析——金融科技发展新格局(下篇)
    ​​编辑​编辑​编辑​编辑​编辑​编辑​编辑​编辑​编辑​编辑​编辑​编辑​......
  • 界面组件Telerik UI for WPF 2024 Q1新版亮点 - 全新DateRangePicker组件
    TelerikUIforWPF拥有超过100个控件来创建美观、高性能的桌面应用程序,同时还能快速构建企业级办公WPF应用程序。UIforWPF支持MVVM、触摸等,创建的应用程序可靠且结构良好,非常容易维护,其直观的API将无缝地集成VisualStudio工具箱中。本文将介绍界面组件TelerikUIforWPF在今......
  • 2024蓝桥杯省赛C/C++程序设计A组题目简析
    2024蓝桥杯省赛C/C++程序设计A组题目简析A题意:计算一段区间内日期的中文表达的总笔画数>50的天数按照题意枚举即可。注意个位数字前面需要加一个“零”,也就是多13笔。B题意:\(5\times5\)的棋盘下五子棋,最终下满棋盘并和棋的情况数dfs或者遍历二进制去枚举棋子位置的情况均可......
  • ICPC2023杭州站题解(B D E F G H J M)
    本场金牌数量较其他场多(45枚),但金牌线题数不多。五题为分水岭,五道简单题过后所有题均为金牌题,其中有四道可做,即ABEF,做出任意一道即可拿金牌。这里提供除A题以外的所有可做题的题解。ICPC2023杭州站:M:加入比当前选择的所有数大的数一定会让平均值上升,因此答案数列中,V图中的......
  • 2024牛客暑假多校第四场补题
    B每个堆的石子最多操作a[i]-1次#include<iostream>#include<fstream>#include<unordered_map>#include<vector>#include<cstring>#include<string>#include<queue>#include<stack>#include<algorithm>#includ......
  • datawhale-动手学图深度学习task02
    动手学图深度学习task2第二章:图理论基础图的背景图论中著名问题:柯尼斯堡七桥问题问题:当时东普鲁士柯尼斯堡,市区跨普列戈利亚河两岸,河中心有两个小岛。小岛与河的两岸有七条桥连接。在所有桥都只能走一遍的前提下,如何才能把这个地方所有的桥都走遍?解决思路:将问题简化......
  • 02-运费服务
    1.需求分析运费计算微服务是核心的微服务,不能出现计算错误,毕竟是钱挂钩的。接到开发任务后,首先需要了解需求,再动手开发。运费的计算是分不同地区的,比如:同城、省内、跨省,计算规则是不一样的,所以针对不同的类型需要设置不同的运费规则,这其实就是所谓的模板。1.1模板列表产品需......
  • P10282
    思路首先想到一个\(n^{4}\)的dp,观察数据范围,发现这应该是一个\(n^{3}\)的算法,考虑如何优化。首先把转移方程写出来\(dp_{i,j}=\sum_{0\leii\lei-1,0\lejj\lej-1,\overline{a_{ii+1}...a{i}}\le\overline{b_{jj+1}...b{j}}}dp_{ii,jj}\),发现都不太好优化。首先枚举\(i\),\(......
  • 2024.4.8
    <?xmlversion="1.0"encoding="utf-8"?><ScrollViewxmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.androi......