两种类型的变量

2023-10-27

在java中你会像下面那样声明变量:

String s = "Hello";
int i = 42;
Person p = new Person("hello");

每个变量声明都包含了类型。
相比之下,在scala中有两种类型的变量:

  • val创建一个不可变的变量(跟java中的 final 一样)
  • var创建一个可变的变量
    scala中可以像下面那样声明变量:
val s = "Hello"
var i = 42
val p = new Person("hello")

scala可以通过等式右边的代码推断出数据的类型。当然你也可以显示的指定变量类型:

val s: String = "Hello"
var i: Int = 42

val和var的不同点

val和var的不同点为:val创建的变量是不可变的,var创建的变量是可变的。由于val字段不可变,有些人称val字段为值(values)而不是变量。
在这里插入图片描述
对val变量重新赋值会报错,而var不会。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

两种类型的变量 的相关文章

随机推荐

  • 2023电赛思路 E题:运动目标控制与自动追踪系统

    1 E题 运动目标控制与自动追踪系统 基本思路 1 1 实现步骤 设计红色光斑位置控制系统 选择合适的红色激光笔 并将其固定在一个二维电控云台上 使用电机和编码器来控制电控云台的水平和垂直运动 设计一个控制电路 可以通过输入控制信号来控制电
  • unity3d学习笔记-动画(3.导入动画)

    一 配置动画类型 在准备要导入 Unity 的动画时 动画师可以为每个单独的动画创建不同的文件 或者在一个文件中为所有内容制作动画 将包含多个动画的单个文件导入 Unity 时 可以在 剪辑 部分的导入设置中对其进行拆分 在这里 您可以定义
  • uniapp如何应用onNeedPrivacyAuthorization实现微信小程序隐私政策

    前言 微信小程序要求9 15日前实现隐私政策弹窗 但是uniapp文档一直没有更新 尝试直接使用wx onNeedPrivacyAuthorization 是可以生效的 步骤 在 微信小程序后台 的 设置 服务内容与声明 设置好小程序所需要
  • 【python】爬虫实战流程

    一 采集步骤 1 网页解析 2 引入第三方模块 import requests 请求数据 import json 数据解析 from jsonpath import jsonpath 数据解析 import pandas as pd 数据处
  • maven本地仓库已经有了所需的jar包,为什么还要去请求远程仓库

    问题 IDEA 中的maven 项目 一个jar包一直导入不进来 reimport 无效 从另一仓库把这个jar包拷贝到当前仓库 还是无效 mvn clean install e U 发现加载这个jar包时直接访问远程仓库 都没有从本地查找
  • win11安装xshell提示缺少mfc110.dll问题

    Download Visual C Redistributable for Visual Studio 2012 Update 4 from Official Microsoft Download Center
  • 微信 "{"errcode":-1,"errmsg":"system error"}"

    报这个json问题是因为你有一些参数没有 而产生的 例你没有写appid secret等的原因做成的 这个并不是微信服务器的问题 不要被其字面的意思混乱 唉 微信的提示 我也是醉了
  • Linux PCIe驱动框架分析(第三章)

    目录 项目背景 1 概述 2 流程分析 2 1 Device Tree 2 2 probe流程 2 3 中断处理 2 4 总结 项目背景 Kernel版本 4 14 ARM64处理器 使用工具 Source Insight 3 5 Visi
  • Qt基础:二、Qt4和Qt5兼容部分

    在pro中加入下面一句 greaterThan QT MAJOR VERSION 4 QT widgets 这句话的意思是QT版本超过4 就需要加上widgets
  • Angular ActivatedRoute 用法(官方文档

    允许访问与某出口中加载的组件关联路由信息 用于遍历 RouterState 树并从节点提取信息 查看 说明 class ActivatedRoute snapshot ActivatedRouteSnapshot url Observabl
  • printf()的用法

    http baike baidu com view 1427555 htm 原来做事情不仔细 每次看printf的用法都没懂过 但是也算蒙混过关 现在自己终于懂得生活 所以好好找了下 这篇文章确实不错 和大家分享一下 printf 函数 p
  • 【mmdetection】工具tools试用

    1 日志分析 analyze logs py https blog csdn net jy1023408440 article details 105701705 2 可视化数据集 browse dataset py python tool
  • JAVA上机题(3道)

    题目一 从控制台中读入一个文件名 判断该文件是否存在你的某个盘下 如果该文件存在 则在原文件相同路径下创建一个文件名为 copy 原文件名 的新文件 该文件内容为原文件的拷贝 首先肯定是要判断该文件名到底存不存在 我们定义一个方法 用来判断
  • NoClassDefFoundError: com/google/common/collect/Maps

    Error Exception in thread main java lang NoClassDefFoundError com google common collect Maps I believe you are missing g
  • Lua基础

    目录 Lua5 3参考手册 软件版本 日志及soc下载工具 os date函数说明 os date格式化符号 示例 显示效果 希望实现 实现思路 关于汉字显示的说明 编辑编译方法可参考 示例代码 运行log记录 PS eink 墨水屏操作库
  • Ubuntu报terminals database is inaccessible

    目录 方法一 1 执行以下命令 2 再次运行clear命令 3 执行以下命令 方法二 参考网址 在Ubuntu的命令行窗口中使用clear命令的时候报terminals database is inaccessible错误 clear te
  • Mac上实时网速、内存等显示

    对我这种有强迫症的 要监控各种参数 比如实时网速显示 这里给大家推荐 iStat Menus 1 官网下载 https bjango com mac istatmenus 2 注册码 仅供学习研究 误作商业用途 xxxx xxxx xxxx
  • Ubuntu 系统中安装htpasswd

    htpasswd是Apache附带的程序 htpasswd生成包含用户名和密码的文本文件 每行内容格式为 用户名 密码 用于用户文件的基本身份认证 当用户浏览某些网页的时候 浏览器会提示输入用户名和密码 比如awstats的日志报表 你肯定
  • LightGBM 直方图优化算法

    给出下面这个广泛使用 直方图优化算法的ppt 本文是对该张ppt的解释 直方图优化算法需要在训练前预先把特征值转化为bin 也就是对每个特征的取值做个分段函数 将所有样本在该特征上的取值划分到某一段 bin 中 最终把特征取值从连续值转化成
  • 两种类型的变量

    在java中你会像下面那样声明变量 String s Hello int i 42 Person p new Person hello 每个变量声明都包含了类型 相比之下 在scala中有两种类型的变量 val创建一个不可变的变量 跟jav