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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/62979.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/62979.shtml
英文地址,請注明出處:http://en.pswp.cn/web/62979.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

力扣239.滑動窗口最大值

文章目錄 一、前言二、單調隊列 一、前言 力扣239.滑動窗口最大值 滑動窗口最大值,這道題給定一個數組,以及一個窗口的長度,這個窗口會往后滑動,直到數組最后一個元素。 要求每個滑動窗口的中的最大值。對于這道題,我…

mac 安裝CosyVoice (cpu版本)

CosyVoice 介紹 CosyVoice 是阿里研發的一個tts大模型 官方項目地址:https://github.com/FunAudioLLM/CosyVoice.git 下載項目(非官方) git clone --recursive https://github.com/v3ucn/CosyVoice_for_MacOs.git 進入項目 cd CosyVoic…

電腦插件修復工具

DirectX修復工具 鏈接:夸克網盤分享

Maven 安裝配置(詳細教程)

文章目錄 一、Maven 簡介二、下載 Maven三、配置 Maven3.1 配置環境變量3.2 Maven 配置3.3 IDEA 配置 四、結語 一、Maven 簡介 Maven 是一個基于項目對象模型(POM)的項目管理和自動化構建工具。它主要服務于 Java 平臺,但也支持其他編程語言…

Scala中的泛型特質

代碼如下: package test41 //泛型特質 object test3 { //定義一個日志//泛型特質,X是泛型名稱,可以更改。trait Logger[X] {val content: Xdef show():Unit }class FileLogger extends Logger[String] {override val content: String "…

前端三大框架 Vue、React 和 Angular 的市場占比分析

一、引言 ?? 隨著前端技術的迅速發展,Vue.js、React 和 Angular 已成為全球最受歡迎的三大前端框架。在國內外,不同的框架在市場中的占比和流行程度存在顯著差異。本文將從全球和中國市場的角度,對這三大框架的市場占比進行分析&#xff0…

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…

用python的flask寫的一個MQTT中轉功能,http的方式發送數據和接收數據

需求背景 給一個客戶對接人臉識別的設備&#xff0c;最后需要通知服務端進行一些消息推送。 簡單例子 # 作者 陳老師 # https://v.iiar.cn import json import paho.mqtt.client as mqtt import requests from flask import Flask, requestapp Flask(__name__)# MQTT配置 mq…

ASP.NET |日常開發中讀寫XML詳解

ASP.NET &#xff5c;日常開發中讀寫XML詳解 前言一、XML 概述1.1 定義和結構1.2 應用場景 二、讀取 XML 文件2.1 使用XmlDocument類&#xff08;DOM 方式&#xff09;2.2 使用XmlReader類&#xff08;流方式&#xff09; 三、寫入 XML 文件3.1 使用XmlDocument類3.2 使用XmlWr…

分布式 Paxos算法 總結

前言 相關系列 《分布式 & 目錄》《分布式 & Paxos算法 & 總結》《分布式 & Paxos算法 & 問題》 參考文獻 《圖解超難理解的 Paxos 算法&#xff08;含偽代碼&#xff09;》《【超詳細】分布式一致性協議 - Paxos》 Basic-Paxos 基礎帕克索斯算法…

Git-基礎操作命令

目錄 Git基礎操作命令 case *查看提交日志 log 版本回退 get add . Git基礎操作命令 我們創建并且初始化這個倉庫以后&#xff0c;我們就要在里面進行操作。 Git 對于文件的增刪改查存在幾個狀態&#xff0c;這些修改狀態會隨著我們執行Git的命令而發生變化。 untracked、…

Spring Boot 實戰:構建一個社交平臺 API

在這篇博客中&#xff0c;我們將繼續深入 Spring Boot 的開發實踐&#xff0c;通過構建一個簡單的社交平臺 API&#xff0c;幫助大家理解如何使用 Spring Boot 高效地開發一個具有注冊、登錄、個人資料管理、帖子發布與評論、點贊等功能的社交平臺。在開發過程中&#xff0c;我…

配置mysqld(讀取選項內容,基本配置),數據目錄(配置的必要性,目錄下的內容,具體文件介紹,修改配置)

目錄 配置mysqld 讀取選項內容 介紹 啟動腳本 基本配置 內容 端口號 數據目錄的路徑 配置的必要性 配置路徑 mysql數據目錄 具體文件 修改配置時 權限問題 配置mysqld 讀取選項內容 介紹 會從[mysqld] / [server] 節點中讀取選項內容 優先讀取[server] 雖然服務…

智能家居WTR096-16S錄放音芯片方案,實現語音播報提示及錄音留言功能

前言&#xff1a; 在當今社會的高速運轉之下&#xff0c;夜幕低垂之時&#xff0c;許多辛勤工作的父母尚未歸家。對于肩負家庭責任的他們而言&#xff0c;確保孩童按時用餐與居家安全成為心頭大事。此時&#xff0c;家居留言錄音提示功能應運而生&#xff0c;恰似家中的一位無形…

Java 編程基礎:開啟編程世界的大門

一、Java 環境搭建 在開始編寫 Java 代碼之前&#xff0c;我們需要先搭建 Java 開發環境。 1. 安裝 JDK&#xff08;Java Development Kit&#xff09; JDK 是 Java 開發的核心工具包&#xff0c;它包含了編譯 Java 源文件所需的編譯器&#xff08;javac&#xff09;以及運行…

pytorch bilstm crf的教程,注意 這里不支持批處理,要支持批處理 用torchcrf這個。

### Bi-LSTM Conditional Random Field ### pytorch tutorials https://pytorch.org/tutorials/beginner/nlp/advanced_tutorial.html ### 模型主要結構&#xff1a; ![title](sources/bilstm.png) pytorch bilstm crf的教程&#xff0c;注意 這里不支持批處理 Python version…

【SickOs1.1靶場滲透】

文章目錄 一、基礎信息 二、信息收集 三、反彈shell 四、提權 一、基礎信息 Kali IP&#xff1a;192.168.20.146 靶機IP&#xff1a;192.168.20.150 二、信息收集 端口掃描 nmap -sS -sV -p- -A 192.168.20.150 開放了22、3128端口&#xff0c;8080端口顯示關閉 22端…

【HF設計模式】03-裝飾者模式

聲明&#xff1a;僅為個人學習總結&#xff0c;還請批判性查看&#xff0c;如有不同觀點&#xff0c;歡迎交流。 摘要 《Head First設計模式》第3章筆記&#xff1a;結合示例應用和代碼&#xff0c;介紹裝飾者模式&#xff0c;包括遇到的問題、遵循的 OO 原則、達到的效果。 …

Mysql數據庫中,什么情況下設置了索引但無法使用?

在MySQL數據庫中&#xff0c;即使已經正確設置了索引&#xff0c;但在某些情況下索引可能無法被使用。 以下是一些常見的情況&#xff1a; 1. 數據分布不均勻 當某個列的數據分布非常不均勻時&#xff0c;索引可能無法有效地過濾掉大部分的數據&#xff0c;導致索引失效。 …

秒殺業務中的庫存扣減為什么不加分布式鎖?

前言 說到秒殺業務的庫存扣減&#xff0c;就還是得先確認我們的扣減基本方案。 秒殺場景的庫存扣減方案 一般的做法是&#xff0c;先在Redis中做扣減&#xff0c;然后發送一個MQ消息&#xff0c;消費者在接到消息之后做數據庫中庫存的真正扣減及業務邏輯操作。 如何解決數據…