scala编程学习笔记(1)变量定义函数定义
scala编程学习笔记(一)变量定义函数定义
变量定义:
val:类似java中final类型的变量
- 1,基本格式:val 变量名:变量类型 = 值
- 2,其中有时变量类型可以省略,可以自动识别
- 3,变量不能赋值,修改
var :等同于java中的非final型变量
val msg: java.lang.String = "Hello World String"
println("msg: " +msg)
var msgVar: java.lang.String = "Hello World String"
println("msgvar: " +msgVar)
msgVar = "Hello World String new value"
println("msgvar:" + msgVar)
结果应该为
msg: Hello World String
msgvar: Hello World String
msgvar:Hello World String new value
函数定义
函数格式:
def 函数名(参数列表,...):返回结果类型={},下面给出一个max函数
def max(a: Int,b: Int):Int ={
if(a > b)
a
else
b
}
var maxValue = max(6,10)
println("max(6, 10) the max maxValue is :" + maxValue )
println("max(6, 10) the max is :" + max(6,10) )
返回结果是较大的值
max(6, 10) the max maxValue is :10
max(6, 10) the max is :10
1,有时函数必须制定返回结果类型,如函数时递归,就必须明确制定返回结果类型
2,在max这里例子中及时不写返回结果,编译器也能推断,如实这个函数就 编程如下的样子,作用功能都没有变化
def max2(a: Int,b: Int)={
if(a > b)
a
else
b
}
3,如果函数仅 一个语句,连花括号都可以不写。如是max函数就成了这样,作用功能仍然没有变化
def max3(a: Int,b: Int)=if(a > b) a else b
些到这里的时候老子真想来一句what a fuck function ,碎了一地啊。
接下来,是一个既不传参,也不返回有用结果的函数的定义,据说解析器返回
greeting():Unit,其中Unit值得时greetin的返回类型,类似于Java的void类型,而且Java中的void类型会被映射成Unit
def greeting()=println{"no args no return?"}
greeting()
greeting
but调用,卧槽,这都可以啊,结果两个都返回
no args no return?
no args no return?