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

【Scala入门学习】基本数据类型和变量声明

1. 基本数据类型

scala 的基本类型有 9种:

Byte、Char、Short、Int、Long、Float、Double、Boolean、Unit

Scala中没有基本数据类型的概念,所有的类型都是对象。

AnyVal:代表所有基本类型。

AnyRef:代表所以引用类型,包括 Scala class 和 Java class。

Any:是所有类的超类。如果不知道表达式的结果是什么类型可以用Any。

Unit:只有一个实例值 (),方法返回Unit 相当于返回了Java中的void。

Null: 是所有引用类型的子类型,只有一个实例null。

2. 变量的声明

val:变量的引用不可变,底层相当于final 修饰

var:变量的引用可变

scala推荐用val,val就是value的缩写。

scala语言结尾不用分号和Python语言比较相似。

scala不指定变量类型是会根据值进行自动推断,当然也可以在初始化的时候明确指定变量的类型;

3. 操作符

Scala 为它的基本类型提供了丰富的操作符集,包括:

算数运算符:加(+)、减(-) 、乘(*) 、除(/) 、余数(%);

关系运算符:大于(>)、小于(\<)、等于(=)、不等于(!=)、大于等于(>=)、小于等于(\<=);

逻辑运算符:逻辑与(&&)、逻辑或(||)、逻辑非(!);

位运算符:按位与(&)、按位或(|)、按位异或(\^)、按位取反(\~)、左移(\<\<)、右移(>>)、无符号右移(>>>);

赋值运算符:“=” 及其与其他运算符结合的扩展赋值运算符,例如 +=、-=;

注意:

1)与java不同的是这些运算符的操作,都是方法的调用;

2)在 scala中各种赋值表达式的值都是Unit类型;

相关文章:

【Scala入门学习】基本数据类型和变量声明

1. 基本数据类型 scala 的基本类型有 9种&#xff1a; Byte、Char、Short、Int、Long、Float、Double、Boolean、Unit Scala中没有基本数据类型的概念&#xff0c;所有的类型都是对象。 AnyVal&#xff1a;代表所有基本类型。 AnyRef&#xff1a;代表所以引用类型&#xff…...

C#基础(13)结构体

前言 随着函数的讲解完成&#xff0c;我想你已经初步有了写一些复杂逻辑功能的能力&#xff0c;但是我们会发现其实在我们大部分实际开发情况中&#xff0c;很多我们需要写的变量可能不只有一个属性。 他可能有很多变量&#xff0c;那这时候我们如果要把这些变量集中到一个东…...

Excel图片批量插入单元格排版处理插件【图片大师】

为了方便大家在图片的插入排版的重复工作中解放出来&#xff0c;最近发布了一款批量插入图片的插件&#xff0c;欢迎大家下载&#xff0c;免费试用。 这是图片的文件夹&#xff1a; 主要功能如下: 1&#xff0c;匹配单元格名称的多张图批量插入到一个单元格 该功能支持设置图…...

应用性能优化实践(二)提升应用启动和响应速度

一、提升应用启动和响应速度的方法 1、冷启动过程简介 应用启动时&#xff0c;后台无该应用的进程&#xff0c;需要创建新的进程&#xff0c;这种启动方式叫冷启动。 2、使用异步加载 使用异步加载可以在后台线程中处理耗时操作&#xff0c;从而提升应用响应速度。 3、延迟加载…...

接口测试系列文章专题

在你眼中什么是接口 HTTP协议 什么是接口测试 接口测试之工具 fiddler工具的原理 fiddler工具界面详解 fiddler工具的基本使用 fiddler使如何对手机app进行抓包的呢 fiddler手机app抓包教程 Charles自定义接口返回的数据内容 常用接口工具postman的基本使用方式 pos…...

Unity Hub自动安装指定版本Unity的Android开发环境

Unity开发Android环境要求SDK、DNK、JDK、Gradle版本都要对才能发布APK&#xff0c;自己去配置很容易出错。Unity Hub可以自动安装指定版本Unity的Android开发环境。 1.安装国内用的UnityHub&#xff08;我这里用的3.3.2-c6&#xff09; 2.找到对应的Unity版本 3.点击【从Unit…...

从0开始学ARM

1. ARM模式和寄存器 1.1 ARM处理器工作模式 Cortex系列之前的ARM处理器工作模式一共有7种。 1.1.1 工作模式 Cortex系列的ARM处理器工作模式有8种&#xff0c;多了1个monitor模式&#xff0c;如下图所示&#xff1a; ARM之所以设计出这么多种模式出来&#xff0c;就是为了…...

