购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第9课
陈醋和酱油不能混为一瓶
(变量值的互换)

翻译助力理解

● vinegar:陈醋。

● soy:酱油。

脑洞大开

现在怎样做才能将陈醋和酱油装回到正确的瓶子呢?

1.这样可行吗

(1)直接将酱油倒入 soy 瓶子中。

(2)再将 陈醋 倒入 vinegar 瓶子中。

啊,这不就成了酱油陈醋了吗,混在一起了。

2.借助一个空瓶子

(1)将酱油从 vinegar 瓶子倒入空瓶子 empty 中。

(2)将陈醋从 soy 瓶子倒入 vinegar 瓶子中。

(3)将酱油从空瓶子 empty 倒入 soy 瓶子中。

变量的交换

试着用程序实现“酱油”和“陈醋”的交换。

运行结果:

     vinegar的值是:酱油
     soy的值是:陈醋
     交换以后
     vinegar的值是:陈醋
     soy的值是:酱油

变量中字符串的交换和实际瓶子中酱油、陈醋的交换逻辑是一样的。

(1)声明一个变量 empty 作为中间变量。

(2)将变量 vinegar 的值赋给中间变量 empty ,此时 empty 的值是“酱油”。

(3)再将变量 soy 的值赋给变量 vinegar ,此时 vinegar 的值是“陈醋”。

(4)最后将中间变量 empty 的值赋给变量 soy ,此时 soy 的值是“酱油”,完成了变量的互换。

敲黑板

看似简单,稍不注意也容易写错顺序。

记住一个口诀,这和上面倒酱油和陈醋的例子是一样的, 哪里空了,就往哪里倒。

empty 空了,往它里面倒, vinegar soy 倒哪一个都可以。

vinegar 倒完, vinegar 空了,于是往 vinegar 里倒。

soy 倒完也空了,再往 soy 里倒。

如果没有中间变量,会怎么样呢?

运行结果:

     vinegar的值是:酱油
     soy的值是:陈醋
     交换以后
     vinegar的值是:陈醋
     soy的值是:陈醋

提出思考

为什么会这样呢?想要洞察结果,只需要跟着程序运行,跟踪变量值的变化就可以找到答案。

(1)

一开始 vinegar 的值是“酱油”, soy 的值是“陈醋”。

(2)执行 vinegar = soy vinegar 的值变成了 soy 的值,也就是“陈醋”,此时 vinegar 的值不再是“酱油”而是“陈醋”。

再执行 soy = vinegar soy 的值变成了 vinegar 的值, vinegar 的值已经变成了“陈醋”,赋值后 soy 还是“陈醋”。

高矮排序

坐座位讲究矮坐前,高坐后。1号座位在前,2号座位在后,现在1号座位上坐了一位身高185cm的男士,2号座位上坐了一位身高165cm的女士,需要将他们重新排一排位置。

思考并编写程序,感受变量值互换的过程。

运行结果:

     交换以后
     1号座位身高:165
     2号座位身高:185

巩固练习

(1)调整下面的程序代码,实现数字a和b的交换。

(2)已知数字a=3、数字b=0、数字c=6、数字d=2,要将它们组合起来输出一个最大的4位数,请补充完整下面的程序。

(3)阅读下面的程序,添加几行代码,将8、0、5、2这4个数字组成最小的4位数并输出。 jfX2PCmkPFTi4Y5GYTKws7VygCJQTtIQ6FW/yZikf0RMFPghZgG8O53nihxi3XNS

点击中间区域
呼出菜单
上一章
目录
下一章
×