scala学习笔记(基础知识)

来源:互联网 发布:ok软件 编辑:程序博客网 时间:2024/05/17 07:16

一、 基本类型

名称 位数 范围或备注 Byte 8bit的有符号数字 -128 – 127 Short 16 bit有符号数字 -32768 – 32767 Int 32 bit 有符号数字 -2147483648 到 2147483647 Long 64 bit 有符号数字 -9223372036854775808 到 9223372036854775807 Float 32 bit IEEE 754 单精度浮点数 Double 64 bit IEEE 754 双精度浮点数 Char 16 bit Unicode字符 U+0000 到 U+FFFF String 字符串 Boolean 布尔类型 Unit 表示无值,和其他语言中void等同 Null 空值或者空引用 Nothing 所有其他类型的字类型,表示没有值

二、 面向对象思想
scala中一切皆为对象,函数也是对象,数字也是对象
三、 声明变量
1. var 定义变量

    var msg="hello scala!"    println(msg)
  1. val 类似于java中的final类型

    var msg="hello scala!"
    println(msg)
  2. 为变量声明类型

    scala> var msg2: java.lang.String = "Hello world!"

四、 定义函数
1. 有函数体

scala> def max(x: Int, y: Int): Int = {if (x > y) xelse y}scala> max(3,5)结果:5
  1. 没有函数体,类似于python的lambda
def max2(x: Int, y: Int) = if (x > y) x else yscala>def greet() = println("Hello, world!")

五、定义类
熟悉python的同学应该很容易接受

class Accumulator{  def add(a:Int,b:Int):Int = {        return a+b  }}var acc = new Accumulator()var sum = acc.add(1,3)println(sum)println(acc.add(2,3))

六、定义脚本
编写print.scala脚本

print(args)

调用脚本

$scala print.scala hello

七、控制
1. if

def max(x: Int, y: Int): Int = {if (x > y) xelse y}

如果if后面没有else,默认返回Unit
2. while
编写脚本while.scala脚本

var i=0while(i<args.length){  print(args(i))  i += 1}
$scala while.scala 123 abc
  1. for
    1). 循环打印1-9

    for(i<-1 to 9)    print i

    2). 类java增强for循环

    for(arg<-args)   print arg

    3). foreach循环

    args.foreach(arg=> println(arg))
  2. 循环停止用break
    scala中不建议使用break,可以使用标志位的方式停止循环

    var flag = truevar count = 0while(flag){    count = count+1    if(count==10)      flag = false}

    如果一定要使用break,可以引用scala.util.control.Breaks._,引用后可以使用break关键字了。

0 0
原创粉丝点击