scala学习第四天
2017-02-24 00:00
148 查看
package com.learn.scala /** * * Scala既是面向对象,也是面向过程的编程语言 * 函数,方法,过程类似, * 函数:不属于任何类,可以在代码内部定义。 * 方法:属于某个类 * 过程:没有返回值的函数或方法 * Created by zhuqing on 2017/2/23. */ object Day5Fucntion { def main(args: Array[String]): Unit = { println(sum(1, 2)) //返回1+2的和3 println(times(3)) //返回3的2倍6,第二个参数是默认值 println(times(3, 3)) //返回3的3倍9,第二个参数没有使用默认值,自己设置为3 println(sumAll(1,2))//返回1到2的和 println(sumAll(1,2,3))//返回1到3的和 val a = Array(1,2,3) /** * 变长参数不能像Java那样直接使用数组,但可在数组后面加上 :_*,告诉编译器你想把数组当序列使用 */ println(sumAll(a:_*)) /** * 使用区间时,也要追加:_* */ println(sumAll((1 to 10):_*)) } /** * scala方法与Java类似,但是返回值时可以不用return, 最后一个表达式的值为返回值。 * 也可以不用写返回类型,但是递归时必须写。 * **我个人觉得的scala不用return可能是担心开发者的方法写的太大,因为如果没有return方法行太多的话容易乱,所以开发者就只能把方法写的短一些。 * * @param a * @param b * @return */ def sum(a: Int, b: Int) = { println("a=" + a) println("b=" + b) /** * 不需要return。 * 如果想用也可用,建议不要用 */ a + b //返回a+b } /** * scala 方法可以设默认参数,类似Flex * * @param a * @param times 默认为2 * @return */ def times(a: Int, times: Int = 2): Int = { println("a=" + a) println("times=" + times) a * times } /** * scala 方法的变长参数:类型*, * * @param as * @return */ def sumAll(as: Int*): Int = { var sum = 0; for (a <- as) { sum += a } sum } /** * scala 没有返回值的方法 * 可以返回Unit=Java中的void * def proce(a:Int ,b:Int):Unit={ * } * 也可以什么都不返回 * def proce(a:Int ,b:Int){ * } * @param a * @param b */ def procedure(a:Int ,b:Int){ println("hello world") } }
相关文章推荐
- Scala学习第四天
- Scala学习第四天 Scala的For与Function进阶实战、Lazy的使用
- Scala学习第四天:For与Function进阶实战、Lazy的使用
- Scala学习第四天 Scala的For与Function进阶实战、Lazy的使用
- scala学习笔记☞一---------Scala 初探
- 学习LINUX第四天:MYSQL的基本操作
- 跟“无为”学习Ajax技术第四天
- 学习EXT第四天--开始使用Grid
- C#学习第四天
- 学习J2EE第四天(从网络程序开始)
- scala学习笔记☞三:语法续①
- [四天学会ajax] 学习Ajax教程第四天,利用 DOM 进行 Web 响应
- 学习EXT第四天--开始使用Grid
- 开始学习Scala
- Scala学习(二)
- ajax学习第四天
- 跟“无为”学习Ajax技术第四天
- 学习YUI.Ext 第四天--对话框Dialog的使用
- C++ Primer学习第四天
- Scala学习(一)