## 详解 Scala 的运算符

### 一、Scala运算符的本质

Scala 运算符的本质是对象的方法

``````object TestOperator {def main(args: Array[String]): Unit = {val n1: Int = 10val n2: Int = 20// 当调用对象的方法时，点. 可以省略val result1: Int = n1.+(n2)val result2: Int = n1 + (n2)println(result1)println(result2)// 如果函数参数只有一个，或者没有参数，()可以省略val result3: Int = n1 + n2println(result3)println(1.toString())println(1 toString())println(1 toString)}
}
``````

### 二、算术运算符

+正号|加法|拼接字符串+3 | 3 + 2 = 5 | “hello” + “world” = “helloworld”
-负号|减法-3 | 3 - 1 = 2
*乘法|拼接字符串3 * 2 = 6 | “hello” * 3=“hellohellohello”
/除法3/2 = 1、3.0/2 = 1.5
%取模、取余3%2 = 1

### 三、关系运算符

==相等于4==3 false
!=不等于4！=3 true
>大于4 > 3 true
<小于4 < 3 false
>=大于等于2>=2 true
<=小于等于4<=2 false
``````public class TestOperator {public static void main(String[] args) {String s1 = "hello";String s2 = new String("hello");System.out.println(s1==s2); // false，比较对象地址System.out.println(s1.equals(s2); // true，比较对象值}
}
``````
``````object TestOperator {def main(args: Array[String]): Unit = {val s1: String = "hello"val s2: String = new String("hello")println(s1 == s2) // true，比较对象值println(s1.equals(s2)) // true，比较对象值println(s1.eq(s2)) // false，比较对象地址}
}
``````

### 四、逻辑运算符

&&短路逻辑与true && true = true、true && false = false
||短路逻辑或false || false = false、true || false = true

### 五、赋值运算符

=简单赋值a = 3
+=相加后赋值a += 3 a = a + 3
-=相减后赋值a -= 3 a = a - 3
*=相乘后赋值a *= 3 a = a * 3
/=相除后赋值a /= 3 a = a / 3
%=取余后赋值a %= 3 a = a % 3
<<=左移后赋值a <<= 3 a = a << 3
>>=右移后赋值a >>= 3 a = a >> 3
&=按位与后赋值a &= 3 a = a & 3
^=按位异或后赋值a ^= 3 a = a ^ 3
|=按位或后赋值a |= 3 a = a | 3

### 六、位运算符

&按位与60 & 13 = 12
|按位或60 | 13 = 61
^按位异或60 ^ 13 = 49
~取反~60 = -61
<<左移60 << 2 = 60 * 4 = 240
>>右移60 >> 2 = 60 / 4 = 15
>>>无符号右移60 >>> 2 = 15

### 【RK3288 Android10 T8pro usb hid-multitouch idc配置】

【RK3288 Android10 T8pro usb hid-multitouch idc配置】 文章目录 【RK3288 Android10 T8pro usb hid-multitouch idc配置】背景代码分析1. 读取配置文件2. 标志内外置屏幕3. 设置输入设备4. findviewport()5. 根据对应的viewport来计算相应的mapping的参数 结论 背景 T8pro …

### 【NumPy】NumPy线性代数模块详解：掌握numpy.linalg的核心功能

&#x1f9d1; 博主简介&#xff1a;阿里巴巴嵌入式技术专家&#xff0c;深耕嵌入式人工智能领域&#xff0c;具备多年的嵌入式硬件产品研发管理经验。 &#x1f4d2; 博客介绍&#xff1a;分享嵌入式开发领域的相关知识、经验、思考和感悟&#xff0c;欢迎关注。提供嵌入式方向…

### HQChart使用教程99-K线窗口设置上下间距

HQChart使用教程99-K线窗口设置上下预留间距 指标窗口布局说明设置预留间距数据结构通过Setoption设置通过ChangeIndex设置 HQChart代码地址 指标窗口布局说明 顶部预留间距(3)和底部预留间距(5) 这个部分是算在Y轴坐标上的 设置预留间距 数据结构 HorizontalReserved&#…

### 代码随想录算法训练营第36期DAY35

DAY35 122买卖股票的最佳时机ii 很巧妙&#xff0c;也很难想到&#xff1a;计算每天的利润&#xff08;今天卖出&#xff0c;昨天买入的利润&#xff09;&#xff0c;只取正数相加。 class Solution {public: int maxProfit(vector<int>& prices) { int…

### JAVA云HIS医院系统源码 云HIS运维平台源码 融合B/S版电子病历系统，支持电子病历四级，saas模式

JAVA云HIS医院系统源码 云HIS运维平台源码 融合B/S版电子病历系统&#xff0c;支持电子病历四级&#xff0c;saas模式 HIS系统就是医院信息管理系统&#xff0c;HIS系统是整个医院信息化的核心&#xff0c;门诊、住院、药房、药库等都是由HIS系统来承载起来的&#xff0c;所以…

### python中的空语句以及对于条件语句的总结

if条件&#xff1a; 代码块 if条件&#xff1a; 代码块1 else&#xff1a; 代码块2 if条件1&#xff1a; 代码块1 elif条件2&#xff1a; 代码块2 else&#xff1a; 代码块3

### 【class18】人工智能初步----语音识别（4）

【class17】 上节课&#xff0c;我们学习了: 语音端点检测的相关概念&#xff0c;并通过代码切分和保存了音频。 本节课&#xff0c;我们将学习这些知识点&#xff1a;1. 序列到序列模型2. 循环神经网络3. 调用短语音识别接口 知其然&#xff0c;知其所以然 在调用语…