Kotlin学习快速入门(12)—— 位运算符
2023-02-18 16:36:10 时间
由于不懂pythod,最近拜托朋友研究下解密live2d模型的解密算法,朋友写出了Java的代码
之后我进行改版,在转为kotlin的时候,发现kotlin自动转换有些坑,以及kotlin中的位运算符优先级似乎和Java中不是相同的,特此记录下相关的资料
Java | Kotlin | 说明 |
---|---|---|
~a |
a.inv | 非 |
a&b | a.and(b) | 与 |
a|b | a.or(b) | 或 |
a^b | a.xor(b) | 异或 |
a<<b | a.shl(b) | 左移b位 |
a>>b | a.shr(b) | 右移b位 |
a>>>b | a.ushr(b) | 无符号右移b位 |
~另外,对于 <<= 、>>= 、>>>= 这三个操作,Kotlin中没有对应的函数
优先级:
优先级 | 运算符 | 结合性 |
---|---|---|
1 | ()、[]、. | 从左向右 |
2 | !、~、++、-- | 从右向左 |
3 | *、/、% | 从左向右 |
4 | +、- | 从左向右 |
5 | <<、>>、>>> | 从左向右 |
6 | <、<=、>、>=、instanceof | 从左向右 |
7 | ==、!= | 从左向右 |
8 | & | 从左向右 |
9 | ^ | 从左向右 |
10 | | | 从左向右 |
11 | && | 从左向右 |
12 | || | 从左向右 |
13 | ?: | 从右向左 |
14 | =、+=、-=、*=、/=、%=、|=、^=、~=、<<=、>>=、>>>= | 从右向左 |
相关文章
- SQL语句练习实例之六——人事系统中的缺勤(休假)统计
- SQL语句练习实例之五——WMS系统中的关于LIFO或FIFO的问题
- SQL语句练习实例之四——找出促销活动中销售额最高的职员
- SQL语句练习实例之三——平均销售等待时间
- SQL语句练习实例之二——找出销售冠军
- SQL语句练习实例之一——找出最近的两次晋升日期与工资额
- [Laravel系列] 验证规则required_without_all 的使用
- 在IIS7下配置ASP.NET v1.1(Visual Studio .NET 2003)环境
- [Laravel系列] 在线客服系统代码优化-配置mysql数据库读写分离
- Sql Server中三种字符串合并方法的性能比较
- [Laravel系列] 在Laravel ORM 使用STRAIGHT_JOIN
- POS信息管理系统设计说明(三)——后台管理系统(B/S)
- [MySQL系列] SELECT STRAIGHT_JOIN优化join查询技巧
- [MySQL系列] 使用STRAIGHT_JOIN 优化inner join查询排序索引问题
- POS信息管理系统设计说明(二)——前台收银管理(C/S)
- POS信息管理系统设计说明(一)
- [Laravel系列] 解决laravel中paginate()与distinct() count语句错误问题
- 英文SilverLight 4 tools for vs 2010 安装于vs 2010中文版,无法拖拽数据源问题解决方法
- [Laravel系列] 框架中增加记录access log的日志中间件
- 无法启动调试--未安装 Silverlight Developer 运行时。请安装一个匹配版本。