02.scala基础

2019-08-22  本文已影响0人  shone_shawn

一:val vs var

val :为一个值,不能重新赋值 与java中 final修饰的变量相同

使用方法: val 值名称:类型 = xxx (:类型可以省略)

01.png

var:为一个变量

var 值名称:类型 = xxx

日常使用中优先使用val

二:Scala基本数据类型

Byte/Char

Short/Int/Long/Float/Double

Boolean

Scala能自动推导数据类型

02.png

但是在float和double类型中要加以区分,需要在float数据后加上f

03.png

类型转换(asInstanceOf)

image.png

判断类型(isInstanceOf)

image.png

三:Lazy在Scala中的使用


06.png image.png image.png

用lazy定义的变量的时候,不会直接赋值,只有在第一次使用时才会赋值

使用场景:

  1. 打开一个数据库连接。这对于程序来说,执行该操作,代价式昂贵的,所以我们一般希望只有在使用其的引用时才初始化。(当然实际开发中用的是连接池技术)
  2. 为了缩短模块启动时间,可以将当前不需要的某些工作推迟执行。
  3. 保证对象中其他字段的初始化能优先执行

四:Scala IDE

IDEA:需要安装scala插件

Eclipse:自带Scala

NetBeans(不是太推荐)

使用idea整合Maven构建Scala应用程序

下载idea:

https://www.jetbrains.com/idea/

下载maven

http://maven.apache.org/download.cgi

用idea整合maven创建scala项目

image.png image.png
image.png

装maven,import等安装好

创建成功。

修改pom中scala的版本

<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.code</groupId>
  <artifactId>scala-train</artifactId>
  <version>1.0</version>
  <inceptionYear>2008</inceptionYear>
  <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>
        <executions>
          <execution>
            <goals>
              <goal>compile</goal>
              <goal>testCompile</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <scalaVersion>${scala.version}</scalaVersion>
          <args>
            <arg>-target:jvm-1.5</arg>
          </args>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-eclipse-plugin</artifactId>
        <configuration>
          <downloadSources>true</downloadSources>
          <buildcommands>
            <buildcommand>ch.epfl.lamp.sdt.core.scalabuilder</buildcommand>
          </buildcommands>
          <additionalProjectnatures>
            <projectnature>ch.epfl.lamp.sdt.core.scalanature</projectnature>
          </additionalProjectnatures>
          <classpathContainers>
            <classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer>
            <classpathContainer>ch.epfl.lamp.sdt.launching.SCALA_CONTAINER</classpathContainer>
          </classpathContainers>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <reporting>
    <plugins>
      <plugin>
        <groupId>org.scala-tools</groupId>
        <artifactId>maven-scala-plugin</artifactId>
        <configuration>
          <scalaVersion>${scala.version}</scalaVersion>
        </configuration>
      </plugin>
    </plugins>
  </reporting>
</project>

创建第一个helloWorld

运行报错

07.png

移除pom文件中的

-make:transitive

意外错误:

08.png

文件位置错误

解决办法:

09.png 20.png

修改此处为指定路径

11.png

全部完成。

Idea下载scala插件生成项目见:https://blog.csdn.net/dufufd/article/details/71125280

上一篇 下一篇

猜你喜欢

热点阅读