Scala -- 初识scala

Scala:

      官网:https://www.scala-lang.org/

      scala是纯面向对象的函数式编程语言,scala 中的基本数据类型 也是对象(类似java中的基本数据类型的包装类)

       特点:

         1. 无缝与java集成,运行在jvm中

         2. 类型推断 ,弱类型引用,根据上下文可以推断声明的变量的类型

         3. 并发和分发,体现在对集合的操作(Actor)

         4. 特质,特征,性状,将Java风格的界面的灵活性与类的强大功能相结合。考虑有原则的多重继承。(面向接口编程,类似java中的接口和抽象类) 关键字 trait

         5. 模式匹配;

         6. 高阶函数

       安装使用:

            1. 直接官网下载环境包,配置环境变量 和java 一样

                  环境要求 jdk8 以上,jdk8有时候也会出现问题,当报错的时候 要么升级jdk,要么降低scala版本

                 例如报错,当时也是使用的jdk8 ,但是还是不适用,最后重新下载个低版本的scala解决

 

            2. 使用IDE, 官网下载集成了scala的eclipse; 或者使用idea 下载插件

       语法模块

数据类型

       1. 基本数据类型: Byte,Short,Int,Long, Float,Double,Char,Boolean

       2. 字符串类型:String

       3. Unit: 表示无值,类似void

       4. Null 

       5. Nothing : 所有其他类型的子类型,表示没有值

       6. Any : 所有类型的超类,任何实例都属于Any类型

       7. AnyRef : 所有引用类型的超类

       8. AnyVal : 所有值类型的超类

类型定义

       var  定义变量  var v = 10; 等同 var v:Int = 10

       val 定义不可变的变量,val v = 10

代码示例:scala中的helloWord

// 声明一个scala object
object TestScalaObject {

 // scala中的main方法, object中才能使用main方法
  def main(args: Array[String]): Unit = {

    // 声明变量  scala中语句后可以不带分号 ;
    var v1 = 10
    val v2 = 12   // 不可变的变量,重新复制报错
    print(v1 + v2)  // 输出22
  }
}

    scala 中的类和对象

         scala中的类和对象能同名,同名的类和对象 分别叫做伴生类 和伴生对象,并且伴生对象能访问伴生类的私有属性;

         object中的属性默认是val 的不可变的,声明成var 的也是静态的,默认 方法也是静态的;

    Scala中的类

// 声明一个scala类 ,属性必须有默认值,没有默认值需要将他设置为抽象类
// TestScalaClass(name: String,age: Int) 默认构造器
//  声明其他的构造器的时候必须调用默认构造器
 class TestScalaClass(name: String,age: Int) {
  var namex = name ;
  val agex = age;
  var gender = "";
 // 三个参数的构造器
  def this(name: String,age: Int,g: String) {
    this(name,age)
    this.gender = g
  }
  // 无参构造器
  def this(){
    // 必须调用 类上声明的 构造器
    this("",0)
  }

   scala中的循环和判断语句

def main(args: Array[String]): Unit = {

    // 1. 使用 to 包头包尾
    for(i<- 1 to 10) {
      println(i)  // 1-10
    }
    // 2. 使用 until
    for(i <- 1 until 10) {
      print(i)   // 1-9
    }

    // 3. 加入判断
    for(i <- 1 to 10 ;if(i%2 ==0 && i >5 || i==2)){
      print(i)
    }
    // 4. if else,while ,do... while 和java一致
    // 5. scala中不能使用 ++ 例如 count++

 

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。、可私 6信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。、可私 6信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 、可私信博6主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值