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?
while循环

Scala中,i++或者++i都不能其作用,只能使用i=i+1

  var i = 0;
  while(i <= 5){
    println("i is : " +i);
    i = i + 1
  }
foreach与函数字面量

函数字面量格式:参数列表 => 函数体

(x: Int, y:Int) => x + y

下面结果都是一样,

  args.foreach(arg => println(arg))
  args.foreach((arg: String) => println(arg))
  args.foreach(println)
for循环

for循环中是val类型,因此在for表达式中不能重新对其赋值, <-可以理解为其中的意思,
for(arg <- args) 对于args中的arg, 纳尼?怎么感觉是Java中foreach中的in

for(arg <- args){
    //arg = arg + "new value" //resi
    println("for(arg <- args) now arg is val :"+arg)
    }

args 输入 args for main,则输出结果:

for(arg <- args) now arg is val :args
for(arg <- args) now arg is val :for
for(arg <- args) now arg is val :main

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值