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. BUU刷题记录

    [GWCTF 2019]mypassword xss+csp 打开页面可以注册登录 登进去提示不是sql注入 然后提示源码 看一下 然后有段后端代码写道了注释里 <!-- if(is_array ...

  2. BP神经网络及手工搭建神经网络

    import pandas as pd import numpy as np import matplotlib.pyplot as plt def sigmoid(x): # 定义网络激活函数 re ...

  3. (python)json 格式文件

    Json 数据格式: python 的内置模块: json 格式数据声明只能有一层顶级层(字典格式,可以是任意对象,如字符串,列表等,但实际工作中一般为字典对象,) json 对象本质是一个字符串对象 ...

  4. vue2的响应式原理

    响应式的话,主要指的是这个状态改变以后,视图要去主动更新 这个过程,vue是通过两个步骤来实现的 1 数据的劫持 数据劫持也叫做数据拦截,通过Object.defineProperty来把对象中的每一 ...

  5. ADC多通道采样DMA传输模板

    void MyADC_Init(void){ ADC_InitTypeDef ADC_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; DMA_I ...

  6. Idea Diff工具介绍

    背景 项目中有大量的数据对比工作,需要生成文件,与旧文件进行对比,自动化对比和手工对比验证,自动化对比采用java-diff工具类或者手动去除换行空格注释,进行字符串对比,手动化对比可以采用git d ...

  7. Vue + Element table中的某行触发enter事件后,使该行disabled

    废话不罗嗦,上硬菜. 1.html下: <el-table-column label="名称" sortable> <template slot-scope=&q ...

  8. 思科vlan简单配置

    实验拓扑 实验目标:2台交换机,4台pc,分别处于10,20vlan中可以跨交换机相互通信 tips:vlan是2层技术 可以配置在交换机上 实验ip PC2 10.1.1.2/24 PC1 10.1 ...

  9. about namespace

    once you specify to use a certain namespace such as "{using namespace1;...}", you need to ...

  10. 前后端API交互数据加密——AES与RSA混合加密完整实例(转载)

    前言 前段时间看到一篇文章讲如何保证API调用时数据的安全性(传送门:https://blog.csdn.net/ityouknow/article/details/80603617),文中讲到利用R ...