SCALA笔记

一.环境搭建

在这里插入图片描述
官网下载scala编译器或插件

二.数据类型

scala中的数据类型和java中数据类型最大的区别就是scala中的数据类型都是对象 , 也就是scala中没有原生的数据类型!
scala中的数据类型分成两类 AnyVal(值类型)和AnyRef(引用类型) , 两种对象都属于Any ,都是对象.
例如: val age:Int = 23
age是一个Int数值类型的变量 , 数值类型的变量也属于一个对象 , 所以age变量就是一个对象,也拥有很多方法

在这里插入图片描述
Any : 所有类型的父类 , 类似于java中的Object
AnyVal: 数值类型(简单类型)
AnyRef: 引用数据类型
Null: 应用类型的子类,类似于java中的null ,是所有引用类型的子类
Nothing: 所以类型的子类 可以返回给任意的变量或者函数 通常异常时使用,表示此处有错误

在这里插入图片描述

三.基本语法

1.1二分查找

def binarySearch(arr: Array[Int], find: Int): Int = {
  if (arr.length == 0) {
    println("数组为空")
    return -1
  }
  // 对待排的数组排序
  val sorted: Array[Int] = arr.sorted
// 起始位置所以
  var start = 0
// 检索的最后一个元素
  var end = arr.length - 1
  while (start <= end) {
    val midd = (start + end) / 2
    if (sorted(midd) > find) {
      end = midd - 1
    } else if (sorted(midd) < find) {
      start = midd + 1
    } else {
      println(s"$find in index :$midd")
      return midd
    }
  }
  return -1
}

四.函数式编程

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值