Scala学习(一)

win10安装

先下载sdk包 :https://www.scala-lang.org/download/2.10.4.html
解压安装
配置环境变量(SCALA_HOME)和java的一样 --》 %SCALA_HOME%\bin
在cmd里输入scala测试

IDEA使用
  1. 下载scala插件 安装之后重启idea
  2. 新建一个maven项目
    右键点击项目名 --》选择 Add Frameworks Support —>在左侧菜单找到scala —》找到安装目录–》选择ok–》退出
    在这里插入图片描述
  3. 新建scala文件
    一定要选择Object类型在这里插入图片描述
基础

变量: var
常量: val
声明变量: var demo01: Int=11
声明变量时,类型可以省略,编译器自动推导,即类型推导 : var demo01 =11
当不确定给新声明的变量什么值时 可以使用 下划线代替:"_"
例:
1. var demo01 :Int =_ 相当于 ===> 0
2. var demo02 :Double =_ 相当于 ===> 0.0
3. var demo03 : Boolean =_ 相当于 ===> false
4. var demo04 :String=_ 相当于 ===> null
定义一个函数(方法) :
在这里插入图片描述

数据类型
  1. 数值类型(AnyVal):
    1. 整数: Byte、Short、Int、Long
    2. 浮点数: Float、Double
    3. 字符: Char
    4. 布尔: Boolean
    5. 无值: Unit 相当于java里的 void 在定义函数时使用
  2. 引用类型(AnyRef):
    1. 字符串:String
    2. NULL :空 null
    3. collections: 集合
    4. class: 类
  3. Nothing: 最底层,所有类型的子类
  4. Any :最顶层
类型转换
  1. 自动转换: 弱向强 (隐式转换)
  2. 强制转换:
    String.toInt 、 toByte 、toDouble。。。。
运算符
  1. Scala中其实是没有运算符的,所有运算符都是方法。
    1)当调用对象的方法时,点.可以省略
    2)如果函数参数只有一个,或者没有参数,()可以省略
    println(3.toString()) ===》 println(1 toString)
循环
  1. if…else…
    1. 在scala中 if…else是有返回值 默认就是代码块的最后一行代码的执行结果
    2. 要是想获取结果 可以用具体对应内容接收,也可以用Any接收(相当于Object)
      例:
      val demo01:Any = if (age < 18) {
      XXXX
      }else{
      XXX}
      3. 三元运算: val res: Any = if (age < 18) “童年” else “成年”
  2. for
    1. 基本语法
      for(i <- 1 to 3){
      print(i + " ")
      }
      println()
      2. to:表示前后闭合 、 Until:前闭后开
  3. for复杂一点的用法:
    1. 循环守卫,即循环保护式(也称条件判断式,守卫)。保护式为true则进入循环体内部,为false则跳过,类似于continue
      1. for(i <- 1 to 3 if i != 2) {
        print(i + " ")
        }
        println()
    2. 循环步长 by表示步长
      1. for (i <- 1 to 10 by 2) {
        println(“i=” + i)
        }
  4. 循环嵌套
    1. 没有关键字,所以范围后一定要加;来隔断逻辑
      1. for(i <- 1 to 3; j <- 1 to 3) {
      println(" i =" + i + " j = " + j)
      }
  5. 引入变量
    1.for推导式一行中有多个表达式时,所以要加 ; 来隔断逻辑
    2.for推导式有一个不成文的约定:当for推导式仅包含单一表达式时使用圆括号,当包含多个表达式时,一般每行一个表达式,并用花括号代替圆括号
    for(i <- 1 to 3; j = 4 - i) {
    println(“i=” + i + " j=" + j)
    }
  6. 循环返回值
    1. 将遍历过程中处理的结果返回到一个新Vector集合中,使用yield关键字。
      1. val res = for(i <- 1 to 10) yield i
        println(res)
  7. 倒序打印
    1. for(i <- 1 to 10 reverse){
      println(i)
      }
  8. While和do…While循环控制
    1. do{
    ​ 循环体(语句)
    ​ 循环变量迭代
    } while(循环条件)
  9. 中断循环
    1. Scala中使用breakable控制结构来实现break和continue功能。
    2. 采用Scala自带的函数,退出循环
      1. import scala.util.control.Breaks
      Breaks.breakable(
      for (e <- 1 to 5) {
      println(e)
      if (e == 5) Breaks.break()
      }
      )
      println(“正常结束循环”)
    3. 对break进行省略
      1. import scala.util.control.Breaks._
        object TestBreak {
        def main(args: Array[String]): Unit = {
        breakable {
        for (elem <- 1 to 10) {
        println(elem)
        if (elem == 5) break
        }
        }
        println(“正常结束循环”)
        }
异常处理
  1. try()catch语句
    1. scala是以模式匹配的方式捕获异常的。 如果不需要使用捕获到的异常,可以使用_代替变量名
    2. try{
      //code that may contain an exception.
      }
      catch {
      case _ : IllegalArgumentException => println(“haha”) //如果不需要使用这个异常,用_代替变量
      case a : typeOfException => {逻辑代码}
      }finally {
      // This block will definitely run
      }
  2. 在方法中直接抛出 其实是返回Nothing类型的对象
    1. throw new Exception(“这是一个异常”)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值