1、算数运算符

与java基本一样,只有个别细节不一样

(1)、除法的区别:整数/整数 结果为整数(小数部分直接舍掉了);小数/整数 结果为小数;

例如:val result = 10.0 / 3

println(result.formatted("%.2f"))     //输出结果为3.33,%.2f 表示浮点数保留两位小数

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

注意:java中引用类型判断两者是否相等需要用 equals(),引用类型用"=="是判断引用地址是否相同;

scala中引用类型判断两者是否相等可直接用 ==;判断引用地址是否相同用 eq();

3、逻辑运算符

用于连接多个条件(一般来讲就是关系表达式),最终的结果也是一个Boolean值;

可实现短路计算(逻辑与,其中一个为假,结果为假;逻辑或,其中一个为真,结果为真)

假定变量A为true,变量B为false:

注意:逻辑与、逻辑或均为二元运算符,逻辑非为一元运算符;

例如如下实例:

4、赋值运算符

即将某个运算后的值,赋给指定的变量 ;

注意:scala中没有++、--操作符,可通过+=、-=来实现相同的效果;

5、位运算符

下表中变量a=60(0011 1100),b=13(0000 1101):

& : 1 1 为1,其余全为0;         | :0 0 为 0,其余全为1;     ^ :  相同为0,相异为1

《 :整体左移两位,右边补0;

>>> :右移不改变数的正负;对于一个正数,无符号右移不会变成负数;对于一个负数,无符号右移会将负数变成正数

 6、运算符的本质

解析: Int类型的对象调用了  +()  方法 ;println(1.34 toInt() toString()) ;  比java更加面相对象;

未完待续~~~

scala的运算符的更多相关文章

  1. scala 有 + 运算符吗? - 03

    scala 有运算符吗? 答案是没有. package com.msym /** * Created by ACER on 2017/7/4. */ object Demo { def main(ar ...

  2. Scala的运算符优先级:

    运算符优先级决定术语的表达式分组.这会影响一个表达式是如何进行计算.某些运算符的优先级高于其他;例如,乘法运算符的优先级比所述加法运算符优先级更高: 例如X =7 + 3* 2;这里,x 被赋值13, ...

  3. 探索Scala(1)-- 运算符重载

    Scala语言运算符重载全然是语法层面的小把戏,本文记录我对Scala语言运算符重载的一些理解. 方法调用语法糖 调用方法时,Scala同意省略点号和圆括号,如以下代码所看到的: 把运算符映射成单词 ...

  4. scala学习手记7 - 运算符重载

    从语法上来说scala是没有运算符的.之前的一节里也曾提到过scala的运算符实际上是方法名,如1 + 2实际上就是1.+(2).我们可以将之视为运算符,是因为scala的一个特性:如果方法的参数小于 ...

  5. 初识Scala

    scala 是 scalable Language 的简写,是一门多范式的编程语言. scala是一种纯面向对象的语言每个值都是对象, 同时支持大量的函数式特性. scala运行于Java虚拟机(JV ...

  6. Scala学习之路 (三)Scala的基本使用

    一.Scala概述 scala是一门多范式编程语言,集成了面向对象编程和函数式编程等多种特性.scala运行在虚拟机上,并兼容现有的Java程序.Scala源代码被编译成java字节码,所以运行在JV ...

  7. Scala学习随笔——深入类和对象

    函数化对象(又称方程化对象)指的是所定义的类或对象不包含任何可以修改的状态. 本篇随笔就是着重记录函数化对象.定义了一个有理数类定义的几个不同版本,以介绍 Scala 类定义的几个特性:类参数和构造函 ...

  8. 1、Scala安装与基础

    1.scala与java 2.安装 3.scala编译器 4.变量声明 5.数据类型 6.操作符 7.函数调用 8.apply函数 1.scala与java scala基于java虚拟机,所有scal ...

  9. Hadoop学习(8)-scala环境配置及简单使用

    学习scala的原因主要是因为以后要学习spark. scala是运行在java虚拟机上的,它是一种面向对象和函数式编程结合的语言,并兼容java程序 相对于java更简单 安装scala前提你要保证 ...

  10. 第一章 Scala基础篇

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

随机推荐

  1. Babel与webpack

    一.基础认知1 babel是js编译器,将新版本js代码转换成大多数浏览器支持的es5,es3代码 浏览器其实也不认识require函数,bable配合webpack解决模块的问题: 主要编译的是语法 ...

  2. Linux上的I2C基础知识

    Linux上的I2C基础知识 什么是I2C I2C(Inter-Integrated Circuit,eye-squared-C),也称为 I2C 或 IIC,是一种同步.多控制器/多目标(主/从). ...

  3. docker镜像的获取、查看、删除、docker镜像管理、docker容器管理

    在不想弄乱本地及其环境下该如何进行系软件的安装? 下载安装docker工具 获取该软件的docker镜像(你以后想要用各种工具,基本都能够搜索docker search nginx:版本号到合适的镜像 ...

  4. SAP Process Orchestration (SAP PO): The Comprehensive Guide (2nd Edition) (SAP PRESS)

    SAP Process Orchestration (SAP PO): The Comprehensive Guide (2nd Edition) (SAP PRESS) 有需要的联系 wx :erp ...

  5. centos7 系统初始化配置

    1.设置ip地址 [root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens192 PROXY_METHOD="none ...

  6. C#textbox更改字体颜色只读后不起作用的解决办法

    textbox的属性ReadOnly设置为true只读后,只更改字体颜色并不起作用. 解决办法是,连同背景色一起设置即可. textBox1.BackColor =textBox1.BackColor ...

  7. D2-Net: Weakly-Supervised Action Localization via Discriminative Embeddings and Denoised Activations概述

    1.针对的问题 目前大多数弱监督动作定位方法通常依赖于分离前景和背景区域(前-背景分离)学习TCAMs,但是在弱监督设置下,学习到的TCAM会存在噪声,而这些方法并没有明确地处理其噪声输出. 2.主要 ...

  8. 打卡node day01--基础和fs内置模块

    一, 检查 node 版本 node -v 或 node --version 二,检查安装过的node 版本(nvm node 版本管理工具  安装链接 参考百度) nvm ls 三,切换node 版 ...

  9. pgsql表结构复制

    CREATE TABLE pavement_damage_dtl_temp(like pavement_damage_dtl); 搜索 复制

  10. SQL中使用JOIN时,过滤条件的位置

    sql语句 (SELECT * FROM t1 WHERE {subquery_where_condition}) a JOIN (SELECT * FROM t2 WHERE {subquery_w ...