scala基础_数据类型概览
Scala 数据类型
下表列出了 Scala 支持的数据类型:
| 类型类别 | 数据类型 | 描述 | Scala标准库中的实际类 |
|---|---|---|---|
| 基本类型 | Byte | 8位有符号整数,数值范围为 -128 到 127 | scala.Byte |
| 基本类型 | Short | 16位有符号整数,数值范围为 -32768 到 32767 | scala.Short |
| 基本类型 | Int | 32位有符号整数,数值范围为 -2147483648 到 2147483647 | scala.Int |
| 基本类型 | Long | 64位有符号整数,数值范围为 -9223372036854775808 到 9223372036854775807 | scala.Long |
| 基本类型 | Float | 32位IEEE 754单精度浮点数 | scala.Float |
| 基本类型 | Double | 64位IEEE 754双精度浮点数 | scala.Double |
| 基本类型 | Char | 16位无符号Unicode字符,数值范围为 U+0000 到 U+FFFF | scala.Char |
| 基本类型 | String | 字符串类型,表示字符序列 | java.lang.String |
| 基本类型 | Boolean | 布尔类型,值为 true 或 false | scala.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中的 void | scala.Unit |
| 特殊类型 | Null | 单例对象,表示所有引用类型的空值 | scala.Null |
| 特殊类型 | Nothing | 表示无返回值类型,是所有类型的子类型 | scala.Nothing |
| 特殊类型 | Any | 所有类型的超类型 | scala.Any |
| 特殊类型 | AnyRef | 所有引用类型的超类型,等价于Java中的 Object | scala.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…...
【LeetCode刷题之路】622.设计循环队列
LeetCode刷题记录 🌐 我的博客主页:iiiiiankor🎯 如果你觉得我的内容对你有帮助,不妨点个赞👍、留个评论✍,或者收藏⭐,让我们一起进步!📝 专栏系列:LeetCode…...
暂停一下,给Next.js项目配置一下ESLint(Next+tailwind项目)
前提 之前开自己的GitHub项目,想着不是团队项目,偷懒没有配置eslint,后面发现还是不行。eslint的存在可以帮助我们规范代码格式,同时 ctrl s保存立即调整代码格式是真的很爽。 除此之外,团队使用eslint也是好处颇多…...
Windows系统磁盘与分区之详解(Detailed Explanation of Windows System Disks and Partitions)
Windows系统磁盘与分区知识详解 在日常使用Windows操作系统的过程中,我们常常会接触到磁盘管理,磁盘分区等操作.然而,许多人可能并不完全理解磁盘和分区的运作原理以及如何高效管理它们. 本篇文章将探讨Windows系统中关于磁盘和分区的各种知识,帮助大家更好地理解磁盘以及分区…...
顺序表的使用,对数据的增删改查
主函数: 3.c #include "3.h"//头文件调用 SqlListptr sql_cerate()//创建顺序表函数 {SqlListptr ptr(SqlListptr)malloc(sizeof(SqlList));//在堆区申请连续的空间if(NULLptr){printf("创建失败\n");return NULL;//如果没有申请成功ÿ…...
XDMA与FPGA:高效数据传输的艺术
XDMA与FPGA:高效数据传输的艺术 引言 在现代计算系统中,数据传输的效率直接影响系统的整体性能。特别是在涉及到高速数据处理的领域,如高性能计算(HPC)、实时视频处理和大数据分析等,如何高效地在主机与F…...
#思科模拟器通过服务配置保障无线网络安全Radius
演示拓扑图: 搭建拓扑时要注意: 只能连接它的Ethernet接口,不然会不通 MAC地址绑定 要求 :通过配置MAC地址过滤禁止非内部员工连接WiFi 打开无线路由器GUI界面,点开下图页面,配置路由器无线网络MAC地址过…...
浅谈Python库之pillow
一、pillow的介绍 Pillow是Python Imaging Library (PIL) 的一个分支,它是一个强大的图像处理库,用于打开、操作和保存许多不同图像文件格式。Pillow提供了广泛的文件格式支持、强大的图像处理能力和广泛的文件格式兼容性。它是PIL的一个友好的分支&…...
Android通过okhttp下载文件(本文案例 下载mp4到本地,并更新到相册)
使用步骤分为两步 第一步导入 okhttp3 依赖 第二步调用本文提供的 utils 第一步这里不做说明了,直接提供第二步复制即用 DownloadUtil 中 download 为下载文件 参数说明 这里主要看你把 destFileName 下载文件名称定义为什么后缀,比如我定义为 .mp4 下…...
计算机网络从诞生之初到至今的发展历程
前言 "上网",相信大家对这个动词已经不再陌生,网 通常指的是网络;在 2024 年的今天,网络已经渗透到了每个人的生活中,成为其不可或缺的一部分;你此时此刻在看到我的博客,就是通过网络…...
Kudu 源码编译-aarch架构 1.17.1版本
跟着官方文档编译 第一个问题:在make阶段时会报的问题: kudu/src/kudu/util/block_bloom_filter.cc:210:3: error: ‘vst1q_u32_x2’ was not declared in this scope kudu/src/kudu/util/block_bloom_filter.cc:436:5: error: ‘vst1q_u8_x2’ was no…...
SEC_ASA 第二天作业
拓扑 按照拓扑图配置 NTP,Server端为 Outside路由器,Client端为 ASA,两个设备的 NTP传输使用MD5做校验。(安全 V4 LAB考点) 提示:Outside路由器作为 Server端要配置好正确的时间和时区,ASA防…...
操作系统(5)进程
一、定义与特点 定义:进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。 特点: 动态性:进程是动态创建的,有它自身的生命周期,…...
6_Sass 选择器函数 --[CSS预处理]
Sass 提供了一系列的选择器函数,用于操作和组合CSS选择器。这些函数可以帮助你更灵活地创建样式规则,并且可以减少重复代码。以下是几个常用的选择器函数及其用法: 1. selector-append($selector1, $selector2...) selector-append($select…...
考研数学【线性代数基础box(数二)】
本文是对数学二线性代数基础进行总结,一些及极其简单的被省略了,代数的概念稀碎,不如高数关联性高,所以本文仅供参考,做题请从中筛选! 本文为初稿,后面会根据刷题和自己的理解继续更新 第一章…...
ModbusTcp获取数据
ModbusTcp获取数据 记录一个用 pymodbus 库来获取数据的代码。 注意: 1.读取寄存器地址是16进制的。2.大小端转换通过代码知道原理。读取数据时,切记频率别太高,否则会出现连接被关闭问题。 from pymodbus.client.sync import ModbusTcpCli…...
java 知识点:注解及使用
注解 大多数时候,我们会使用注解,而不是自定义注解。注解给谁用?编译器 、给解析程序用注解不是程序的一部分,可以理解为注解就是一个标签 主要的作用有以下四方面: 生成文档,通过代码里标识的元数据生成…...
AI预测体彩排3采取888=3策略+和值012路+胆码+通杀1码测试12月13日升级新模型预测第156弹
经过100多期的测试,当然有很多彩友也一直在观察我每天发的预测结果,得到了一个非常有价值的信息,那就是9码定位的命中率非常高,已到达90%的命中率,这给喜欢打私菜的朋友提供了极高价值的预测结果~当然了,大…...
faiss数据库检索不稳定
faiss数据检索不稳定 def build_faiss_index(embeddings_vector):dim np.shape(embeddings_vector)[-1]index faiss.index_factory(dim, HNSW64, faiss.METRIC_INNER_PRODUCT)index.add(embeddings_vector)return index这个代码不稳定,构建的索引召回结果可能会不…...
Vue技术中参数传递:Props与事件的实践指南
在Vue.js中,组件间的参数传递是构建动态和交互式应用的核心。本文将深入探讨如何通过Props和事件($emit)在Vue组件间进行参数传递,并提供代码示例。 Props传递数据 Props是Vue中组件间传递数据的一种方式,它允许父组…...
集成学习实战指南:从Bagging到Stacking的模型融合艺术
1. 为什么你需要掌握集成学习? 记得我第一次参加Kaggle比赛时,看到排行榜上那些大神们的模型分数高得离谱,而我的单模型怎么调参都追不上。后来才发现,他们都在用集成学习的魔法。简单来说,集成学习就像组建一个专家团…...
Windows APK安装器:告别模拟器,直接在Windows上安装安卓应用
Windows APK安装器:告别模拟器,直接在Windows上安装安卓应用 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾经想在Windows电脑上运行安…...
轻松管理Android设备的最佳 HiSuite 替代品
HiSuite 是由华为开发的一款 PC 套件,旨在通过 USB 或 Wi-Fi 管理华为手机。虽然它与华为设备配合良好,但也存在一些局限性,例如不支持其他Android品牌、云集成程度低以及偶尔出现的兼容性问题。如果您正在寻找功能更丰富或更人性化的方案&am…...
普通Java程序员掌握哪些技能可以晋升到高级开发?
性能优化可以说是很多一线大厂对其公司内高级开发的基本要求(其中以Java岗最为显著)。其原因有两个:一是提高系统的性能,二是为公司节省资源。两者都能做到,那你就不可谓不是普通程序员眼中的“调优大神了”。那么如何…...
长期使用Taotoken的Token Plan套餐带来的成本体感变化
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 长期使用Taotoken的Token Plan套餐带来的成本体感变化 在AI应用开发中,成本控制与预算可预测性是项目持续运营的关键。…...
终极指南:如何让Photoshop支持AVIF格式并实现图像体积减半
终极指南:如何让Photoshop支持AVIF格式并实现图像体积减半 【免费下载链接】avif-format An AV1 Image (AVIF) file format plug-in for Adobe Photoshop 项目地址: https://gitcode.com/gh_mirrors/avi/avif-format 想让你的Photoshop支持最新的AVIF图像格式…...
ESP32-S3物联网开发实战:从ADC采样到MQTT云端通信
1. 项目概述:从传感器到云端的数据之旅在物联网项目的开发中,我们常常需要解决一个核心问题:如何让物理世界的信息被数字系统感知、处理,并最终在云端呈现或接受远程控制?这背后涉及三个关键环节:感知、处理…...
时钟同步技术中的滤波与拥塞标记原理详解
1. 时钟同步技术中的滤波与拥塞标记原理在网络时钟同步领域,延迟测量是影响精度的关键因素。传统时钟同步协议(如PTP、NTP)通过交换时间戳报文来计算时钟偏移,但网络中的排队延迟会引入随机误差。这种误差表现为延迟分布的方差&am…...
用GitHub构建个人技能树:从知识管理到职业品牌塑造
1. 项目概述与核心价值最近在GitHub上看到一个挺有意思的项目,叫“Prycehot374/skills”。乍一看,这名字有点抽象,既不像一个具体的工具库,也不像一个完整的应用。但点进去之后,我发现它其实是一个个人技能树的“仓库化…...
别再乱用光源了!FDTD Solutions中TFSF、平面波、高斯光到底怎么选?附避坑指南
FDTD仿真中光源选择的黄金法则:从原理到实战避坑指南 当你第一次打开FDTD仿真软件时,面对Plane wave、Gaussian、TFSF等光源选项,是否感到无从下手?光源选择不当不仅会导致仿真结果失真,更可能让整个计算过程变得毫无…...
