zoukankan      html  css  js  c++  java
  • Scala学习笔记

    1、进入scala:直接输入scala即可

    2、退出:输入:quit或者:q都可以

    3、输入变量一部分,按Tab键可补全可调用的方法名称

    4、从技术上讲Scala并不是一个解释器,实际上是将读取的输入内容迅速的编译成字节码,然后交由Java虚拟机执行,也被称为REPL(读取-计算-打印-循环)

    5、声明常量值使用val,如val a=10;(注:使用val定义的变量的值不允许再修改,否则会报error: reassignment to val的错误)

    6、var 声明的变量值可改变

    7、变量在定义时必须做初始化,否则会报错,而且同一行代码中有多条语句时需用分号;隔开

    8、Scala有9种数值类型,Byte、Int、Long、String、Double、Char、Short、Float、Boolean,与Java不同的是Scala不区分值类型与引用类型,因为你可以对一个整型使用toString方法,如1.toString

    9、基本数据类型转换:String在操作时可以被隐式转换成StringOps对象,通过StringOps对象给字符串添加了上百种操作,如:"hello".intersect("world")找出两个字符串中共同的字符、toString方法转换成字符串、toInt、toDouble转换成数字等方法

        删除某个字符"hello".drop(2)输出llo,删掉了左边两个,dropRight(2)是删掉右边两个

        "hello".filter(_!='l')输出heo,将l过滤掉了

    10、val bulder = new StringBuilder;builder.append("hello")定义可变字符串

    11、Scala运算符号与java不同的是Scala中的运算符是当做方法来使用的,如a+b是a.+(b)的简写

    12、调用函数,先引入响应的包,如import scala.math._(_符号类似java中的*,是一个通配符操作)

    13、在Scala中允许使用字符串乘以数字,如"abc"*3输出abcabcabc即输出了3遍abc,但是反过来数字乘以字符串是不允许的

    14、scala 在线API:http://www.scala-lang.org/api/2.11.7

    15、由于Scala中有类型推断的机制,所以定义变量时不用指定类型,如var x=1,如果想显示指定也可以,如var m:String="abc"

    16、不同于Java,Scala在如var x,y=10定义变量时x、y都会赋值10,而java中只会给y赋值10

    17、如图,x打印结果为Unit,原因在于赋值语句在scala中的返回值为Unit(跟Java中不同)

    18、如图,Scala有隐式转化功能,点击7行前的图标可以看到Scala将String隐式转换成了StringOps,即toInt是StringOps的方法,所以在以后用到String时驶入某个方法没有定义,可以看下StringOps里面有没有定义,其实不止String,int、double等也都有对应的RichInt、RichDouble为其提供了很多方法可以调用

    19、在Scala中操作符其实调用的都是方法,如1+2是1.+(2)的简写,而且在Scala中如果方法的参数只有1个,可以写成操作符的形式,如1 to 10、1 max 2等等

          在明确了方法调用的接收者的情况下,若方法只有一个参数时,调用的时候就可以省略点及括号。如 “0 to 2”,实际完整调用是 “0.to(2)”。但 “println(2)” 不能写成 “println 10“”,因为未写出方法调用的接收者 Console,所以可以写成 “Console println 10”

  • 相关阅读:
    "rel=nofollow"属性简介
    js获取微信code
    css--clearfix浮动
    css3--之HSL颜色
    数据库列名为关键字如何搜索
    flexigrid
    easyui-dialog
    关于在jsp中的表达式
    jquery 中 $('div','li')
    myeclipse中常用的快捷键
  • 原文地址:https://www.cnblogs.com/zhli/p/4826955.html
Copyright © 2011-2022 走看看