摘要:
使用yield和函数式编程转换数组 算法案例:移除第一个负数之后的所有负数 算法案例:移除第一个负数之后的所有负数(改良版) 阅读全文
摘要:
Array 在Scala中,Array代表的含义与Java中类似,也是长度不可改变的数组。此外,由于Scala与Java都是运行在JVM中,双方可以互相调用,因此Scala数组的底层实际上是Java数组。例如字符串数组在底层就是Java的String[],整数数组在底层就是Java的Int[]。 A 阅读全文
摘要:
过程 在Scala中,定义函数时,如果函数体直接包裹在了花括号里面,而没有使用=连接,则函数的返回值类型就是Unit。这样的函数就被称之为过程。过程通常用于不需要返回值的函数。 过程还有一种写法,就是将函数的返回值类型定义为Unit。 lazy值 在Scala中,提供了lazy值的特性,也就是说,如 阅读全文
摘要:
变长参数 在Scala中,有时我们需要将函数定义为参数个数可变的形式,则此时可以使用变长参数定义函数。 使用序列调用变长参数 在如果想要将一个已有的序列直接调用变长参数函数,是不对的。比如val s = sum(1 to 5)。此时需要使用Scala特殊的语法将参数定义为序列,让Scala解释器能够 阅读全文
摘要:
默认参数 在Scala中,有时我们调用某些函数时,不希望给出参数的具体值,而希望使用参数自身默认的值,此时就定义在定义函数时使用默认参数。 如果给出的参数不够,则会从作往右依次应用参数。 Java与Scala实现默认参数的区别 带名参数 在调用函数时,也可以不按照函数定义的参数顺序来传递参数,而是使 阅读全文
摘要:
函数的定义与调用 在Scala中定义函数时,需要定义函数的函数名、参数、函数体。 我们的第一个函数如下所示: Scala要求必须给出所有参数的类型,但是不一定给出函数返回值的类型,只要右侧的函数体中不包含递归的语句,Scala就可以自己根据右侧的表达式推断出返回类型。 在代码块中定义包含多行语句的函 阅读全文
只有注册用户登录后才能阅读该文。 阅读全文
摘要:
Scala与Java的关系 Scala与Java的关系是非常紧密的!! 因为Scala是基于Java虚拟机,也就是JVM的一门编程语言。所有Scala的代码,都需要经过编译为字节码,然后交由Java虚拟机来运行。 所以Scala和Java是可以无缝互操作的。Scala可以任意调用Java的代码。所以 阅读全文