美文网首页
02.scala基础

02.scala基础

作者: shone_shawn | 来源:发表于2019-08-22 15:50 被阅读0次

一: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

相关文章

  • 02.scala基础

    一:val vs var val :为一个值,不能重新赋值 与java中 final修饰的变量相同 使用方法: v...

  • 机械设备安装技术

    设备基础种类及应用 垫层基础允许产生沉降:大型储罐 浅基础扩展基础联合基础:轧机独立基础 深基础桩基础:适用于需要...

  • 基础,基础,基础

    如果有人现在问我,JAVA该怎么学,我会告诉他不要急于求成,少看视频,多练,多思考。但说到这里有人可能会反...

  • 【Android】知识点汇总,坚持原创ing

    Android基础 Java基础 Java基础——Java内存模型和垃圾回收机制 语法基础 语法基础——C语法基础...

  • Java 基础

    Java 基础01Java开发入门 Java 基础02Java编程基础 Java 基础03面向对象 Java 基础...

  • 零基础学画画从入门到放弃

    零基础应该怎么学画画?零基础那就从基础开始学啊!基础是什么?造型基础和色彩基础。 造型基础就是用点线面组成起码能让...

  • 面试题汇总

    1.Java基础面试问题 Java基础之基础问题 Java基础之面向对象 Java基础之数据结构 Java基础之I...

  • 基础基础还是基础

    这次去面试,还是被基础给打趴下了。 对于PHP7的新特性没有了解。 对于TP的新特性没有了解。 再一个就是独立完成...

  • 零基础学UI设计需要美术基础吗?

    零基础学UI设计需要美术基础吗?零基础学UI设计需要美术基础吗?零基础学UI设计需要美术基础吗?零基础学UI设计需...

  • 基础基础!

    人生中第一个自主设计的实验方案终于得到认可^O^在设计方案过程中认识到基础知识以及细心的重要性,还有半个学期可以努...

网友评论

      本文标题:02.scala基础

      本文链接:https://www.haomeiwen.com/subject/tbrrsctx.html