Scala变量介绍及入门示例
Scala变量
变量是程序的基本组成单位
不论是使用哪种高级程序语言编写程序,变量都是其程序的基本组成单位,比如:
object ScalaFuncDemo01 {def main(args: Array[String]): Unit = {var a:Int = 1 //定义一个整型变量,取名为a,并赋值为1var b:Int = 3 //定义一个整型变量,取名为b,并赋值为3b=89println("a="+a)println("b="+b)}
}
程序运行结果:
a=1
b=89
变量的介绍
概念
变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量(值)。
变量使用的基本步骤
- 声明/定义变量 (scala要求变量声明时初始化)
- 使用
变量声明基本语法
var | val 变量名 [: 变量类型] = 变量值
注意事项
声明变量时,类型可以省略(编译器自动推导,即类型推导)。
类型确定后,就不能修改,说明Scala 是强数据类型语言。
在声明/定义一个变量时,可以使用var 或者 val 来修饰, var 修饰的变量可改变,val 修饰的变量不可改。
val修饰的变量在编译后,等同于加上final, 可以通过反编译看下底层代码。
var 修饰的对象引用可以改变,val 修饰的则不可改变,但对象的状态(值)却是可以改变的。(比如: 自定义对象、数组、集合等等) 。
var 和 val 的详解
var 修饰的变量可改变,val 修饰的变量不可改
var 修饰的对象引用可以改变,val 修饰的则不可改变,但对象的状态(值)却是可以改变的
val 的好处是【1】如果一个对象不想改变其内部的状态,那么由于不变性,我们不用担心程序的其他部分会改变对象的状态
【2】 线程安全
详见 https://blog.csdn.net/a1234H/article/details/77962536变量声明时,需要初始值。
变量的基本使用
object ScalaFuncDemo02 {def main(args: Array[String]): Unit = {//1.声明变量【告诉计算机要开一个房间,并赋值】var num : Int = 0var score : Double = 1.0var gender : Char = 'N'var name : String = "scott"//2.赋值【可以修改值】num = 99score = 1.5gender = '\n' //换行..name = "wertyuhijfgdsfgh@#$%^&*"//3.使用【将值拿出来用】println("num=" + num)println("score=" + score)println("gender=" + gender)println("name=" + name)}
}
运行结果:
num=99
score=1.5
gender=name=wertyuhijfgdsfgh@#$%^&*
程序中 +号的使用
- 当左右两边都是数值型时,则做加法运算
- 当左右两边有一方为字符串,则做拼接运算
Scala变量介绍及入门示例相关推荐
- 【Unity 3D 游戏开发】Unity3D 入门 - 工作区域介绍 与 入门示例
一. 工作区域详解 1. Scence视图 (场景设计面板) scence视图简介 : 展示创建的游戏对象, 可以对所有的游戏对象进行 移动, 操作 和 放置; -- 示例 : 创建一个球体, 控制摄 ...
- JVM插桩之一:JVM字节码增强技术介绍及入门示例
字节码增强技术:AOP技术其实就是字节码增强技术,JVM提供的动态代理追根究底也是字节码增强技术. 目的:在Java字节码生成之后,对其进行修改,增强其功能,这种方式相当于对应用程序的二进制文件进行修 ...
- Scala Actor并发编程入门示例
代码 package cn.zxl.actorimport akka.actor.{Actor, ActorRef, ActorSystem, Props}/*** @description:* @a ...
- CKEditor快速介绍与入门示例
CKEditor 富文本编辑器 CKEditor 是一款知名的WYSIWYG富文本Web编辑器,WYSIWYG 的全称是what you see is what you get,也就是所见即所得. 富 ...
- 微信公众号api关注接口php,微信公众平台接口开发入门示例
本文实例讲述了微信公众平台接口开发入门示例.分享给大家供大家参考.具体如下: 微信公众平台的接口开发是一个现在比较常用的功能了,很多的人都会去了解一下微信公众平台一些简单开发应用,这里就来给大家介绍一 ...
- Java日志框架 -- 日志框架介绍、日志门面技术、JUL日志(JUL架构、JUL入门示例、JUL日志级别、JUL日志的配置文件)
1. 日志的概念 日志文件是用于记录系统操作事件的文件集合,可分为事件日志和消息日志.具有处理历史数据.诊断问题的追踪以及理解系统的活动等重要作用. 2. Java日志框架 问题: 控制日志输出的内容 ...
- TIA博途中变长数组的介绍与使用入门示例
TIA博途中变长数组的介绍与使用入门示例 使用变长数组的注意事项: 接口参数Array[*] of -,实参使用指定类型数组: 可以使用的范围:FC的Input.InOut,FB的InOut: FC或 ...
- Spring入门示例及相关概念介绍
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Spri ...
- scala方法中的变量_Scala变量,变量范围,字段变量,方法参数示例
scala方法中的变量 Variables can be defined as the reserve space in memory to store the assigned values. Ba ...
最新文章
- linux文件描述符与标识符,文件描述符fd
- Spring Boot 2.x基础教程:使用 Thymeleaf开发Web页面
- 小程序如何用data的数据控制页面展示_17. 教你零基础搭建小程序:小程序事件绑定(1)
- 论文阅读计划2(Deep Joint Rain Detection and Removal from a Single Image)
- 01. elasticsearch certification 练习题
- 170. Two Sum III - Data structure design【easy】
- Java异步非阻塞编程的几种方式
- extjs 月份选择控件_Excel | 做个生日提醒控件,本月或下月过生日的员工信息随你查看...
- mysql主从北_mysql主从复制(超简单)
- 沙盘模拟软件_3D电子心理沙盘系统
- 元类介绍、自定制元类
- 数学之美 第二版 pdf
- 贪吃蛇游戏设计汇报c语言,贪吃蛇游戏设计报告(C++).doc
- PTA 数据结构与算法题目集(中文)7-38 寻找大富翁(25 分)快排或堆排序
- javah生成的头文件在方法名前加1
- 找坏球——面试智力题
- 《私募股权基金投资基础知识》---第二章
- 高盛发布区块链报告:从理论到实践(中文版)一
- AutoSAR开发的三种方法:自上而下式、自下而上式、混合式
- 常见的无法上网故障原因和解决方法