1 算术运算符

算术运算符(arithmetic)是对数值类型的变量进行运算的,在Scala程序中使用的非常多。

细节说明:

1)对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。 例如:var x : Int = 10/3 ,结果是 3

2)当对一个数取模时,可以等价 a%b=a-a/b*b , 这样我们可以看到取模的一个本质运算(和java 的取模规则一样)。

3)注意:Scala中没有++、--操作符,需要通过+=、-=来实现同样的效果

2 关系运算符(比较运算符)

关系运算符的结果都是boolean型,也就是要么是true,要么是false

关系表达式 经常用在 if结构的条件中或循环结构的条件中

关系运算符的使用和java一样

细节说明:

1) 关系运算符的结果都是Boolean型,也就是要么是true,要么是false。

2)关系运算符组成的表达式,我们称为关系表达式。 a > b

3)比较运算符“==”不能误写成“=”

4)使用陷阱: 如果两个浮点数进行比较,应当保证数据类型一致.

3 逻辑运算符

假定变量 A 为 true,B 为 false

4 赋值运算符

赋值运算符就是将某个运算后的值,赋给指定的变量。

说明:这部分的赋值运算涉及到二进制相关知识,其运行的规则和Java一样。

赋值运算符特点

1)运算顺序从右往左

2)赋值运算符的左边 只能是变量,右边 可以是变量、表达式、常量值/字面量

3)复合赋值运算符等价于下面的效果 比如:a+=3 等价于a=a+3

5 位运算符

说明: 位运算符的规则和Java一样

 运算符优先级

1) 运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序。如右表,上一行运算符总优先于下一行

2) 只有单目运算符、赋值运算符是从右向左运算的。

3)运算符的优先级和Java一样。

小结运算符的优先级

1.() [] 2.单目运算 3.算术运算符 4.移位运算 5.比较运算符(关系运算符) 6.位运算 7.关系运算符 8.赋值运算

Scala 基础(七):Scala 运算符的更多相关文章

  1. SCALA基础知识学习

    注:本文只说和Java不同的地方. 总结自: Scala详细教程 Scala教程 scala基础语法 Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ";" 是 ...

  2. 【Scala学习之一】 Scala基础语法

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk1.8 scala-2.10.4(依赖jdk1.8) spark ...

  3. 第一章 Scala基础篇

    目录 一.Scala基础语法 (一) 变量.类型.操作符 1.变量申明 2.字符串 3.数据类型 4.操作符 (二)循环判断 1.块表达式 2.条件表达式 3.循环表达式 (三)方法和函数 1.方法 ...

  4. Scala系统学习(三):Scala基础语法

    如果您熟悉Java语言语法和编程,那么学习Scala将会很容易.Scala和Java之间最大的句法差异在于行结束字符的分号(;) 是可选的. 当编写Scala程序时,它可以被定义为通过调用彼此的方法进 ...

  5. Spark记录-Scala基础语法

    如果您熟悉Java语言语法和编程,那么学习Scala将会很容易.Scala和Java之间最大的句法差异在于行结束字符的分号(;) 是可选的. 当编写Scala程序时,它可以被定义为通过调用彼此的方法进 ...

  6. (数据科学学习手札45)Scala基础知识

    一.简介 由于Spark主要是由Scala编写的,虽然Python和R也各自有对Spark的支撑包,但支持程度远不及Scala,所以要想更好的学习Spark,就必须熟练掌握Scala编程语言,Scal ...

  7. 1.scala基础语法总结

    Scala基础语法总结:Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的.如果一行里写多个语句那么分号是需要的 val s = "菜鸟教程"; pr ...

  8. Scala 基础(3)—— 基础类型和基础操作

    1. Scala 的一些基础类型 Scala 提供了 8 种基础类型,对应 Java 的 8 种基本数据类型. 其中包括: 整数类型:Byte, Short, Int, Long, Char 浮点类型 ...

  9. Scala基础知识[一]

    摘要:在Scala 是 Scalable Language 的简写,是一门多范式(multi-paradigm)的编程语言.设计初衷是要集成面向对象编程和函数式编程的各种特性.Scala 运行在Jav ...

  10. Scala基础语法 (一)

    如果你之前是一名 Java 程序员,并了解 Java 语言的基础知识,那么你能很快学会 Scala 的基础语法. Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的. 我 ...

随机推荐

  1. TensorFlow从0到1之TensorFlow逻辑回归处理MNIST数据集(17)

    本节基于回归学习对 MNIST 数据集进行处理,但将添加一些 TensorBoard 总结以便更好地理解 MNIST 数据集. MNIST由https://www.tensorflow.org/get ...

  2. turtle 画国旗

    代码实现: import turtle import time import os def draw_square(org_x, org_y, x, y): turtle.setpos(org_x, ...

  3. os模块查看系统数据

    >>> import os >>> os.name # 操作系统类型 'posix' 如果是posix,说明系统是Linux.Unix或Mac OS X,如果是nt ...

  4. openresty用haproxy2.0实现负载均衡

    安装openresty 编译安装 yum install pcre-devel openssl-devel gcc curl wget wget https://openresty.org/downl ...

  5. pikachu 搭建

    一:首先下载XAMPP 1.先到官方网站安装XAMPP  https://www.apachefriends.org/zh_cn/index.html 选择适合自己的电脑系统下载,本次windows系 ...

  6. Eplan PLC连接点模块为什么不显示“路径功能文本”,已解决

    Eplan PLC连接点模块为什么不显示“路径功能文本”,已解决 如果“路径功能文本”的文字开头的位置没有对准PLC模块的中心,PLC连接点模块就不会显示.

  7. 电商安全无小事,如何有效抵御 CSRF 攻击?

    现在,我们绝大多数人都会在网上购物买东西.但是很多人都不清楚的是,很多电商网站会存在安全漏洞.乌云就通报过,国内很多家公司的网站都存在 CSRF 漏洞.如果某个网站存在这种安全漏洞的话,那么我们在购物 ...

  8. Jmeter各种组件

    断言 用于检查测试中得到的响应数据等是否符合预期,用以保证性能测试过程中的数据交互与预期一致 参数化关联 参数化:指对每次发起的请求,参数名称相同,参数值进行替换,如登录三次系统,每次用不同的用户名和 ...

  9. 15.DRF-分页

    Django rest framework(6)----分页 第一种分页 PageNumberPagination 基本使用 (1)urls.py urlpatterns = [ re_path('( ...

  10. 黎活明8天快速掌握android视频教程--14_把文件存放在SDCard

    把文件保存在手机的内部存储空间中 1 首先必须在清单文件中添加权限 <?xml version="1.0" encoding="utf-8"?> & ...