代码:

传值调用:

  1. 先计算balance的值
  2. 把这个值作为参数传递给printmoney

传名调用:传递的是函数
将balance方法的名称传递到方法内部


传值调用:

object ZFBToPay {var money = 1000//吃一顿消费50def eat():Unit={money=money-50;}//余额def balance():Int={eat()money}//打印余额def printMoney(x:  Int):Unit={for (a <- 1 to 5 ){println(f"你的余额现在为:$x")}}def main(args: Array[String]): Unit = {printMoney(balance())}
}

结果:

你的余额现在为:950
你的余额现在为:950
你的余额现在为:950
你的余额现在为:950
你的余额现在为:950

传名调用

object ZFBToPay {var money = 1000//吃一顿消费50def eat():Unit={money=money-50;}//余额def balance():Int={eat()money}//打印余额def printMoney(x: => Int):Unit={for (a <- 1 to 5 ){println(f"你的余额现在为:$x")}}def main(args: Array[String]): Unit = {printMoney(balance())}}

结果:

你的余额现在为:950
你的余额现在为:900
你的余额现在为:850
你的余额现在为:800
你的余额现在为:750

scala传值调用和传名调用相关推荐

  1. Scala 传值调用和传名调用

    传值调用时,参数只在调用时计算一次,后续重复使用计算的结果 传名调用时,参数在调用时不会计算,只有真正用到参数的时候才会计算(x:=> Int) object ScalaFunction {va ...

  2. scala函数参数的传递:传值调用和传名调用

    函数参数的传递有两种:传值调用和传名调用 传值调用:先计算参数表达式的值,再应用到函数内部 传名调用:将未计算的参数表达式直接应用到函数内部 object Add{def addByName(a: I ...

  3. 传值调用,传名调用,引用调用,复制恢复

    传值调用,传名调用,引用调用,复制恢复 例1 1 传值调用 2 引用调用 --传地址引用 3 复制恢复 4 传名调用 例2 例1 程序运行时的存储空间组织如图7-1所示. 其中代码区用于存放目标程序代 ...

  4. Scala的传值调用与传名调用理解

    通常 函数/方法 的参数是传值参数,也就是说,参数的值在传递给函数之前已经确定好了.而在Scala中,方法或函数的参数可以是一个表达式,也就是可以将一个代码逻辑传递给某个方法或着函数.(这有点像C语言 ...

  5. JavaScript 是传值调用还是传引用调用?

    1. 例子 先来看两个个来自于 <JavaScript 高级程序设计>P70-P71 的两个例子. 1.1. 基本类型参数传递 function addTen(num) {num += 1 ...

  6. 简单了解函数的传值调用与传址调用(C语言)

    一.首先需要引入函数中的实际参数与形式参数 实际参数(实参)是指真实传给函数的参数.实参可以是常量.变量.表达式.函数等,无论实参是何种类型的数据,在进行函数调用时,它们都必须有确定的值,以便把这些值 ...

  7. 【 C 】函数参数通过传值调用还是传址调用?

    C 函数的所有参数均以 "传值调用" 方式进行传递,这意味着函数将获得参数值的一份拷贝.这样函数就可以放心修改这个拷贝值,而不必担心会修改调用程序实际传递给它的参数. 既然调用函数 ...

  8. Java中的形参和实参的区别以及传值调用和传引用调用

    名词解析: 1.形参:用来接收调用该方法时传递的参数.只有在被调用的时候才分配内存空间,一旦调用结束,就释放内存空间.因此仅仅在方法内有效. 2.实参:传递给被调用方法的值,预先创建并赋予确定值. 3 ...

  9. 函数的调用(传值调用和传址调用)

    传值调用 函数的形参和实参分别占有不同内存块,对形参的修改不会影响实参. 传址调用 传址调用是把函数外部创建变量的内存地址传递给函数参数的一种调用函数的方式. 这种传参方式可以让函数和函数外边的变量建 ...

最新文章

  1. 用HttpWebRequest抓取网页,尝试自动重定向的次数太多”的错误,
  2. c++气泡框提示_黄骅屋顶隔热气泡膜厂家,机房专用吸音板_德发防火保温建材
  3. Hyper-V的实验安装----1
  4. 组件通信 eventtBus
  5. React+webpack热更新配置
  6. 秒杀多线程第十篇 生产者消费者问题
  7. CVE-2017-7921复现(解密文件)
  8. Security Tutorials系列文章第七章:User-Based Authorization(上)
  9. 断面计算土方excel表_Civil 3D工程量计算小技巧,一次打包给你!
  10. 实习成长之路:DelayQueue多线程下的延迟队列的使用
  11. textarea文本域
  12. sps的process插件安装包_PROCESS插件安装及使用
  13. 【读书笔记】《CSS新世界》—— 第一章 概述
  14. 2021年校招,最值得加入的互联网公司有哪些?
  15. ftp客户端软件,Windows端有哪些ftp客户端软件值得推荐?3款ftp客户端软件
  16. python菜单栏不见了如何恢复_解决Jupyter Notebook开始菜单栏Anaconda下消失的问题
  17. 小米手机不能发短信的一种解决方法--重新设置短信中心号码
  18. C#下对PDF文件进行电子图片签名
  19. 工厂的生产管理系统,即时掌握车间生产动态
  20. 4个最好的PDF搜索引擎

热门文章

  1. 求三角形面积——C语言
  2. Hadoop FileInputFormat 默认切片机制
  3. 摄影基础教程第三天(二)
  4. 纯CSS绘制圣诞老人头像
  5. 解决foxmail无法收取邮件
  6. 2019秋招最新 BAT、TMD等大厂技术面试题及其答案
  7. 【金融科技】企业融资的基础知识
  8. 华为OD机试真题 C++ 实现【开放日活动】【100%通过率】【2022.11 Q4 新题】
  9. c++十进制转十六进制
  10. 科技云报道:勒索软件一次次破防,我们拿什么“守城”?