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.方法 ...
随机推荐
- BUU刷题记录
[GWCTF 2019]mypassword xss+csp 打开页面可以注册登录 登进去提示不是sql注入 然后提示源码 看一下 然后有段后端代码写道了注释里 <!-- if(is_array ...
- BP神经网络及手工搭建神经网络
import pandas as pd import numpy as np import matplotlib.pyplot as plt def sigmoid(x): # 定义网络激活函数 re ...
- (python)json 格式文件
Json 数据格式: python 的内置模块: json 格式数据声明只能有一层顶级层(字典格式,可以是任意对象,如字符串,列表等,但实际工作中一般为字典对象,) json 对象本质是一个字符串对象 ...
- vue2的响应式原理
响应式的话,主要指的是这个状态改变以后,视图要去主动更新 这个过程,vue是通过两个步骤来实现的 1 数据的劫持 数据劫持也叫做数据拦截,通过Object.defineProperty来把对象中的每一 ...
- ADC多通道采样DMA传输模板
void MyADC_Init(void){ ADC_InitTypeDef ADC_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; DMA_I ...
- Idea Diff工具介绍
背景 项目中有大量的数据对比工作,需要生成文件,与旧文件进行对比,自动化对比和手工对比验证,自动化对比采用java-diff工具类或者手动去除换行空格注释,进行字符串对比,手动化对比可以采用git d ...
- Vue + Element table中的某行触发enter事件后,使该行disabled
废话不罗嗦,上硬菜. 1.html下: <el-table-column label="名称" sortable> <template slot-scope=&q ...
- 思科vlan简单配置
实验拓扑 实验目标:2台交换机,4台pc,分别处于10,20vlan中可以跨交换机相互通信 tips:vlan是2层技术 可以配置在交换机上 实验ip PC2 10.1.1.2/24 PC1 10.1 ...
- about namespace
once you specify to use a certain namespace such as "{using namespace1;...}", you need to ...
- 前后端API交互数据加密——AES与RSA混合加密完整实例(转载)
前言 前段时间看到一篇文章讲如何保证API调用时数据的安全性(传送门:https://blog.csdn.net/ityouknow/article/details/80603617),文中讲到利用R ...