Scala编程语言学习总结

                           Scala学习总结

一、Scala的简介

      Scala是一种基于JVM的编程语言,学习目的主要是为了Spark的学习与相关代码的编写。
    Scala的六大特征:

        1).Java和scala可以无缝混编,都是运行在JVM上的
	2).类型推测(自动推测类型),不用指定类型  
	3).并发和分布式(Actor,类似Java多线程Thread) 
	4).特质trait,特征(类似java中interfaces 和 abstract结合)
	5).模式匹配,match case(类似java switch case)
	6).高阶函数(函数的参数是函数,函数的返回是函数),可进行函数式编程

二、Scala安装使用

  1. windows安装,配置环境变量
  • 官网下载scala2.10:https://www.scala-lang.org/download/2.10.4.html

  • 下载好后安装。双击msi包安装,记住安装的路径。

  • 配置环境变量(和配置jdk一样)
             ①新建SCALA_HOME,配置好Scala安装的目录位置信息。
             ②编辑Path变量,在后面追加如下:
               ;%SCALA_HOME%\bin;%SCALA_HOME%\jre\bin

  • 打开cmd,输入:scala - version 看是否显示版本号,确定是否安装成功
    在这里插入图片描述

  1. Scala程序编译工具
        ①Scala ide
         下载网址:http://scala-ide.org/download/sdk.html
        ②推荐使用IDEA中配置scala插件
         1》 打开idea项目后,点击Configure->Plugins
    在这里插入图片描述     2》搜索scala,点击Install安装
    在这里插入图片描述     3》设置jdk,打开Project Structure,点击new 选择安装好的jdk路径
    在这里插入图片描述在这里插入图片描述     4》创建scala项目,配置scala sdk(Software Development Kit)
    在这里插入图片描述

三、Scala基础

1.数据类型
在这里插入图片描述在这里插入图片描述在这里插入图片描述
2.变量和常量的声明
    Scala中通常用var声明变量,可修改;用val声明常量,不可修改即不可对常量进行再赋值;不用指定数据类型,由Scala自己进行类型推测。
注意点: 在scala中每行后面不需要加分号,直接通过换行如来区分;但是一行中写了多个语句,语句与语句之间必须用分号来分割
例如:

var age = 18   ; var name = "angelababy"
    
    var heighat,score = 10
    val sex = "male"

3.类和对象

class :修饰的称为伴生类;定义在class中的属性都是动态的,用于实例化 的;scala中的class类默认可以传参数,默认的传参数就是默认的构造函数。class 类属性自带getter ,setter方法。使用class时要new (必须new,除非在对象伴生用apply方法【在加载类的时候默认自动调用】已实经例化好),并且new的时候,class中除了方法不执行,其他都执行。

object: 修饰的称为伴生对象;定义在object中的属性(字段、方法)都是静 态的,main函数写在里面;scala 中的object是单例对象,相当于java中的工具类,可以看成是定义静态的方法的类.object不可以传参数。使用object时,不用new.

创建类

class Person{
  val name = "zhangsan"
  val age = 18
  def sayName() = {
    "my name is "+ name
  }
}

    在创建类时,可以在类名后面加入一个括号,括号中写定义的参数类型,括号中的参数就表示类的构造函数由括号内的参数组成。补充: ①当参数用var修饰那么可以通过对象修改其值;当参数用val修饰那么无法通过对象来修改值;当参数没有修饰符,那么在外部无法通过对象来调用。
      ②若想增加一个类的传入参数,则需要在声明的类中重写构造函数,这样就可以在mian函数中声明有增加的属性的对象,当然原来的对象也可以声明。
               重写this函数

  /*
   *  重写的构造函数,参数不能有修饰符
   */
  def this (id:Int,name:String,facePower:Double ){
    //首先要调用父构造函数
    this(id,name)
    fcp = facePower
    
  }

创建对象

object Lesson_Class {
   def main(args: Array[String]): Unit = {
    val person = new Person()
    println(person.age);
    println(person.sayName())
  }
}

Appl

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值