Scala学习系列一

Posted cxyxiaobao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scala学习系列一相关的知识,希望对你有一定的参考价值。

 一 scala介绍  

  Scala是一门以java虚拟机(JVM)为目标运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言。
    1)  Scala 是一门多范式 (multi-paradigm) 的编程语言,Scala支持面向对象和函数式编程
    2)  Scala源代码(.scala)会被编译成Java字节码(.class),然后运行于JVM之上,并可以调用现有的Java类库,实现两种语言的无缝对接。
    3)  Scala 单作为一门语言来看, 非常的简洁高效
    4)  Scala 在设计时,马丁·奥德斯基 是参考了Java的设计思想,可以说Scala是源于java,同时马丁·奥德斯基 也加入了自己的思想,
      将函数式编程语言的特点融合到JAVA中, 因此,对于学习过Java的同学,只要在学习Scala的过程中,搞清楚Scala 和 Java相同点和不同点,
      就可以快速的掌握Scala这门语言
二 windows安装sacla开发环境:
     Scala需要Java运行时库,安装Scala需要首先安装JVM虚拟机并配置好,推荐安装JDK1.8

   在  http://www.scala-lang.org/    下载Scala2.11.8程序安装包
     技术图片
  安装&配置
  1.  配置JDK的环境变量 JAVA_HOME
  2.  配置Scala的环境变量SCALA_HOME
  3.  将Scala安装目录下的bin目录加入到PATH环境变量
    在PATH变量中添加:%SCALA_HOME%in
  4. 在命令行窗口中输入“scala”命令打开scala解释器(REPL)
       出现下面的内容表示Scala已经正确的执行

  技术图片

 

   idea中配置:

    技术图片

 

 

 idea开发scala第一个项目:

首先创建一个java的maven项目。然后配置:

技术图片

 

 开发第一个程序:

技术图片

 

 技术图片

 

 就可以创建了:

技术图片

 

 

看运行结果:

技术图片

 

 scala是一个完全的面向对象语言,来解释下代码具体含义:

package com.cxy.scala

object Abc{
  //scala编译源码中包含了main方法,再编译后自动形成public static main
  //scala再编译源码时候,会生成两个字节码文件,静态的main方法执行另外一个字节码文件中
  //成员main方法
  //scala是完全面向对象的语音,没有静态方法,只能通过模拟僧从静态方法
  //编译时,将当前类生成一个特殊的类,,Abc$,然后创建对象来调用这个对象的main方法

  //一般情况下,将加$符号的类对象,称之为“半生对象”
  //半生对象,就可以通过类名来访问,来模拟java中的静态方法
  //伴生对象,使用object声明

  //public static void main (String[] agrs){
  // 方法体
  // }

  //scala中没有public关键字,默认所有的访问类权限都是公共的
  //void, static,也是没有这个关键字,

  //scala 中使用unit来模拟void关键字

  //scala中声明方法采用关键字def
  //方法后面的小括号,参数类表,
  //scala中,参数类表的声明方式和java中不一样

  //scala只关注变量名。java中:String 参数名
  //scala中  参数名:类型

  //java中方法得声明和方法体直接连接
  //scala中将方法的声明和方法题是通过等号连接

  //scala中将方法的返回值类型防止再方法声明的后面使用冒号连接的
  def main(args: Array[String]): Unit =  {
    println("Hello World")
  }
}

看代码中的注释,就可以明白了

 

所以不做太多的阐述了

1) 打开IDEA工具,如图:点击Configure

以上是关于Scala学习系列一的主要内容,如果未能解决你的问题,请参考以下文章

Scala系列Scala学习笔记

好程序员大数据学习路线分享Scala系列之泛型

好程序员大数据学习路线分享Scala系列之集合操作函数

SpringBoot系列之集成Scala开发API接口

scala学习笔记-Actor(19)

SpringBoot系列之集成Scala开发API接口