每日一题——第九十四题

// SortNumInFile.cpp : 此文件包含 “main” 函数。程序执行将在此处开始并结束。 // 题目&#xff1a;将一个文本文件number.txt中的数字按照从小到大排列后&#xff0c;重新写入到该文件中&#xff0c;要求排序前和排序后都输出该文件的内容。该文件中共有20个整数&#xf…...

Linux 开发工具(vim、gcc/g++、make/Makefile)+【小程序:进度条】-- 详解

目录 一、Linux软件包管理器 - yum&#xff08;ubuntu用apt代替yum&#xff09;1、Linux下安装软件的方式2、认识 yum3、查找软件包4、安装软件5、如何实现本地机器和云服务器之间的文件互传 二、Linux编辑器 - vim1、vim 的基本概念2、vim 下各模式的切换3、vim 命令模式各命令…...

后续学习规划 ----含我个人的学习路线,经历及感受

目前的基础 开发相关&#xff08;最重要&#xff09; 1.Java SE 从入门到起飞 2.Java Web开发 3.苍穹外卖 以上三个是和开发相关的基础。 我是按照书写的顺序学习的&#xff0c;有需要的朋友可以参考。 计算机相关 其他的话&#xff0c;都是比较久远的了。隔得时间一年半…...

Skytower

一、安装配置靶机 下载地址: SkyTower: 1 ~ VulnHub 下载之后解压发现是VirtualBox格式的 我们下载一个VirtualBox&#xff0c;这是官网 Downloads – Oracle VirtualBox 安装到默认路径就 打开后点击注册 选择解压后的vbox文件 然后点击左上角管理 点击导出虚拟电脑&…...

成型的程序

加一个提示信息 加上python 常用的包 整个程序打包完 250M 安装 960MB matplot numpy pandas scapy pysearial 常用的包 (pyvisa)… … 啥都有 Python 解释器组件构建 要比 lua 容易的多 &#xff08;C/Rust 的组件库)...

卡尔曼滤波中Q和R与噪声的关系

卡尔曼滤波 一种用于估计系统状态的递归滤波器&#xff0c;通过融合传感器测量和系统模型&#xff0c;提供系统状态的最优估计。 Q和R是什么 在卡尔曼滤波中&#xff0c;Q和R分别表示过程噪声和测量噪声的协方差矩阵。 Q Q Q矩阵&#xff08;过程噪声协方差矩阵&#xff09;…...

sicp每日一题[2.10]

Exercise 2.10 Ben Bitdiddle, an expert systems programmer, looks over Alyssa’s shoulder and comments that it is not clear what it means to divide by an interval that spans zero. Modify Alyssa’s code to check for this condition and to signal an error if i…...

MCN跨国企业如何从0到1搭建ITSM运维体系

1. IT运维体系概述 1.1 定义与目标 IT运维体系&#xff0c;即信息技术运维管理体系&#xff0c;是指企业为了保障IT基础设施和业务系统的稳定、高效、安全运行&#xff0c;所建立的一系列管理流程、规范、工具和组织的总称。其核心目标是通过对IT资源的集中管理和服务&#x…...

【C++入门学习】7. 类型

基本类型 修饰符类型 基本类型 类型关键字布尔型bool字符型char整型int浮点型float双浮点型double无类型void宽字符型wchar_t 字符型char只占八位&#xff0c;存储ascii码的&#xff0c;而宽字符型是为了存储多国语言的代码unicode。 // 宽字符型的定义 typedef short int …...

视频服务器:GB28181网络视频协议

一、前言 某项目中需要集成视频管理平台&#xff0c;实现分布在各省公司的摄像及接入&#xff0c;对视频进行统一管理。本项目中视频管理平台采用GB/T28181实现的监控设备接入管理平台&#xff0c;支持在开放互联网和局域网对监控设备进行远程接入、远程管理、远程调阅、录像回…...

vue3 一次二次封装element-plus组件引发的思考

前言 在开发 Vue 项目中我们一般使用第三方 UI 组件库进行开发,如 Element-Plus、Element-ui、Ant-design等, 但是这些组件库提供的组件并不一定都能满足我们的日常开发需求,有时候我们需要实现的效果是直接使用组件库无法实现的,那么这时我们就可以通过对组件库的组件进行…...

[Web安全 网络安全]-文件读取与下载漏洞

