栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Scala语言基础

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Scala语言基础

Scala是什么?
Scala的预期目标是将面向对象、函数式编程和强大的类型系统结合起来,同时让人要能写出优雅、简洁代码。
scala采用了java语言的大部分语法,表达式、语句、和代码块和Java一样,还有类、包和引用的语法
Scala的语言特点?
1. 面向对象的语言
2. 面向函数式编程的语言
3. 静态的语言
4. 扩展性良好
5. 支持Actor并发模型(多线程)
scala编程语言的规范?
4. scala的语法缩进要使用空格、不要使用tab键
7. 空行的目的,用于逻辑分组。比如  方法和成员变量之间应该多一个空行
scala的类型体系?

1. scala的超类(父类,基类)是Any
2. Any下有两个直接子类型,分别是AnyVal  和AnyRef
3. AnyVal有一些基本类型:
         Byte-->Short-->Int-->Long-->Float-->Double
                Char
         boolean
         Unit
         StringOps
4. AnyRef包括了java的所有引用类型、Scala的所有集合类型、以及Scala的其他引用类型,以及Null类型
5. Nothing是Scala的所有其他类型的子类型,位于类型层次的最底层
​
6. Null类型只有一个实例值是null
    scala> val a = ()
    a: Unit = ()
7. Unit和java的void相似,是一种类型,也只有一个实例()
    scala> val a = null
    a: Null = null
Scala计算遵守原则?
    1.  不同的数值类型计算时,需要转为同一种类型进行计算
    2.  如果是小于Int类型的两种类型计算、都转为Int类型计算
    3.  如果是其他情况的两种不同类型,那么就会转为较大类型的数据进行计算
Sacala的String类型?
1.  Scala的String的本质就是java的String
     “zhangsan”.getClass.toString
2.  赋值使用双引号
3. 也可以使用三引号,进行换行赋值
   var  name = """
            |zhangsan
            |lisi
            |"""        
Sacala的Option类型?
用来表示一个值是可选的,实际上就是有值和无值两种。
有值的话,是Some(value)
无值的话,就是None
​
总之:Option类型就两个值:Some(value)、None
Scala的常用运算符?(较难理解)
4. 短路逻辑运算符: 一般用于连接多个关系表达式的,结果也是true、false
            &&  :  一假则假,全真为真  
            ||  :   一真则真, 全假为假
            !  :   非真即假,非假即真
            
            短路逻辑:  当前面的条件可以确定结果后,后面的条件不再执行
5. 位运算符  :    1为 真   0为假
        &  : 与   口诀:  一0则0,全1为1            
        |  : 或   口诀:  有1则1,全0为0
        ^  : 异或  口诀:  相同为0,不同为1
        >> : 有符号右移, 原来是正,结果就是正,原来是负,结果就是负数 
        << :有符号左移, 原来是正,结果就是正,原来是负,结果就是负数
        
             有符号移动时,正数高位补0,负数高位补1
        >>>:无符号右移: 表示所有二进制位上的数向右移动,高位补0
** Scala的表达式的概念(重要)?
在scala中,只要是一句完整的代码,就是一个表达式,或者使一个语句块,或者使一个结构体,比如分支结构,循环结构,抛出异常对象,都是表达式。只要是表达式,那么一定有返回值
Scala的循环结构有哪些?
    -- while  : 条件成立时,才会执行循环体 
    -- do-while  :先执行一次循环体,再判断条件是否成立
    -- for循环:   
for循环结构的写法?
小贴士:  java中的for循环结构有两种写法
         一种是经典for循环写法  :       
                for(循环因子的声明和初始化;循环条件;向着循环结束的方向变化的表达式){}
         一种是增强for循环写法
                for(类型名  变量名:集合|数组){}
注意:scala里的for循环,相当于java中的增强for循环写法
​
for( 变量名 <- 集合|数组|Range|表达式 ){
    循环体
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/318889.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号