zoukankan      html  css  js  c++  java
  • scala学习(一)

    scala:
      java语言脚本化,运行在JVM之上。java能用的库,scala也能用。
      面向函数:
        直奔主题
        直接写程序,运行即可

    安装scala解析器:
      tar
      配置PATH
      scala进入命令行

    java和scala区别:

           javac          java
    java ---> .class ----> App
              scalac      scala
    scala ----> .class ----> App

    scala常用类型:7种,并不刻意区分基本类型和引用类型
    Byte Char Short Int Long Float Double Boolean 都是类

    infer:类型推断,定义变量时候可以不用定义变量类型,自己会进行判断

    scala     java
    Int     int + Integer
    val    (value) final
    var     变量

    scala基础语法学习:

    scala> :history
    scala> :help
    scala> :clear


    scala> : 1 + 2
    res4: Int = 3


    scala> 5 + res4
    res5: Int = 8


    scala> "hello" + res5
    res6: String = hello8


    scala> val x = 2 + 5 --> 指定变量类型
    x : Int = 7

    scala> x = 10 --> 报错


    scala> var y = 1 + 4 --> 不指定变量类型
    y : Int = 5
    scala> y = 11 --> 正确


    scala> val greeting : String = null 指定变量类型
    scala> val greeting : Any = "Hello" --> 任意类型,区分大小写

    scala> a + b --> +加号是方法,下面两个等同
    res9:Int = 200
    scala> a.+(b)
    res10:Int = 200
    在scala里面,+-*/,&|^>><<等操作符实际上是方法。a 方法 b = a.方法(b)。如:1 to 10 = 1.to(10)

    val x = 1.to(10) --> 输出1到10 range,函数方法
    x: scala.collection.immutable.Range.Inclusive = Range(1,2,3,4,5,6,7,8,9,10)
    var y = 2.to(10)
    y: scala.collection.immutable.Range.Inclusive = Range(2,3,4,5,6,7,8,9,10)
    Int --> RichInt
    Double --> RichDouble
    Char --> RichChar
    to 方法是RichInt类中的方法,在1.to(10)里面,Int
    var x = 1 to 10 --> 操作符
    x: scala.collection.immutable.Range.Inclusive = Range(1,2,3,4,5,6,7,8,9,10)

    var x = 1.toString --> 1自动转换成Integer
    x: String = 1
    val x:Int = 1.toString --> 报错,指定x为Int类型,但是又将1转换为String类型

    StringOps:字符串操作,字符串工具类

    var x = "hello".intersect("world")
    x: String = lo --> 判断字符串重叠部分
    val x = 97.toChar
    x: Char = 97
    val:Char = 97 --> 报错哦
    val x : Short = 100
    x : Short = 100

    scala>a += 3
    scala> a
    res13: Int = 103
    scala里面没有++/-- 不支持(说的是因为Int类不可变,每次出来都是新的变量)
    支持+= | -=

  • 相关阅读:
    centos下vsftpd不能显示文件,不能创建文件及文件夹
    PHP过滤常用标签的正则表达式
    px、dp、sp、mm、in、pt这些单位有什么区别?
    Android Studio升级后报 method not found: 'runProguard'的错误
    Android应用签名
    Android技巧小结之新旧版本Notification
    java中 synchronized 的使用,确保异步执行某一段代码。
    android开发笔记(二)导入项目到eclipse和另一个项目
    android开发笔记(一)Android studio 输入法
    这个算asp.net的一个bug吗?
  • 原文地址:https://www.cnblogs.com/bsfl-study/p/9056299.html
Copyright © 2011-2022 走看看