大数据课程J2——Scala的基础语法和函数

2023-11-15

文章作者邮箱:yugongshiye@sina.cn              地址:广东惠州

 ▲ 本章节目的

⚪ 掌握Scala的基础语法;

⚪ 掌握Scala的函数库;

一、Scala 基础语法一

1. 概述

语句

说明

示例

var

用来声明一个变量,
变量声明后,在程序执行过程中可以被修改。

 def main(args: Array[String]): Unit = {

    var var1=100

    var var2:Int=100

   //变量修改

    var2=200;

    var3="world";

val

用来声明一个常量,
一旦被赋值就不能再进行修改

 

//定义常量,但不允许修改常量

val vall = 100;

//常量修改将报错

vall = 200;

操作符

scala中操作符即方法,方法即操作符

所以 可以认为 scala中并没有传统意义上的操作符 所有的操作符都是方法 所有的方法也都可以像操作符一样去使用

1. 算术运算符

+ - * / %

2. 关系运算符

==  !=  >   <   >=  <=== > < >= <=

3. 逻辑运算符

&&  ||  !

4. 位运算符

~  &  |  ^  <<   >>   >>>

5. 赋值运算符

=  +=  -=   *=   /=   %=

2. 算术运算符

下表列出了Scala支持的算术运算符。

假定变量A为10,B为20:

运算符 描述 实例
+ 加号 A + B 运算结果为 30
- 减号 A - B 运算结果为 -10
* 乘号 A * B 运算结果为 200
/ 除号 A / B 运算结果为 2
% 取余 A % B 运算结果为 0

3. 关系运算符

下表列出了Scala支持的关系运算符。

假定变量A为10,B为20:

运算符 描述 实例
== 等于 ( A == B ) 运算结果为 false
!= 不等于 ( A != B ) 运算结果为 true
> 大于 ( A > B ) 运算结果为 false
< 小于 ( A < B ) 运算结果为 true
>= 大于等于 ( A >= B ) 运算结果为 false
<= 小于等于 ( A <= B ) 运算结果为 true

4. 逻辑运算符

下表列出了Scala支持的关系运算符。

假定变量A为1,B为0:

运算符 描述 实例
&& 逻辑与 ( A && B ) 运算结果为 false
|| 逻辑或 ( A || B ) 运算结果为 true
! 逻辑非 ! ( A && B ) 运算结果为 true

5. 位运算符

位运算符用来对二进制位进行操作,~,&,|,^ 分别为取反,按位与与,按位与或,按位与异或运算,如下实例:

运算符 描述 实例
& 按位与运算符 (a & b) 输出结果12,二进制解释:0000  1100
| 按位或运算符 (a | b) 输出结果61,二进制解释:0011  1101
^ 按位异或运算符 (a ^ b) 输出结果49,二进制解释:0011  0001
~ 按位取反运算符 (~a) 输出结果-61,二进制解释:1100  0011, 在一个有符号二进制数的补码形式。
<< 左移动运算符 a<<2 输出结果240,二进制解释:1111  0000
>> 右移动运算符 a>>2 输出结果15,二进制解释:0000  1111
>>> 无符号右移 a>>>2 输出结果15,二进制解释:0000  1111

6. 赋值运算符

一下列出了Scala语言支持的赋值运算符:

运算符 描述 实例
= 简单的赋值运算,指定右边的操作数赋值给左边的操作数。 C = A + B 将 A + B 的运算结果赋值给 C
+= 相加后再赋值,将左右两边的操作数相加后再赋值给左边的操作数。 C += A 相当于 C = C + A
-= 相减后再赋值,将左右两边的操作数相减后再赋值给左边的操作数。 C -= A 相当于 C = C - A
*= 相乘后再赋值,将左右两边的操作数相乘后再赋值给左边的操作数。 C *= A 相当于 C = C * A
/= 相除后再赋值,将左右两边的操作数相除后再赋值给左边的操作数。 C /= A 相当于 C = C / A
%= 求余后再赋值,将左右两边的操作数求余后再赋值给左边的操作数。 C %= A 相当于 C = C % A

二、Scala 基础语法二

语句

说明

示例

if……else

if……else 判断

if是具有返回值的,if判断后,将执行代码的最后一个表达式的值返回作为整个if执行后的结果。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

大数据课程J2——Scala的基础语法和函数 的相关文章

随机推荐

  • WIndows10系统 安装Anaconda、Pycharm以及在其中导入Pytorch环境(NVIDIA GPU版本)

    WIndows10系统 安装Anaconda Pycharm以及在其中导入Pytorch环境 NVIDIA GPU版本 1 判断电脑是否具有GPU 2 安装Anaconda 3 创建虚拟环境 3 1 利用conda命令创建虚拟环境 4 GP
  • MySQL——卸载重装MySQL失败?

    该问题通常是因为MySQL卸载时 没有完全清除相关信息导致的 解决办法是 把以前的安装目录删除 如果之前安装并未单独指定过服务安装目录 则默认安装目录是 C Program Files MySQL 彻底删除该目录 同时删除MySQL的Dat
  • [QT_024]Qt学习之QByteArray详解

    本文转自 Qt编程指南 作者 奇先生 Qt编程指南 Qt新手教程 Qt Programming Guide 本节学习 QByteArray 的两种用法 第一种作为字符串处理类 类似 QString 但 QByteArray 内部字符编码不确
  • 时间序列预测方法最全总结!

    时间序列预测就是利用过去一段时间的数据来预测未来一段时间内的信息 包括连续型预测 数值预测 范围估计 与离散型预测 事件预测 等 具有非常高的商业价值 需要明确一点的是 与回归分析预测模型不同 时间序列模型依赖于数值在时间上的先后顺序 同样
  • 一文讲透CRC校验码-附赠C语言实例

    一口君最近工作用到CRC校验 顺便整理本篇文章和大家一起研究 一 CRC概念 1 什么是CRC CRC Cyclic Redundancy Checksum 是一种纠错技术 代表循环冗余校验和 数据通信领域中最常用的一种差错校验码 其信息字
  • spark Scala中dataframe的常用关键字:withColumn

    withColumn关键字 用于操作dataframe原表某一列的数据 将操作完的每一行数据形成一列 用来替换一个表原有的列或者在原表后面追加新的列 语法如下 def withColumn colName String col Column
  • 家具商城小程序:连接优质家居产品的桥梁

    随着人们对家居生活品质的追求 家具商城小程序成为提供便捷购物和个性化服务的不可或缺的工具 通过家具商城小程序 用户可以浏览并购买各类家具产品 如沙发 床 桌子等 同时 家具商城小程序还提供个性化的推荐 客户评价和在线客服等功能 家具商城小程
  • JMeter性能测试,完整入门篇

    1 Jmeter简介 Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件 相比Loadrunner而言 JMeter小巧轻便且免费 逐渐成为了主流的性能测试工具 是每个测试人员都必须要掌握的工具之一 本文为JM
  • 【Vue入门】语法 —— 事件处理器、自定义组件、组件通信

    目录 一 事件处理器 1 1 样式绑定 1 2 事件修饰符 1 3 按键修饰符 1 4 常用控制符 1 4 1 常用字符综合案例 1 4 2 修饰符 二 自定义组件 2 1 组件介绍及定义 2 2 组件通信 2 2 1 组件传参 父 gt
  • vim 操作命令大全

    曾经使用了两年多的Vim 手册也翻过一遍 虽然现在不怎么用vim了 曾经的笔记还是贴出来 与喜欢vim的朋友分享 1 关于Vim vim是我最喜欢的编辑器 也是Linux下第二强大的编辑器 虽然emacs是公认的世界第一 我认为使用emac
  • Job for named.service failed because the control process exited with error code.怎么解决

    问题 root localhost systemctl restart named Job for named service failed because the control process exited with error cod
  • 中台战略-第一章、企业数字化转型

    第一章 企业数字化转型 数字经济是当前所有企业在时代都要考虑的问题 不久的将来 他会成为社会经济中的新引擎 也会逐步推动产业互联和企业商业生态的数字化转型 消费者对于产品与服务的升级需求带动着各类触点场景和产品延伸服务的不断变化 云计算 大
  • npm run serve 卡住解决方案

    问题描述 在本地开发vue前端时 使用npm run serve运行vue项目 却运行到40 左右不动 删除node modules依赖包目录 重新npm install 但还是未解决 解决方案 并不是依赖包的问题 而是代码的原因 在vue
  • QNAP 安装nextcloud私有网盘

    下载nextcloud服务端 并上传到web文件夹下 首先安装并开启PHPmyadmin 在app store搜索并下载PHPmyadmin 同时 打开自带的mariadb服务 默认用户名密码就是qnap自己的用户名和密码 也可以更改 然后
  • 设计模式:高性能IO之Reactor模式

    讲到高性能IO绕不开Reactor模式 它是大多数IO相关组件如Netty Redis在使用的IO模式 为什么需要这种模式 它是如何设计来解决高性能并发的呢 最最原始的网络编程思路就是服务器用一个while循环 不断监听端口是否有新的套接字
  • 1. TypeScript 基础类型

    TypeScript 基础类型 1 布尔 数字 字符串类型 let myname string 小米 let age number 18 let bool boolean true console log 1 布尔 数字 字符串类型 myn
  • Mysql join大表优化案例

    一 准备知识 Mysql join原理及结论 1 MySQL join分为 inner join left outer join right outer join full join mysql不支持full join 但是可以利用left
  • hive修改字段及字段类型

    hive修改字段类型语句 alter table 表名 change column 原字段名 新字段名 字段类型 alter table user chain change column u register u registe date
  • VSCode 远程连接服务器-亲测有效

    VSCode 远程连接服务器 前言 步骤 前言 网上教程很多 但是还挺坑 自己试了下整个步骤可以很快解决 首先window10需要用ssh功能 这个在win10已经默认安装 就不在赘述 步骤 SSH插件 首先在vscode中安装插件ssh插
  • 大数据课程J2——Scala的基础语法和函数

    文章作者邮箱 yugongshiye sina cn 地址 广东惠州 本章节目的 掌握Scala的基础语法 掌握Scala的函数库 一 Scala 基础语法一 1 概述 语句 说明 示例 var 用来声明一个变量 变量声明后 在程序执行过程