scala语言补充

知识点:(1)apply方法的作用是在对象做初始化的时候,如果出现对象中缺少一些标志或标识符,scala会自动调用该类下面的apply方法
   (2)注意:如果一个object中的main方法不能运行的时候,检查一下包和所在的包结构的包是否一致
   (3)scala中也有listBuffer,StringBuffer
   (4)在scala中只要见到=>就是函数,_ 前面这个符号代表任意元素
   (5)集合中的常用方法:foreach()方法遍历集合中的元素 distinct()方法消除冗余去重的 sortBy()根据什么排序 filter()过滤,()里加条件,满足条件的保留
1.数组: 
var array1 =new Array(2);//定长数组,在创建的时候就制定了长度(2)
array1(0) = 4 //添加数据
        array1(1) = 5
        for(i <- array1){ //循环
              println(i)
       }
       var array2 = Array(1,2,3)//变长数组
    for(i <- 0 to array2.length-1){ //长度减1,否则报数组下标越界
        println(array2(i))
       }

//冒泡排序
var array3 = Array(1,8,2,4,6,5);
        var temp = 0
        for(i <- 0 to array3.length-1){
          for(j <- 0 to array3.length-1){
            if(array3(i)<array3(j)){
              temp = array3(i)
              array3(i) = array3(j)
              array3(j) = temp
            }
          }
        }
        for(i <- 0 to array3.length-1){
          println(array3(i))
        }

可变的数组:
var a = new ArrayBuffer[Int]()
a.+=(1)

2.scala中object和class的区别
(1)在scala中由于没有static这个关键字,规定只要是写在object中的属性或方法都是static的
(2)如果想要一个class运行,必须有一个object,规定如果object的名称和class的名称是一致的,我们将该object称之为这个class的伴生对象
(3)一个类必须要有一个伴生对象
(4)当class和object里都有apply方法,我们在新建对象的时候:如果var a = 类名,没有new关键字,那么调用的是object里的apply的方法,如果有则是class里的apply方法


3.implicit是隐式的意思,见到这个就是隐式转换
  例:如果是int类型的话的话,在程序运行的时候predef这个类会将int转换成runtime下的richInt,然后richInt里有to方法,int里没哟to方法,这样int类型的值就可以点出来to方法
  
4.元祖
  var a = (1,2,3) 下标从1开始
  println(a._1) 输出元祖的下标为1的数也就是1
  var list = List((1,2,3),(4,5,6),(7,8,9)) //list集合中每一个元素都是元祖


5.继承和实现
  (1)scala中继承之后重写的方法必须添加override关键字
  (2)scala中没有接口,提供trait(特性)相当于接口所以第一个必须用extends,之后在需要实现其他的类的话,用with关键字

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值