文章目录&#xff1a; 一&#xff1a;任意文件读取漏洞 1.定义 2.危害 3.产生原因 4.发现漏洞 5.利用漏洞 6.防范措施 7.读取漏洞举例 二&#xff1a;任意文件下载漏洞 1.定义 2.漏洞利用 3.漏洞挖掘 4.漏洞验证 5.漏洞防御修复 pikachu靶场&#xff1a;是一个…...

2024.9.12(k8s环境搭建2)

一、接9.11 19、部署calico的pod 4. 查看容器和节点状态 异常处理&#xff1a; 出现Init:0/3&#xff0c;查看node节点 /var/log/messages是否有除网络异常之外的报错信息 三台机器执行&#xff1a;&#xff08;更新版本&#xff09; yum list kernel yum update kernel reb…...

多元化团队从多元化投资机构开始

初创企业往往口头上重视多元化&#xff0c;但在实际招聘实践中却行动缓慢。对于成长阶段的公司来说&#xff0c;从熟悉的硅谷人才渠道招聘是阻力最小的路径&#xff0c;但如果创始人想要一个多元化的团队&#xff0c;就必须从第一个员工开始将这一价值观付诸实践。Taskrabbit创…...

Linux内核设计哲学:你我承载力的艺术(续)

第七部&#xff1a;设备驱动——与不完美的世界和解7.1 你不是主人&#xff0c;你是仆人设备驱动是内核中最“卑微”的组件。它不和用户直接打交道&#xff0c;不参与核心决策&#xff0c;甚至不拥有任何资源。它只是硬件的翻译官——把内核的标准请求翻译成硬件能懂的指令&…...

用STC32G的HSPWM做个数控电源:从BUCK电路到PID调参,我的DIY踩坑全记录

从零打造STC32G数控电源&#xff1a;我的BUCK电路实战与PID调参血泪史 作为一个常年泡在电子实验室的硬件爱好者&#xff0c;开关电源一直是我又爱又恨的领域。去年冬天&#xff0c;当我第N次烧毁某宝买的降压模块后&#xff0c;终于下定决心自己打造一台高精度数控电源。这次…...

Notepad--:当文本编辑遇到真正的跨平台解决方案

Notepad--&#xff1a;当文本编辑遇到真正的跨平台解决方案 【免费下载链接】notepad-- 一个支持windows/linux/mac的文本编辑器&#xff0c;目标是做中国人自己的编辑器&#xff0c;来自中国。 项目地址: https://gitcode.com/GitHub_Trending/no/notepad-- 你是否曾因…...

万象视界灵坛惊艳效果:上传模糊图片仍准确返回‘雨夜霓虹’‘80年代复古’等高阶语义

万象视界灵坛惊艳效果&#xff1a;上传模糊图片仍准确返回雨夜霓虹80年代复古等高阶语义 1. 突破传统视觉识别的智能平台 在数字内容爆炸式增长的今天&#xff0c;如何从海量视觉数据中快速提取有价值的信息成为一大挑战。传统图像识别技术往往受限于预设分类体系&#xff0c…...

Linux命令中的mtr命令详解

mtr 是一个功能强大的网络诊断工具&#xff0c;它结合了 ping 和 traceroute 的功能&#xff0c;并提供了实时、持续的连接质量统计数据。它是排查网络问题、定位网络瓶颈的利器。mtr&#xff08;My Traceroute&#xff09;在单个界面中同时展示了数据包从源主机到目标主机所经…...

MRiLab:基于多物理场耦合的磁共振成像全流程仿真平台

MRiLab&#xff1a;基于多物理场耦合的磁共振成像全流程仿真平台 【免费下载链接】MRiLab A Numerical Magnetic Resonance Imaging (MRI) Simulation Platform 项目地址: https://gitcode.com/gh_mirrors/mr/MRiLab MRiLab作为开源数值磁共振成像仿真平台&#xff0c;通…...

突破Cursor限制的5个实用技巧:从原理到实践

突破Cursor限制的5个实用技巧&#xff1a;从原理到实践 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your trial request…...

解密Cursor Free VIP:AI编程助手无限使用实战指南

解密Cursor Free VIP&#xff1a;AI编程助手无限使用实战指南 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your trial r…...

优化TJpgDec在MM32F5微控制器上的图像解码性能 - 基于MindSDK的实践探索

1. TJpgDec在嵌入式系统中的独特价值 第一次接触TJpgDec是在三年前的一个智能家居项目里&#xff0c;当时需要在资源受限的STM32F407上实现图片显示功能。市面上常见的JPEG解码库要么体积庞大&#xff0c;要么对内存要求极高&#xff0c;直到发现了ChaN开发的这个轻量级解决方案…...