多范式的编程语言 scala的基础语法

scala 概述
(一)scala是一种多范式的编程语言,其设计的初衷是要集成面向对象编程和函数式编程的各类特性,以java虚拟机为目标类运行环境并将面向对象和函数式编程语言的最佳特性结合在一块儿
scala的特性
1 运行在jvm 和javaScript 之上语言
2 静态类型
3混合式编程范式 面向对象编程
4混合式编程范式—函数式编程
5复杂的类型系统
6 简洁、优雅、灵活的语法
7可扩展的架构
8 并发性
Scala 基础语法
 1.声明变量
 val/val 变量名:变量类型=变量值
 val/var a:Int=1
 注:val 修饰的变量不能够从新赋值,而var修饰的变量能够从新赋值,scala 中变量声明类型能够省略,解析器会根据值进行推断
 Scala 里能够经过type 关键字来声明类型。
type 至关于声明一个类型别名:
// 把String 类型用S 代替
type S = String
val name: S = "bigdata"
println (name)
 当val被声明为lazy时,初始化将被推迟,只有当这个变量真正被使用到的时候,变量的赋值代码才会真正的执行
 2 字符串
     scala提供多种定义字符串的方式,咱们能够根据须要来选择最方便的定义方式
 val/var 变量名=“字符串”
    val/var 变量名 = """字符串1字符串2"""
    scala中,可使用插值表达式来定义字符串,有效避免大量字符串的拼接。
val/var 变量名 = s"${变量/表达式}字符串"
  a=hello
  
  val  b="${a}word"//hellloword
  java

val/var 变量名 = s"""${变量/表达式}字符串"""
3 数据类型
Scala和Java同样,有多种数值类型Byte、Char、Short、Int、Long、Float、Double类型和1个Boolean类型。
    4 操做符
    Scala中的+ - * / %等操做符的做用与Java同样,位操做符 & | ^ >> <<也同样。
    注:
    1.Scala中的操做符其实是方法
2.Scala中没有++、--操做符,须要经过+=、-=来实现一样的效果(由于++ -- 前置后置容易混淆)
3.+ - * / %是方法,那么就能够进行操做符重载,完成特殊的运算(也就是本身在类中定义+ - * / %方法表示特殊的运算)
循环判断
1 块表达式
定义变量时可使用 {} 包含一系列表达式,其中{}块的最后一个表达式的值就是整个块表达式的值。
2 条件表达式
Scala条件表达式的语法和Java同样,只是更加简洁,且Scala中if else表达式是有返回值的
注:Scala中没有三元表达式
若是if或者else返回的类型不同,就返回Any类型
对于没有返回值的,使用Unit,写作(),至关于java中的void
    
    循环表达式
    ●简单for循环:
for (变量 <- 表达式/数组/集合) {循环体}
for(i <- 1 to 10) println(i) //循环打印1~10
嵌套for循环
for (变量1 <- 表达式/数组/集合; 变量2 <- 表达式/数组/集合) {循环体}
for(i <- 1 to 9; j <- 1 to 9){
      if(i >= j ) print(s"${j} * ${i} = ${j*i}")
      if(j == 9) println()
}
守卫
for表达式中,能够添加if判断语句,这个if判断就称之为守卫。咱们可使用守卫让for表达式更简洁。
for(i <- 表达式/数组/集合 if 表达式) {循环体}
for(i <- 1 to 10 if i % 3 == 0) println(i) //3,6,9
●for推导式
在for循环体中,可使用yield表达式构建出一个集合,咱们把使用yield的for表达式称之为推导式
便可以使用for推导式生成一个新的集合(一组数据)
//该for表达式会构建出一个集合
val res = for(i <- 1 to 10) yield i * 10 //10,20,30,40...
while语句自己没有值,即整个while语句的结果是Unit类型的()
var n = 1;
    val result = while(n <= 10){
      n += 1
    }
    println(result)//(0
    println(n)//55编程

相关文章
相关标签/搜索