scala基础_数据类型概览

server/2024/12/18 23:45:41/

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
scala">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

http://www.ppmy.cn/server/151291.html

相关文章

ctfshow-文件包含

78-php&http协议 GET传参,参数为file,没有过滤,直接包含 解法一(filter) payload: ?filephp://filter/readconvert.base64-encode/resourceflag.php得到一串base64,解码之后则为flag.php的内容 解法二…

C++小工具封装 —— NetWork(TCP、UDP)

在之前的文章中我们介绍到也写到基于TCP和UDP协议的网络通信。本篇我们又闲得无聊把这俩给封装成一个小工具以满足实际应用时多功能网络服务器的需要。 这个NetWork小工具是在Windows下制作的所以别忘了该有的头文件。C中编写我们就遵循面向对象的思想来。 #ifndef NETWORK_H …

开源分布式系统追踪-03-CNCF jaeger-02-快速开始

分布式跟踪系列 CAT cat monitor 分布式监控 CAT-是什么? cat monitor-02-分布式监控 CAT埋点 cat monitor-03-深度剖析开源分布式监控CAT cat monitor-04-cat 服务端部署实战 cat monitor-05-cat 客户端集成实战 cat monitor-06-cat 消息存储 skywalking …

TQ15EG开发板教程:使用SSH登录petalinux

本例程在上一章“创建运行petalinux2019.1”基础上进行,本例程将实现使用SSH登录petalinux。 将上一章生成的BOOT.BIN与imag.ub文件放入到SD卡中启动。给开发板插入电源与串口,注意串口插入后会识别出两个串口号,都需要打开,查看串…

【计算机视觉】医疗图像关键点识别

1. CNN 1.1. 设备参数 1.2. 代码 import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import Dataset, DataLoader from torchvision import transforms from tqdm import tqdm import os import cv2 import numpy as np import time im…

什么是正则化?Regularization: The Stabilizer of Machine Learning Models(中英双语)

正则化:机器学习模型的稳定器 1. 什么是正则化? 正则化(Regularization)是一种在机器学习模型训练中,通过约束模型复杂性以防止过拟合的技术。 它的核心目标是让模型不仅在训练集上表现良好,还能在测试集上…

通过ajax的jsonp方式实现跨域访问,并处理响应

一、场景描述 现有一个项目A,需要请求项目B的某个接口,并根据B接口响应结果A处理后续逻辑。 二、具体实现 1、前端 前端项目A发送请求,这里通过jsonp的方式实现跨域访问。 $.ajax({ url:http://10.10.2.256:8280/ssoCheck, //请求的u…

PySide6程序框架设计

pyside6有一个优点自动适配高分辨ui pyqt5需要自己写这部分逻辑 1、主程序代码 DINGSHI01Main.py # -*- coding: utf-8 -*- import sys,time,copy from PySide6.QtWidgets import QWidget,QApplication from PySide6.QtCore import Qt from PySide6 import QtCore, QtGui, Q…