scala的运算符
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的运算符的更多相关文章
- scala 有 + 运算符吗? - 03
scala 有运算符吗? 答案是没有. package com.msym /** * Created by ACER on 2017/7/4. */ object Demo { def main(ar ...
- Scala的运算符优先级:
运算符优先级决定术语的表达式分组.这会影响一个表达式是如何进行计算.某些运算符的优先级高于其他;例如,乘法运算符的优先级比所述加法运算符优先级更高: 例如X =7 + 3* 2;这里,x 被赋值13, ...
- 探索Scala(1)-- 运算符重载
Scala语言运算符重载全然是语法层面的小把戏,本文记录我对Scala语言运算符重载的一些理解. 方法调用语法糖 调用方法时,Scala同意省略点号和圆括号,如以下代码所看到的: 把运算符映射成单词 ...
- scala学习手记7 - 运算符重载
从语法上来说scala是没有运算符的.之前的一节里也曾提到过scala的运算符实际上是方法名,如1 + 2实际上就是1.+(2).我们可以将之视为运算符,是因为scala的一个特性:如果方法的参数小于 ...
- 初识Scala
scala 是 scalable Language 的简写,是一门多范式的编程语言. scala是一种纯面向对象的语言每个值都是对象, 同时支持大量的函数式特性. scala运行于Java虚拟机(JV ...
- Scala学习之路 (三)Scala的基本使用
一.Scala概述 scala是一门多范式编程语言,集成了面向对象编程和函数式编程等多种特性.scala运行在虚拟机上,并兼容现有的Java程序.Scala源代码被编译成java字节码,所以运行在JV ...
- Scala学习随笔——深入类和对象
函数化对象(又称方程化对象)指的是所定义的类或对象不包含任何可以修改的状态. 本篇随笔就是着重记录函数化对象.定义了一个有理数类定义的几个不同版本,以介绍 Scala 类定义的几个特性:类参数和构造函 ...
- 1、Scala安装与基础
1.scala与java 2.安装 3.scala编译器 4.变量声明 5.数据类型 6.操作符 7.函数调用 8.apply函数 1.scala与java scala基于java虚拟机,所有scal ...
- Hadoop学习(8)-scala环境配置及简单使用
学习scala的原因主要是因为以后要学习spark. scala是运行在java虚拟机上的,它是一种面向对象和函数式编程结合的语言,并兼容java程序 相对于java更简单 安装scala前提你要保证 ...
- 第一章 Scala基础篇
目录 一.Scala基础语法 (一) 变量.类型.操作符 1.变量申明 2.字符串 3.数据类型 4.操作符 (二)循环判断 1.块表达式 2.条件表达式 3.循环表达式 (三)方法和函数 1.方法 ...
随机推荐
- pyg安装
pyg官网:pytorch_geometric documentation (pytorch-geometric.readthedocs.io) win安装pyg各种报错,原因在于pytorch和py ...
- MTK平台总结
1. 通过cmdline参数不对printk打印速率进行限制:mt_boot.c kcmdline_append(" ignore_loglevel=1 printk.devkmsg=on ...
- 230222 Radiated Immunity Pre-compliance Test
Hello everyone, welcome to Mach1 Design EMC channel. Last time we talked about how to set up a radia ...
- 批处理命令for循环(cmd命令)
记录一下: https://www.cnblogs.com/Braveliu/p/5081087.html
- CCCC L3-032 关于深度优先搜索和逆序对的题应该不会很难吧这件事 【树状数组】
https://pintia.cn/problem-sets/994805046380707840/exam/problems/1518582895035215872 题意 给你一棵树,给定树根,要求 ...
- 【运维】Linux/Ec2挂载卷与NFS搭建实站讲解
英文Network File System(NFS),是由SUN公司研制的UNIX表示层协议(presentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计 ...
- Win10下VM虚拟机桥接模式无法上网的相关问题?
首先:在LR中点击虚拟机->设置,勾选桥接模式,勾选之后无法上网 1. 选中虚拟网卡VMnet8(NAT模式)和WLAN(本机)网卡,右键选择"桥接",然后系统创建一个 ...
- 实战记录在 Linux Ubuntu 20.04 安装VNC 远程桌面
Virtual Network Computing (VNC),是一个图形桌面共享系统,允许我们像使用Windows桌面系统一样可视化的使用键盘和鼠标远程控制服务器,当做一台远程的电脑一样. 主要用在 ...
- windows 服务 包装模板
github地址: https://github.com/xl711436/Xiaolei.MockService 在 MockServiceInstance.cs 中 对应的方法中添加 对应的逻辑 ...
- Spark之详解及性能优化
一.spark简介 Apache Spark是一个围绕速度.易用性和复杂分析构建的大数据处理框架. Spark是用Scala程序设计语言编写而成,运行于Java虚拟机(JVM)环境之上.目前支持如下程 ...