Scala学习笔记

基础语法

输出语句:println():换行输出;print():不换行输出

基本数据类型:Byte、Short、Int、Char、Long、String、Boolean、Float、Double

定义变量/常量:var/val 变量名[:类型]=值 类型可以省略,Scala会自动推断

字符串插值表达式:s"${表达式}字符串" 类似于python中的格式化字符串,可以做拼接

惰性赋值:懒加载,希望长字符串只在运行的时候加载。lazy var/val

标识符:就是用来给变量,方法,类起名字的

标识符命名规则:

1.必须由数字和英文下划线和美元符号组成,数字不能开头

2.不能和Scala关键字重名

3.见名知其义

变量方法一般小驼峰命名法;类或特质大驼峰命名法;包域名反写以点分割

类型转换:

自动类型转换,不同基础类型参与计算时,会自动提升为较大的类型,和java一样

强制类型转换,范围大的类型强制转换为范围你较小的类型,需要满足条件

值类型和字符串的相互转换

值转字符串:1.拼接空字符串2.值.toString()

字符串转值:字符串.toXXX

运算符

算术运算符+ - * / % 没有++和-- ;/取商;+拼接字符串,支持隐式类型转换

赋值运算符 +=、-=、*=、/=、%=

关系运算符 >、<、<=、>=、!=、==

逻辑运算符&&、||、!

位运算符&、|、^、-、>>、<<

if语句可以代替三目运算符效果 s=if(条件判断) a else b

for循环:

for(i<-表达式、数组、集合+[if判断]){
        //逻辑代码
}其中if判断为守卫,可以添加,让循环更简洁

val nums=1 to10        --to 是关键字

for(i <- nums) println("Hello, Scala! " + i)

for推导式
val v =for(i<- 1 to 10) yield i* 10

while循环

和java的while循环一致,不再赘述

do while循环

和java的while循环一致,不再赘述

break和continue

  • 在scala中,类似Java和C++的break/continue关键字被移除了

  • 如果一定要使用break/continue,就需要使用scala.util.control包下的Breaks类的breablebreak方法。

  • breakable{
        for(i <- 1 to 10) {
            if(i == 5) break() else println(i)
        }
    }

方法

定义: def 方法名(参数:参数类类型,...):[return 类型] ={方法体}

惰性方法:在定义方法返回值变量的前面加上lazy,可以在方法返回值首次被调用的时候执行方法,使用java的懒加载实现

参数类型:

默认参数,指定参数默认值

带名参数,用key=value的形式指定

变长参数,变量类型后价格*号

方法调用方式

后缀调用法:

对象名.方法名(参数)

中缀调用法:

对象名 方法名 参数

花括号调用法:

对象名.方法名{参数}   --必须只有一个参数

无括号调用法:

如果方法没有参数,可以省略方法名后面的括号

函数

定义:

val 函数变量名 = (参数名:参数类型, 参数名:参数类型....) => 函数体

方法和函数区别:

在scala中,函数是对象,方法是属于对象的,可以理解为,方法属于函数

使用下划线可以将方法转换为函数 val 函数名 = 方法名 _

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦㐅触及轮回

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值