当前位置: 首页 > news >正文

scala基础_数据类型概览

Scala 数据类型

下表列出了 Scala 支持的数据类型:

类型类别数据类型描述Scala标准库中的实际类
基本类型Byte8位有符号整数,数值范围为 -128 到 127scala.Byte
基本类型Short16位有符号整数,数值范围为 -32768 到 32767scala.Short
基本类型Int32位有符号整数,数值范围为 -2147483648 到 2147483647scala.Int
基本类型Long64位有符号整数,数值范围为 -9223372036854775808 到 9223372036854775807scala.Long
基本类型Float32位IEEE 754单精度浮点数scala.Float
基本类型Double64位IEEE 754双精度浮点数scala.Double
基本类型Char16位无符号Unicode字符,数值范围为 U+0000 到 U+FFFFscala.Char
基本类型String字符串类型,表示字符序列java.lang.String
基本类型Boolean布尔类型,值为 truefalsescala.Boolean
集合类型List不可变链表scala.collection.immutable.List
集合类型Set不可变集合scala.collection.immutable.Set
集合类型Map不可变键值对集合scala.collection.immutable.Map
集合类型Array可变数组scala.Array
集合类型Tuple可包含不同类型元素的不可变容器scala.TupleN
集合类型Option代表有可能含有值或为空的容器scala.Option
集合类型Either表示两种可能的值类型之一scala.util.Either
集合类型Try处理操作结果可能成功或失败的容器scala.util.Try
特殊类型Unit表示无值,相当于Java中的 voidscala.Unit
特殊类型Null单例对象,表示所有引用类型的空值scala.Null
特殊类型Nothing表示无返回值类型,是所有类型的子类型scala.Nothing
特殊类型Any所有类型的超类型scala.Any
特殊类型AnyRef所有引用类型的超类型,等价于Java中的 Objectscala.AnyRef
import scala.util.{Try}object DataObject {def main(args:Array[String]):Unit = {// 基本数据类型整形// 8位val byteValue: Byte = -128// 16位val shortValue: Short = 32767// 32位置val intval: Int = 2147483647// 64位置val longValue: Long =9999999999999999L// 打印输出println(byteValue)println(shortValue)println(intval)println(longValue)//浮点型// 32位val floatValue: Float = 0.333333333333333f// 64位val doublevalue: Double = 0.33333666699999988877println(floatValue)println(doublevalue)//字符类型// 单一字符 单引号包围 可变val charvalue:Char = 'A'// 字符序列 双引号包围 不能修改其中的单个字符val stirngvalue:String = "abcdefg"println(charvalue)println(stirngvalue)//布尔值val boolvalue:Boolean = trueval boolvalue2:Boolean = falseprint(boolvalue); println(boolvalue2)//集合类型// 不可变链表val listValue: List[Any] = List(1,2,3,4,"ldsx")// 不可变集合val setvalue:Set[Int] = Set(1,1,1,1,2,3,33)// 不可变键值对集合val mapvalue: Map[Any,Any] = Map("LDSX"->123,123->"6666","bl"->654)// 可变数组val arrayvalue:Array[Int] = Array(6584,456,555)// 元组 可包含不同类型元素的不可变容器val tuplevalue:(Any) = (1,3,4,5)// 代表有可能含有值或为空的容器val optionvalue:Option[String] = Some("AS WE KNOW")// 表示两种可能的值类型之一val eithervalue:Either[Any,Any] = Right(42)// 处理操作结果可能成功或失败的容器val  tryvalue:Try[Int] = Try(6)println(listValue)println(setvalue)println(mapvalue)println(arrayvalue)println(tuplevalue)println(optionvalue)println(eithervalue)println(tryvalue)//特殊类型//表示无值val unitvalue: Unit = ()// 单例对象,表示所有引用类型的空值val nullvalue: String= nullprintln(unitvalue)println(nullvalue)}
}

打印显示

-128
32767
2147483647
9999999999999999
0.33333334
0.33333666699999986
A
abcdefg
truefalseList(1, 2, 3, 4, ldsx)
Set(1, 2, 3, 33)
Map(LDSX -> 123, 123 -> 6666, bl -> 654)
[I@4de8b406
(1,3,4,5)
Some(AS WE KNOW)
Right(42)
Success(6)()
null

相关文章:

scala基础_数据类型概览

Scala 数据类型 下表列出了 Scala 支持的数据类型: 类型类别数据类型描述Scala标准库中的实际类基本类型Byte8位有符号整数,数值范围为 -128 到 127scala.Byte基本类型Short16位有符号整数,数值范围为 -32768 到 32767scala.Short基本类型I…...

【重生之我要苦学C语言】文件操作

文件操作 为什么使用文件 如果没有文件,我们写的程序的数据是存储在电脑的内存中,如果程序退出,内存回收,数据就丢失了,等再次运行程序,是看不到上次程序的数据的,如果要将数据进行持久化的保…...

Python中PyTorch详解

文章目录 Python中PyTorch详解一、引言二、PyTorch核心概念1、张量(Tensor)1.1、创建张量1.2、张量操作 2、自动求导(Autograd)2.1、自动求导示例 三、构建神经网络1、使用nn模块2、优化器(Optimizer) 四、…...

Codigger SIDE之Helix编辑器

在Codigger的多维世界中,Helix编辑器以其卓越的性能和灵活性,成为开发者手中的利剑。基于Rust构建,Helix不仅继承了Vim编辑器的经典特性,更以其现代化的功能,重新定义了代码编辑的边界。 模式切换的艺术 Helix的模式切…...

vue3+echarts+websocket分时图与K线图实时推送

一、父组件代码&#xff1a; <template> <div class"chart-box" v-loading"loading"> <!-- tab导航栏 --> <div class"tab-box"> <div class"tab-list"> <div v-for"(item, index) in tabList…...

Maven常用插件清单

Maven 是一个强大的项目管理和构建工具&#xff0c;它使用插件来执行各种构建生命周期任务。以下是常用的一些 Maven 构建插件及其主要用途&#xff1a; 1. Maven Compiler Plugin 用途&#xff1a;编译Java源代码。配置示例&#xff1a;<build><plugins><plu…...

敏捷项目管理

虽然一直在践行敏捷开发&#xff0c;包括站会、尝试使用Confluence做知识wiki、每周分享等等&#xff0c;当然项目日常使用的coding、禅道、jira 项目管理和 jenkins 、git之类的CICD工具更不必说&#xff0c;但确实没有系统地去学习过敏捷开发管理。昨天被人问到敏捷开发到底是…...

牛客小白月赛107(A~E)

文章目录 A Cidoai的吃饭思路code B Cidoai的听歌思路code C Cidoai的植物思路code D Cidoai的猫猫思路code E Cidoai的可乐思路code 牛客小白月赛107 A Cidoai的吃饭 思路 签到题&#xff0c;按题意模拟即可 code void solve(){int n,a,b,c;cin >> n >> a &g…...

【传感器技术】第6章 压电式传感器,压电材料,压电效应,电压放大器

关注作者了解更多 我的其他CSDN专栏 过程控制系统 工程测试技术 虚拟仪器技术 可编程控制器 工业现场总线 数字图像处理 智能控制 传感器技术 嵌入式系统 复变函数与积分变换 单片机原理 线性代数 大学物理 热工与工程流体力学 数字信号处理 光电融合集成电路…...

基于Python深度学习的【猫狗宠物识别】系统设计实现

一、简介 宠物识别系统&#xff0c;本系统使用Python作为主要开发语言&#xff0c;基于TensorFlow搭建卷积神经网络算法&#xff0c;并收集了37种常见的猫狗宠物种类数据集【‘阿比西尼亚猫&#xff08;Abyssinian&#xff09;’, ‘孟加拉猫&#xff08;Bengal&#xff09;’…...

网站多语言前端翻译translate.js 在vue项目中的使用方法

网站多语言前端翻译translate.js 在vue项目中的使用方法 需求 客户网站&#xff0c;想要多语言版本的&#xff0c;通常的解决办法有两种&#xff1a; 1、最直接的办法&#xff1a;编写两种&#xff0c;或者多种语言版本的网站&#xff0c;也就是一个网站有几种语言&#xff0…...

HTML技术贴:深入理解与实践

1. 引言 HTML&#xff08;HyperText Markup Language&#xff0c;超文本标记语言&#xff09;是构建网页和网上应用的标准标记语言。它定义了网页内容的结构和意义&#xff0c;由一系列元素组成&#xff0c;这些元素告诉浏览器如何展示内容。本技术贴旨在深入探讨HTML的核心技…...

在SQL Server中使用hash join来提高表连接的性能

在SQL Server中使用hash join来提高表连接性能时&#xff0c;需要考虑数据集的大小、索引情况以及查询的具体需求。 在SQL Server中使用hash join来提高表连接性能的情况主要包括以下几种&#xff1a; • 两个表都没有合适的索引&#xff1a;Hash join通常适合当两个表都没有索…...

一键学懂BurpSuite(8)

声明&#xff01; 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章&#xff0c;笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他均与本人以及泷羽sec团队无关&#…...

系统思考—战略决策

别用管理上的勤奋&#xff0c;来掩盖经营上的懒惰。 日本一家物业公司&#xff0c;因经营不善&#xff0c;面临生死存亡的危机。老板为了扭转局面&#xff0c;采取了很多管理手段——提高员工积极性&#xff0c;推行业绩与绩效挂钩&#xff0c;实施各种考核制度。然而&#xf…...

mybatis,mysql之collection 与 association 不生效问题(仅是个人常犯错误)

因为自己马大哈&#xff0c;经常犯这个错误&#xff0c;原以为是拷贝的代码问题&#xff0c;最后发现是自己的遗漏问题&#xff01; 看代码&#xff0c;先看不生效的 <resultMap type"Price" id"PriceResult"><id property"priceId&qu…...

探索 Echarts 绘图:数据可视化的奇妙之旅

目录 一、Echarts 初印象 二、搭建 Echarts 绘图环境 三、绘制第一个图表&#xff1a;柱状图的诞生 四、图表的美化与定制&#xff1a;让数据更具吸引力 1. 主题切换&#xff1a;一键变换风格 2. 颜色调整&#xff1a;色彩搭配的艺术 3. 标签与提示框&#xff1a;丰富信…...

Python粉色圣诞树

系列文章 序号直达链接表白系列1Python制作一个无法拒绝的表白界面2Python满屏飘字表白代码3Python无限弹窗满屏表白代码4Python李峋同款可写字版跳动的爱心5Python流星雨代码6Python漂浮爱心代码7Python爱心光波代码8Python普通的玫瑰花代码9Python炫酷的玫瑰花代码10Python多…...

JavaScript逆向时,常用的11个hook

提示:记录工作中遇到的需求及解决办法 文章目录 前言01、dom操作02、Cookie操作03、事件监听操作04、AJAX拦截操作05、函数替换操作06、Header操作07、URL操作08、JSON.stringify操作09、JSON.parse操作10、eval操作11、Function操作前言 在逆向分析JavaScript代码时,开发者…...

嵌入式驱动开发详解15(电容触摸屏gt9147)

文章目录 前言电容触摸屏特点MT触摸消息电容触摸屏协议电容屏触摸时序Type A 触摸点信息上报时序Type B 触摸点信息上报时序 多点触摸所使用到的API函数 驱动部分驱动框图设备树节点修改设备树引脚配置设备节点配置 具体驱动开发I2C驱动框架I2C框架内部实现 参考文献 前言 随着…...

supervision - 好用的计算机视觉 AI 工具库

Supervision库是一款出色的Python计算机视觉低代码工具&#xff0c;其设计初衷在于为用户提供一个便捷且高效的接口&#xff0c;用以处理数据集以及直观地展示检测结果。简化了对象检测、分类、标注、跟踪等计算机视觉的开发流程。开发者仅需加载数据集和模型&#xff0c;就能轻…...

软件安装不成功,一直出现“chrome_elf.dll丢失”问题是什么原因?“chrome_elf.dll丢失”要怎么解决和预防?

软件安装遇阻&#xff1a;“chrome_elf.dll丢失”问题全解析与解决方案 在软件安装与运行的过程中&#xff0c;我们时常会遇到各式各样的错误提示&#xff0c;其中“chrome_elf.dll丢失”便是较为常见的一种。这个错误不仅阻碍了软件的正常安装&#xff0c;也给用户带来了不小…...

10篇--图像噪点消除

概念 何为噪点&#xff1f; 噪点&#xff1a;指图像收到的一些干扰因素&#xff0c;通常是由图像采集设备、传输信道等因素造成的&#xff0c;表现为图像中随机的亮度&#xff0c;也可以理解为有那么一些点的像素值与周围的像素值格格不入。 常见的噪声类型 高斯噪声&#…...

在 Vue 2 中,在 <el-table> 中为每一行动态插入对应的 echart 组件

更新数据结构:确保每一行数据都包含需要绘制图表的数据(例如 demandRespList 和 timeList),以便为每行生成不同的图表。 修改 getTableDataPreview 方法:在获取数据后,您需要为每一行创建对应的图表配置。 在 <el-table-column> 中使用 slot-scope:使用 slot-scop…...

protobuf c++开发快速上手指南

1、环境准备 在c环境使用 protobuf&#xff0c;需要安装protobuf runtime以及protobuf的编译器&#xff1a;protoc&#xff0c;其作用如下表格&#xff1a; 需要安装的环境作用protoc将proto文件编译成c源码protobuf runtime编译c源码需要链接到protobuf库 注意&#xff1a;…...

【HTML】HTML动画时钟

今天分享一个比较有趣的HTML动画时钟&#xff0c;感兴趣的小伙伴可以自行上手体验一番&#xff0c;操作也非常简单&#xff0c;如下&#xff1a; 1. 实操 实践操作步骤&#xff1a; 创建一个文本文件 clock.txt将上述代码粘贴到 clock.txt 中。修改文件后缀&#xff0c;将文…...

2024年全国仿真创新应用大赛 | MWORKS助力“复杂系统数字仿真”赛道,获奖名单公布

2024年全国仿真创新应用大赛全国总决赛于近日圆满落幕。大赛由工业和信息化部人才交流中心主办&#xff0c;以“创新引领&#xff0c;铸就未来”为主题&#xff0c;来自全国的参赛院校、企业、医学科学单位、军事科学单位及仿真领域的科研院所共计422家、近1300余人参加了此次总…...

ionic V6 安装ios所需

npm install capacitor/ios添加ios平台 ruby要求3.0以上 rvm use ruby-3.1.0 --default npx cap add ios打开xcode看看创建的项目 npx cap open ios没有capacitor指定的位置, 估计之前pod(cocoapods)安装搞得Ruby环境很乱了......cocoapods整的我麻了... App/App/capacitor…...

Docker Compose 多应用部署 一键部署

介绍 Docker Compose通过一个单独的docker-compose.yml模板文件(YAML格式)来定义一组相关联的应用容器&#xff0c;帮助我们实现多个相互关联的Docker容器的快速部署。 如&#xff1a;springbootmysqlnginx 如果一个个去部署他会非常的麻烦&#xff0c;这时候可以选择Docker …...

ubuntu20.04安装qt creator

以上三种&#xff0c;选择其一安装即可 回答1&#xff1a; 您可以按照以下步骤在ubuntu 20.04上安装Qt Creator&#xff1a; 打开终端并输入以下命令以更新软件包列表&#xff1a; sudo apt update 安装Qt Creator和Qt库&#xff1a; sudo apt install qtcreator qt5-def…...

经典NLP案例 | 推文评论情绪分析:从数据预处理到模型构建的全面指南

NLP经典案例&#xff1a;推文评论情绪提取 项目背景 “My ridiculous dog is amazing.” [sentiment: positive] 由于所有推文每秒都在传播&#xff0c;很难判断特定推文背后的情绪是否会影响一家公司或一个人的品牌&#xff0c;因为它的病毒式传播&#xff08;积极&#xff0…...

蓝卓生态说 | 捷创技术李恺和:把精细管理和精益生产做到极致

成功的产品离不开开放式创新和生态协同的力量。近年来&#xff0c;蓝卓坚持“平台生态"战略&#xff0c;不断加码生态&#xff0c;提出三个层次的开源开放生态计划&#xff0c;举办"春风行动”、“生态沙龙"等系列活动&#xff0c;与生态伙伴共生、共创、共同推…...

启发式搜索算法和优化算法的区别

启发式搜索算法和优化算法在计算机科学中都有广泛的应用&#xff0c;但它们之间存在一些明显的区别。 一、定义与核心思想 启发式搜索算法 定义&#xff1a;启发式搜索算法是一类基于经验和直觉的问题求解方法&#xff0c;通过观察问题的特点&#xff0c;并根据某种指…...

生成树协议STP工作步骤

第一步&#xff1a;选择根桥 优先级比较&#xff1a;首先比较优先级&#xff0c;优先级值越小的是根桥MAC地址比较&#xff1a;如果优先级相同&#xff0c;则比较MAC地址。MAC地址小的是根桥。 MAC地址比较的时候从左往右&#xff0c;一位一位去比 第二步&#xff1a;所有非根…...

批量合并多个Excel到一个文件

工作中&#xff0c;我们经常需要将多个Excel的数据进行合并&#xff0c;很多插件都可以做这个功能。但是今天我们将介绍一个完全免费的独立软件【非插件】&#xff0c;来更加方便的实现这个功能。 准备Excel 这里我们准备了两张待合并的Excel文件 的卢易表 打开的卢易表软件…...

如何在vue中实现父子通信

1.需要用到的组件 父组件 <template><div id"app"><BaseCount :count"count" changeCount"cahngeCount"></BaseCount></div> </template><script> import BaseCount from ./components/BaseCount.v…...

强化学习Q-learning及其在机器人路径规划系统中的应用研究,matlab代码

一、Q-learning 算法概述 Q-learning 是一种无模型的强化学习算法&#xff0c;它允许智能体&#xff08;agent&#xff09;在没有环境模型的情况下通过与环境的交互来学习最优策略。Q-learning的核心是学习一个动作价值函数&#xff08;Q-function&#xff09;&#xff0c;该函…...

【算法】EWMA指数加权移动平均绘制平滑曲线

EWMA&#xff08;Exponentially Weighted Moving Average&#xff0c;指数加权移动平均&#xff09;是一种常用的时间序列平滑技术&#xff0c;特别适用于对过去数据给予不同的权重。以下是对EWMA算法的详细介绍&#xff1a; 一、核心思想 EWMA算法的核心思想是通过指数衰减来…...

jenkins harbor安装

Harbor是一个企业级Docker镜像仓库‌。 文章目录 1. 什么是Docker私有仓库2. Docker有哪些私有仓库3. Harbor简介4. Harbor安装 1. 什么是Docker私有仓库 Docker私有仓库是用于存储和管理Docker镜像的私有存储库。Docker默认会有一个公共的仓库Docker Hub&#xff0c;而与Dock…...

行为树详解(4)——节点参数配置化

【分析】 行为树是否足够灵活强大依赖于足够丰富的各类条件节点和动作节点&#xff0c;在实现这些节点时&#xff0c;不可避免的&#xff0c;节点本身需要有一些参数供配置。 这些参数可以分为静态的固定值的参数以及动态读取设置的参数。 静态参数直接设置为Public即可&…...

在数字孪生开发领域threejs现在的最新版本已经更新到多少了?

在数字孪生开发领域three.js现在的最新版本已经更新到多少了&#xff1f; 在数字孪生开发领域&#xff0c;three.js作为一款强大的JavaScript 3D库&#xff0c;广泛应用于Web3D可视化、智慧城市、智慧园区、数字孪生等多个领域。随着技术的不断进步和需求的日益增长&#xff0…...

UE材质常用节点

Desaturation 去色 饱和度控制 Panner 贴图流动 快捷键P Append 附加 合并 TexCoord UV平铺大小 快捷键U CustomRotator 旋转贴图 Power 幂 色阶 Mask 遮罩 Lerp 线性插值 快捷键L Abs 绝对值 Sin / Cos 正弦/余弦 Saturate 约束在0-1之间 Add 相加 快捷键A Subtra…...

burp(2)利用java安装burpsuite

BurpSuite安装 burpsuite 2024.10专业版&#xff0c;已经内置java环境&#xff0c;可以直接使用&#xff0c; 支持Windows linux macOS&#xff01;&#xff01;&#xff01; 内置jre环境&#xff0c;无需安装java即可使用&#xff01;&#xff01;&#xff01; bp2024.10下载…...

33.攻防世界upload1

进入场景 看看让上传什么类型的文件 传个木马 把txt后缀改为png 在bp里把png改为php 上传成功 用蚁剑连接 在里面找flag 得到...

17、ConvMixer模型原理及其PyTorch逐行实现

文章目录 1. 重点2. 思维导图 1. 重点 patch embedding : 将图形分割成不重叠的块作为图片样本特征depth wise point wise new conv2d : 将传统的卷积转换成通道隔离卷积和像素空间隔离两个部分&#xff0c;在保证精度下降不多的情况下大大减少参数量 2. 思维导图 后续再整…...

【软件工程】一篇入门UML建模图(状态图、活动图、构件图、部署图)

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;软件开发必练内功_十二月的猫的博客-CSDN博客 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前…...

C# winfrom 异步加载数据不影响窗体UI

文章目录 前言一、背景介绍二、使用BackgroundWorker组件实现异步加载数据2.1 添加BackgroundWorker组件2.2 处理DoWork事件 三、延伸内容3.1 错误处理和进度报告3.2 线程安全 结束语优质源码分享 C# winfrom 异步加载数据不影响窗体UI&#xff0c;在 WinForms 应用程序中&…...

Flutter Navigator2.0的原理和Web端实践

01 背景与动机 在Navigator 2.0推出之前&#xff0c;Flutter主要通过Navigator 1.0和其提供的 API&#xff08;如push(), pop(), pushNamed()等&#xff09;来管理页面路由。然而&#xff0c;Navigator 1.0存在一些局限性&#xff0c;如难以实现复杂的页面操作&#xff08;如移…...

latex设置引用顺序

在 LaTeX 中&#xff0c;引用的顺序通常是由所选择的 参考文献样式&#xff08;bibliographystyle&#xff09; 决定的。如果你希望根据引用的顺序排列参考文献&#xff0c;可以选择合适的参考文献样式&#xff0c;并按照以下步骤进行设置。 常见的几种引用顺序设置方式有&…...

有效的括号(字节面试题 最优解)

题目来源 20. 有效的括号 - 力扣&#xff08;LeetCode&#xff09; 题目描述 给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&#xff1a; 左括号必须用相同类型的右括号…...