2. Scala入门和IDEA搭建Scala程序

val和var的区别

val:值
final
val 值名称:类型 = xxx (:类型可以不加)
val 不能重新赋值

var 变量
var 变量名称:类型 = xxx (:类型可以不加)
var 可以重新赋值

基本数据类型

 

Byte/Char
Short/Int/Long/Flout/Double
Boolean
例如:

# 默认Double
scala> val d = 1.1
scala> val e:Flout = 1.1f
scala> val f:Int = 10
# Int转换成Double
scala> val g = 10.asInstanceOf[Doble]
# 判断数据类型
scala> val h = 10.isInstanceOf[Int]
h: Boolean = true

lazy在Scala中的使用

如果一个变量或常量声明成一个lazy后,并不会立刻发生真正的计算,只有当第一次使用的时候这个变量或常量才会产生结果。假如执行语句有问题,不适用lazy会直接报错,使用lazy并不会直接报错,而是在第一次访问的时候报错。

scala> val i = 1
i Int = 1
scala> lazy val a =1
i Int = <lazy>

Scala IDE

IDEA:需要自己安装Scala插件
File->setting
搜索Plugins,在Plugins页面搜索Scala进行安装
Eclipse:Scala IDE Eclipse 自带Scala
NetBeans

IDEA整合Maven搭建Scala应用程序

前提:安装好IDEA和Maven

File->new->Project
选择Maven,Project SDK选择JDK8,Create from archetype选择scala tools

填写包名、版本号

更改为本地Maven地址

填写项目名、地址后点击Finish

修改pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.yy</groupId>
  <artifactId>scala-train</artifactId>
  <version>1.0</version>

  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <encoding>UTF-8</encoding>
    <scala.version>2.11.8</scala.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.scala-lang</groupId>
      <artifactId>scala-library</artifactId>
      <version>${scala.version}</version>
    </dependency>
  </dependencies>

  <build>
    <sourceDirectory>src/main/scala</sourceDirectory>
    <testSourceDirectory>src/test/scala</testSourceDirectory>
    <plugins>
      <plugin>
        <groupId>org.scala-tools</groupId>
        <artifactId>maven-scala-plugin</artifactId>
        <version>2.15.0</version>
        <executions>
          <execution>
            <goals>
              <goal>compile</goal>
              <goal>testCompile</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

posted @ 2019-11-25 18:01  YanceyY  阅读(505)  评论(0)    收藏  举报