scala-第二章-scala入门

目录

val vs var
lazy在scala中的应用
基本数据类型
scala开发工具
使用IDEA整合Maven构建scala应用程序

val vs var

val:值
    final
    不可变,一旦初始化值就不能变了
    val 值名称:类型=xxx
    完整写法 val age:Int=20
    大多数情况下 ":类型" 是可以省略不写的 val age=20
    
scala> val money=100
val money: Int = 100

scala> money=200
            ^
       error: reassignment to val
var:变量
    可变的
    var 值名称:类型=xxx
    完整写法 var age:Int=20
    大多数情况下 ":类型" 是可以省略不写的 var age=20
    
scala> var name:String ="zhangsan"
var name: String = zhangsan

scala> var name:String ="zhangsi"
var name: String = zhangsi

scala> var name="zhangwu"
var name: String = zhangwu

scala基本数据类型

Byte/Char
Short/Int/Long/Float/Double
Boolean
数值类型
scala> val a:Int=10
val a: Int = 10

布尔类型
scala> val b:Boolean=true
val b: Boolean = true

scala> val c=false
val c: Boolean = false

Double类型
scala> val d=1.1
val d: Double = 1.1

如果直接定义Float是不行的
scala> val e:Float=1.1
                   ^
       error: type mismatch;
        found   : Double(1.1)
        required: Float
解决
scala> val e:Float=1.1f
val e: Float = 1.1

如果Int类型想转Double?
scala> val f =10
val f: Int = 10
scala> val g=10.asInstanceOf[Double]
val g: Double = 10.0

判断数据类型
10是不是一个Int类型
scala> val h= 10.isInstanceOf[Int]
val h: Boolean = true

scala> val h= 10.isInstanceOf[Double]
val h: Boolean = false

lazy在scala中的使用

当变量声明为lazy只有操作的时候才会去访问,如果不去访问即使写错了也不会报错
一般写法,会直接显示结果
scala> val i =1
val i: Int = 1

lazy写法,定义后不会访问,只有用到了才会访问
scala> lazy val a= 1
lazy val a: Int // unevaluated

scala> a
val res7: Int = 1

scala开发工具

IDEA:需要自己安装scala创建
Eclipse:Scala IDE Eclipse 自带Scala
NetBeans

非常推荐的博客(里面讲了在IDEA安装scala,如果网络好还是推荐使用在线安装):https://blog.csdn.net/u013973379/article/details/82826034

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Martin Odersky 用他定义的匹萨语言给了 Java世界一个很大的冲击。尽管匹萨本身没有流行 但它展现了当把面向对象和函数型语言两种风格,技术地且很有品地混搭在一起时,就形成了 自然和强有力的组合。匹萨的设计成为了 Java泛型的基础,马丁的 GJ(Generic Java)编译 Java 1.3开始成为了 Sun 微系统的标准编译器(尽管关闭了泛型)。我有幸能够维护这个编译 年,因此我能通过第一手经验从语言设计到语言的实现方面(向大家)报告马丁的技术。 那时候我们还在 Sun 公司,尝试用一些零打碎敲的特定问题解决方案来扩展语言,如 for-eac 环,枚举,自动装包,去简化程序开发的时候,马丁则继续着他在更强大的正交语言原语方面 作以帮助程序员用库来提供解决方案。 后来,静态类型语言受到了冲击。Java 的经验说明了静态语言编程会导致大量的固定写法的代 通常认为我们应该避免静态类型从而消除这种代码,于是人们对动态语言如 Python,Rub Groovy的兴趣开始增加。这种认知被马丁最近的作品,Scala,的出现打破。 Scala 是一种很有品味的类型语言:它是静态类型的,但仅在需要的地方显式定义类型。Scala 向对象和函数式语言两方面获得了强大的特性,然后用一些新奇的点子把它们漂亮地整合成一 它的语法是如此的轻量级,而原语又如此富有表达力,以至于根本可以认为 API的使用不须负 法开销。我们可以在标准库中,如拆分器、组合器和执行器,中发现例子。从这点上看,Scal 一种支持内嵌的域特化:embedded domain-specific 的语言。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值