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中组件间传递数据的一种方式,它允许父组…...
LVGL实战:用外部按键(Keypad)和旋转编码器(Encoder)在无触摸屏设备上实现流畅UI交互
LVGL物理交互实战:用按键与编码器打造无触摸屏的流畅UI控制 在智能家居控制面板、工业HMI设备等场景中,物理按键和旋转编码器因其可靠性和低成本优势,成为触摸屏的理想替代方案。本文将深入探讨如何通过LVGL的输入设备子系统,实现…...
深度剖析:20206年国内AI应用上市公司谁在领跑?
随着人工智能技术加速向千行百业渗透,AI应用落地能力已成为衡量上市公司核心竞争力的关键标尺。在众多布局AI的上市企业中,新大陆数字技术股份有限公司(股票代码:000997)凭借深厚的产业积淀与前瞻的“支付AI”战略&…...
Agent 在人力资源场景能做什么?——深度拆解AI Agent重塑HR全流程的技术路径与实操价值
在2026年的今天,AI Agent(智能体)已不再仅仅是企业数字化转型的“锦上添花”,而是演变为人力资源(HR)领域的底层驱动力。从最初的单点辅助工具到如今具备自主规划、工具调用及闭环执行能力的数字员工&#…...
RuoYi项目部署避坑大全:从宝塔面板配置到前端OpenSSL报错,一次讲清所有常见问题
RuoYi项目部署避坑指南:从错误现象到根治方案 1. 部署前的环境准备与常见陷阱 部署RuoYi这类前后端分离项目时,环境配置往往是第一个拦路虎。不少开发者习惯直接跳到代码部署环节,却忽略了基础环境的兼容性问题。我们先来看看那些容易被忽视的…...
2条普通程序员的靠谱出路:AI开发与出海SEO,让AI成为你的助力而非威胁
文章分析了适合普通程序员的两种新出路:转型AI开发和出海做SEO。这两种路径均满足三大条件:市场空间大、AI能赋能工作、有标准执行路径。AI开发是配合业务团队开发AI工作流,可通过前端专精→涉猎AI应用开发→魔改开源项目逐步转型。出海SEO则…...
Qt 6.5 + DeepSeek API 流式聊天实战:手把手教你打造一个带记忆的桌面AI助手
Qt 6.5 DeepSeek API 流式聊天实战:打造带记忆的桌面AI助手 在当今软件开发领域,AI助手的集成已成为提升用户体验的重要趋势。想象一下,在你的代码编辑器或笔记软件中,有一个能理解上下文、实时响应且具备记忆能力的智能助手&…...
easy-connect-gr-peach:GR-PEACH多网络连接抽象库详解
1. easy-connect-gr-peach 项目概述 easy-connect-gr-peach 是专为 Renesas GR-PEACH 开发板设计的轻量级网络连接抽象库,属于 mbed OS 生态中 easy-connect 系统在特定硬件平台上的适配实现。其核心目标并非提供底层驱动,而是构建一套 统一、可配置…...
Sketchfab模型下载完整方案:3个核心技巧获取精美3D资源
Sketchfab模型下载完整方案:3个核心技巧获取精美3D资源 【免费下载链接】sketchfab sketchfab download userscipt for Tampermonkey by firefox only 项目地址: https://gitcode.com/gh_mirrors/sk/sketchfab 如果你经常在Sketchfab上发现惊艳的3D模型却无法…...
BongoCat:重新定义桌面体验的互动工具
BongoCat:重新定义桌面体验的互动工具 【免费下载链接】BongoCat 让呆萌可爱的 Bongo Cat 陪伴你的键盘敲击与鼠标操作,每一次输入都充满趣味与活力! 项目地址: https://gitcode.com/gh_mirrors/bong/BongoCat 你是否曾觉得日复一日的…...
如何永久保存微信聊天记录?WeChatExporter 开源工具帮你解决数据备份难题
如何永久保存微信聊天记录?WeChatExporter 开源工具帮你解决数据备份难题 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 你是否曾担心微信聊天记录会随着手机…...
