Scala:2.11.8
IDEA+Maven+Scala
安裝Scala的前置條件:Java8+
解壓JDK: tar -zxvf jdk-8u91-linux-x64.tar.gz -C ~/app
/home/hadoop/app/jdk1.8.0_91
解壓scala:tar -zxvf scala-2.11.8.tgz -C ~/app/
/home/hadoop/app/scala-2.11.8
~/.bash_profile
export JAVA_HOME=/home/hadoop/app/jdk1.8.0_91
export PATH=$JAVA_HOME/bin:$PATH
export SCALA_HOME=/home/hadoop/app/scala-2.11.8
export PATH=$SCALA_HOME/bin:$PATH
scala類型推導(dǎo)數(shù)據(jù)類型
System.out.println("ruoze data....")
public class HelloWorld {
public static void main(String[] args) {
System.out.println("ruoze data....");
}
}
object HelloWorldScala{
def main(args:Array[String]) {
println("Hello: ruoze data....");
}
}
Java編譯:javac
Java運(yùn)行:java
Scala編譯:scalac
Scala運(yùn)行:scala
為什么Scala需要JDK???
數(shù)據(jù)類型、數(shù)據(jù)類型推導(dǎo)、四則運(yùn)算、println、scalac/scala
Java中每一行都是使用分號(hào)結(jié)尾,而scala是不需要分號(hào)的
變量和值
Java:public final class String
val:值
var:變量
val/var 名稱: 數(shù)據(jù)類型 = xxx
val age:Int = 18
等價(jià)于
val age = 18
reassignment
re assign ment?
repeat?
數(shù)據(jù)類型?
Hive數(shù)據(jù)類型
Int/Long/Float/Double
Boolean <= Int 0 1
String
強(qiáng)制類型轉(zhuǎn)換:
(String)xxx
asInstanceOf
判斷數(shù)據(jù)類型:isInstanceOf
注意: asInstanceOf vs isInstanceOf