Scala 学习相关

Scala 学习相关,第1张

Scala 学习相关 Scala 学习笔记 尚硅谷韩顺平 基础语法-01

日常数据开发用scala。深度学习一下语言特性。

println("rthellor")
    var name = "tom"
    var sal = 1.2
    printf("name=%s sal=%f", name, sal)
    println(s"name=$name sal=${sal + 1}")
    //类型确定后不能修改 强类型语言
    println(sal.isInstanceOf[Double])
    var `true` = "hello,scala"
    println("内容=" + `true`)
 var r2: Double = 10 / 3
    println("r2" + r2)
    var r3: Double = 10.0 / 3
    println("r3" + r3)
    import scala.io._
    val str = StdIn.readLine()
    println("str=" + str)
    val a = StdIn.readInt()
    println("a="+a)
    val age = 6
    if (age > 18) {
      println("age>18")
    } else {
      println("age<18")
    }
 for (i <- 1 to 3) {
      //1,2,3 前后闭合
      println(i + "1 to 3")
    }
    for (i <- 1 until 3) {
      //1,2,3 前闭 后开
      println(i + "1 until 3")
    }
    //循环守卫
    for (i <- 1 to 3 if i != 2) {
      println(i + "")
    }

    for (i <- 1 to 3; j = 4 - i) {
      println(j + "")
    }
//  嵌套循环
    for (i <- 1 to 3; j <- 1 to 5) {
      println("i=" + i + " j=" + j)
    }
//    循环返回值
//    遍历结果 返回到一个新的Vector 中 使用yield 关键字
    val res = for (i <- 1 to 10) yield i
//    将集合中的各个数据 进行处理 返回给新的集合
    println(res)
    val result = for (i <- 1 to 10) yield {
      if (i % 2 == 0) {
        i
      } else {
        "不是偶数"
      }
    }
    println(result)
    // for 推导式  仅包含 单一表达式 时 使用圆括号 当其包含 多个表达式 时 使用大括号。
    // Range 步长控制
    for (i <- Range(1, 30, 2)) {
      println("……&*")
      println(i + "=i")
    }
// 控制步长 也可以用 for 循环守卫。
    val start = 1
    val end = 100
    var count = 0
    var sum = 0
    for {i <- start to end; if (i % 9 == 0)} {
      count += 1
      sum += i
    }
    printf("count=%d,sum=%dn", count, sum)
    while (count > 8) {
      println("hello,sgg" + count)
      count = count - 1
    }
    // while 是先判断再执行语句 与 id 语句不同 While 本身返回结果是Unit 会对外部变量产生影响 不推荐使用
    do {
      printf(sum + "sum")
      sum = sum - 1
    } while (sum > 590)
  }
// scala 内置控制去掉了continue 和 break
   //breakable 对 break 抛出的异常做出了处理 代码继续执行。
    import util.control.Breaks._
    var n = 1
    breakable {
      while (n < 20) {
        n += 1
        println("n=" + n)
        if (n == 18) {
          break()
        }
      }
    }
    println("ok~")
    //也可以利用守卫实现中断
scala 数据类型
   scala 数据类型 分为两大类  AnyVal 值类型 和AnyRef 引用类型 不管是AnyVal 和AnyRef 都是对象Int Char。
    + 号使用 : 左右两边都是数值类型时 则做加法运算 当有一方为字符串时 则做拼接运算。 Null 是所有 AnyRef 的子类 Nothing 也是Bottom class
   
    类型转换 : byte short 和char 之间不会相互自动转化。
  
    scala 不支持三目运算符。  if else 替换
   

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5686701.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存