Scala定义变量

Scala中定义常量使用val,相当于java中的final,一量初始化就不允许修改。
示例:
scala> val v1="v1"
v1: String = v1

scala> v1="v2"
<console>:8: error: reassignment to val
      v1="v2"
        ^

Scala中定义变量使用var
示例:

scala> var testVar = "var"

testVar: String = var

scala> testVar = "var1"

testVar: String = var1


从上例可以发现,控制台显示的变量类型为String类型(例:testVar: String = var1),这就是Scala中很重要的一个特性类型推断:type inference,在定义变量的时候如果没有指定变量类型, Scala编译器可以通过判断变量的值设定类型

定义指定类型的变量
scala> var v3:Double=10
v3: Double = 10.0

Scala中的数据类型包括:Byte   Short   Int   Long   Char   Float   Double   Boolean


2019-03-23 20:39

知识点

相关教程

更多

Scala函数定义与调用

定义一个函数的格式是def 函数名([参数名[:参数类型][,参数名[:参数类型]......]])[:返回类型]{......} 看以下示例: package com._656463.scala.baisc object HelloScala {  def main(args: Array[String]) {    //println("hello scala");

scala下载与安装

scala下载       http://www.scala-lang.org/download/2.10.4.html     http://211.162.127.24/files/4093000005A6185B/scala-lang.org/files/archive/scala-2.10.4.msi  设置环境变量  安装jdk,参考 http://www.656463.com/arti

scala数组操作

定长数组 最简单的数组创建如下,记住方括号在Scala中用做泛型,相当于<>在Java中作用。 定义10个Integer的数组,初始值为零。 val nums = new Array[Int](10)    定义数组的时候,可以省略new的初始化,并且利用类型推断,无需指明类型 val s = Array("Hello", "World") 获取

java变量:什么是变量

什么是java变量?首我来了解什么是java? 俗人得用俗人的说法来说,要不还不如买本书来来啃。 java是一种程序语言,为什么不是程序,而是语言?就像汉语,他有一定要语法,你说出来人们才能听得懂,也就是说,你根本java的语法,写出来的东西就是程序,这样机器才能听是懂你在说什么。 再来说说变量,既然是程序,就得运算,就如你去买东西,就得花钱。那你去的时候,钱总得拿在手里,或者放在兜里面。变量就是

使用Intellij IDEA创建scala工程

file-->new project,选择创建一个scala工程 设置好JDK和scala sdk 选择结束 创建一个很简单的scala object package com._656463.scala.hello object HelloScala {  def main(args: Array[String]) {    println("hello scala");

Intellij IDEA配置scala开发环境

在idea添加scala插件,在插件中搜索是否已经安装了scala    上图表明还同安装scala,选择Instarll JetBrains plugins  搜索scala,然后点击右边的Install plugin      如果你的网络不好,安装的过程中会有提示“Plugin Scala was not installed: Read timed out”的超时信息。可以选择下载idea的

jsp:getProperty对变量使用的问题

JSP WEB 编程指南里面说  <jsp:getProperty > 可以用对任何变量使用,用书上的例子,结果一直出报错。。。  自己试了下:  1、在java中加入变量定义,结果说在bean中已经定义了...编译不了  2、jsp页面刷新2次,一次是Unable to load class for JSP,另外一次是Cannot find any information on pr

Java变量类型

Java变量类型    在Java语言中,所有的变量在使用前必须声明。声明变量的基本格式如下: type identifier [ = value][, identifier [= value] ...] ; 格式说明:type为Java数据类型。identifier是变量名。可以使用逗号隔开来声明

FreeMarker四种变量的用法

freemarker的变量可以分为四种,分别是数据模型的变量【root中的变量】,模板中的变量使用【<#assign>定义的变量】,局部变量【在指令中的变量】,循环变量【在循环中的变量】

Ruby常用的内部变量

在ruby程序中,经常会看到一些以$开头的变量,这些不是指我们自己在程序中设置的全局变量,而是指系统内部已经设置好的变量,他们代表了一些特定的意思,下面搜集了一些常用的内部变量,用一些简单的代码说明他们代表的意思:  局部域:   在某一个线程作用域内才能有效,下列也可看做是线程内的局部变量。 PS:这边讲解的几个变量都是于正则匹配相关的,正则匹配过程的代码是一样的,这里不重复输入正则表达式匹配的

ruby 全局变量

全局变量由$开头.它们可以在程序的任何位置访问到.在初始化前,全局变量有一个特殊的值 nil.  这里列出了一些以$打头并跟单个字符的特殊变量.比如,$$包含了Ruby解释器的进程id,它是只读的.这里是主要的系统变量以及它们的含义(细节可在Ruby的参考手册中查到):  $! 最近一次的错误信息  $@ 错误产生的位置  $_ gets最近读的字符串  $. 解释器最近读的行数(line num

js怎么在引号里面引用变量

比如这样  var num=0xcccccc;var str="<p style='color:'>test</p>"document.write(str); 怎么把num变量放到color:后面?  谢谢!  问题补充:  4楼能解释一下为什么  " + num.toString(16) + " 可以引用变量吗?

FSNamesystem几个重要的成员变量

FSNamesystem中有几个非常重要的变量,对于理解NameNode的实现具有重要意义。下面,我们看一下这几个变量和他的作用。     lblocksMap:blocksMap是类BlocksMap的实例,其代表了Block→{INode、datanodes}的映射。具体代表了每一个Block在哪一个DataNode上存储。 datanodeMap:datanodeMap是类Navigable

Hadoop的“全局变量”

以前有做过在Hadoop编写程序时使用全局变量的想法,但是最后却没有实现,上网查才看到说Hadoop不支持全局变量。但是有时候编程的时候又会用到,比如编写k-means算法的时候,如果可以有个全局变量存储中心点该多好呀。其实在hadoop中确实是有相关的实现的,比如可以在mapper中的setup函数中读取一个小文件,然后从这个文件中取出全局变量的值。 那具体如何实现呢?首先提出一个问题,然后利用

Groovy 变量详解


                            

最新教程

更多

java线程状态详解(6种)

java线程类为:java.lang.Thread,其实现java.lang.Runnable接口。 线程在运行过程中有6种状态,分别如下: NEW:初始状态,线程被构建,但是还没有调用start()方法 RUNNABLE:运行状态,Java线程将操作系统中的就绪和运行两种状态统称为“运行状态” BLOCK:阻塞状态,表示线程阻塞

redis从库只读设置-redis集群管理

默认情况下redis数据库充当slave角色时是只读的不能进行写操作,如果写入,会提示以下错误:READONLY You can't write against a read only slave.  127.0.0.1:6382> set k3 111  (error) READONLY You can't write against a read only slave. 如果你要开启从库

Netty环境配置

netty是一个java事件驱动的网络通信框架,也就是一个jar包,只要在项目里引用即可。

Netty基于流的传输处理

​在TCP/IP的基于流的传输中,接收的数据被存储到套接字接收缓冲器中。不幸的是,基于流的传输的缓冲器不是分组的队列,而是字节的队列。 这意味着,即使将两个消息作为两个独立的数据包发送,操作系统也不会将它们视为两个消息,而只是一组字节(有点悲剧)。 因此,不能保证读的是您在远程定入的行数据

Netty入门实例-使用POJO代替ByteBuf

使用TIME协议的客户端和服务器示例,让它们使用POJO来代替原来的ByteBuf。

Netty入门实例-时间服务器

Netty中服务器和客户端之间最大的和唯一的区别是使用了不同的Bootstrap和Channel实现

Netty入门实例-编写服务器端程序

channelRead()处理程序方法实现如下

Netty开发环境配置

最新版本的Netty 4.x和JDK 1.6及更高版本

电商平台数据库设计

电商平台数据库表设计:商品分类表、商品信息表、品牌表、商品属性表、商品属性扩展表、规格表、规格扩展表

HttpClient 上传文件

我们使用MultipartEntityBuilder创建一个HttpEntity。 当创建构建器时,添加一个二进制体 - 包含将要上传的文件以及一个文本正文。 接下来,使用RequestBuilder创建一个HTTP请求,并分配先前创建的HttpEntity。

MongoDB常用命令

查看当前使用的数据库    > db    test  切换数据库   > use foobar    switched to db foobar  插入文档    > post={"title":"领悟书生","content":"这是一个分享教程的网站","date":new

快速了解MongoDB【基本概念与体系结构】

什么是MongoDB MongoDB is a general purpose, document-based, distributed database built for modern application developers and for the cloud era. MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

windows系统安装MongoDB

安装 下载MongoDB的安装包:mongodb-win32-x86_64-2008plus-ssl-3.2.10-signed.msi,按照提示步骤安装即可。 安装完成后,软件会安装在C:\Program Files\MongoDB 目录中 我们要启动的服务程序就是C:\Program Files\MongoDB\Server\3.2\bin目录下的mongod.exe,为了方便我们每次启动,我

Spring boot整合MyBatis-Plus 之二:增删改查

基于上一篇springboot整合MyBatis-Plus之后,实现简单的增删改查 创建实体类 添加表注解TableName和主键注解TableId import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baom

分布式ID生成器【snowflake雪花算法】

基于snowflake雪花算法分布式ID生成器 snowflake雪花算法分布式ID生成器几大特点: 41bit的时间戳可以支持该算法使用到2082年 10bit的工作机器id可以支持1024台机器 序列号支持1毫秒产生4096个自增序列id 整体上按照时间自增排序 整个分布式系统内不会产生ID碰撞 每秒能够产生26万ID左右 Twitter的 Snowflake分布式ID生成器的JAVA实现方案