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类不可变,每次出来都是新的变量)
支持+= | -=

原文地址:https://www.cnblogs.com/bsfl-study/p/9056299.html