scala

Scala是一种多范式编程语言,依赖于JVM运行。它简化了编程,如main入口函数使用object伴生对象,变量分为val和var,类型系统强类型,支持函数式编程。Scala的for循环不需分号,可通过Range操作,而函数可以作为返回值和参数。它还支持可变参数、默认参数、函数柯里化、匿名函数、惰性初始化和异常处理。包和导入机制灵活,类和对象间存在伴生关系。此外,Scala的特质类似接口,可包含代码。隐式转换、数组、集合操作和模式匹配是其特色功能。
摘要由CSDN通过智能技术生成

Scala

多范式编程语言

运行流程

类Java,先用scalac编译为.class字节码文件,然后再用scala执行出结果,也可用Scala直接运行,不会产生字节码文件,Scala也是依靠jvm来进行编译的

main入口函数

Scala为了简化编程过程,main入口函数和Java的入口函数类似,Scala中是以object伴生对象来代替class,Scala中的所有都是public的,所以不用再次声明public,Scala中用def模拟静态语法,Scala中注重完全面向对象,所以是先声明参数名,再定义参数类型:参数名:参数类型。Java中的定义参数为:参数类型:参数名,返回值类型用unit代替void,用=连接方法体

def Main (参数名:参数类型(可省略)):unit = {方法体}

Scala中的变量

可以用val或var定义,var的值可变,val的值不可变(不可变是因为用final定义的字符串是存放的地址不可变,但是内容可变,用反射可以绕过编译流程,改变字符串内容,大多数情况下Scala中的变量用val定义)

Scala中类型

Scala中的函数类型可以省略,因为Scala是强类型转换,所以定义的类型是不可变的,Scala中不存在基本类型,但是Scala中分为值类型和引用类型,Scala中的值类型和Java中的基本类型用法是相同的且均有8个,在数据进行类型转换的时候都是从小精度的类型开始转换

scala中的for循环

在Scala中的for循环不需要;分割,for(i<-1 to 5)是闭合,to闭合包括5,for(i<- 1 until 5),until前包后不包,实现Java中一次执行的范围在Scala中用Range实现,for(i <- Range(start,end,step)),step代表步长,在Scala中每个函数都是有返回值的,for循环的默认为unit
foreach在Scala中使用yield关键字,将计算得出的结果,放入集合中
循环守卫在Scala中没有continue的关键字,于是使用了叫循环守卫的if判断条件来跳出循环
break:和Java中的break不同,Scala需要导入一个breaks的类,用breaks类来调用break方法,即可实现方法的跳出,但是仅仅使用break跳出的不仅仅是循环体,会直接抛出异常终止编译,为了达到和Java中类似的方法,故用breaks调用breakable方法来捕获异常并且处理,即达到了仅仅跳出循环体的操作

函数式编程

面向对象编程是将问题分解成一个一个小问题,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值