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