首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

小学半月的一些小思考

在java基础班半个月的学习,不仅对于Java和编程的认识。收获更多的是对于计算机思维的思考。

1. 自顶向下和自底向上

人自然的做事行为模式是自底向上,总是先从能做的做起。但是这种做法会造成很多工作需要重复做,造成资源浪费,特别是在写程序时,刚写完一段代码,为了和另外的代码配合使用,或者运用于另外的场景。需要使用另外一种方法写,于是需要全部推到重来。而计算机思维中,很重要的一点就是自顶向下做事,也就是需要先构建一个框架,然后再填充内部的内容。这样才能在以后不用修改代码的大框架,节省写代码的时间。

2.全局和局部

我们日常做出选择时,受限于认知以及未知性,通常得到的答案是局部最佳,而由于计算机程序在设计时是自顶向下,同时计算机有处理大数的能力,我们更容易得到全局最佳的选择。比如 AlphaGo和人下围棋的时候。

3.成本之间的衡量

随着硬件的提成,以前很多的内容,比如char,byte等内容,都逐渐开始被我们抛弃,而更简单粗暴的使用int类型。实际上,这是运行效率,内存空间,以及人的工作效率这三者之间的成本衡量。现今内存空间成本低,人力成本高,于是我们不在需要去扣那一点内存空间。好和坏,只是在不同成本情况下的不同衡量。

4.等价性原则

很多时候,一个较难的问题 A 和相对容易的问题 B 是等价的。但是人类常常容易给什么问题就解决什么问题,给了 A 就解决 A,尽管它很难。而计算机则会试图解决等价,但是却更简单的问题。比如,当我们使用数组时,要解决数组元素的增加,是一件很麻烦的事情,于是我们有了集合类,从而将数组问题转换成了集合问题,就简单了很多。

5.模块化和封装

在解决一个大问题的时候,在日常生活中,我们可能就直接去做了,但是在计算机中,我们需要将其拆分成一个个的小问题,变成了一个个模块,然后用将这些拆分后的问题逐个解决。解决这些问题的方法,就好像一块块乐高积木,而解决整个问题,只需要我们选用不同的积木,搭成我们想要的样子。而解决这一个个小问题的程序,我们可以封装成方法函数模块。但下次遇到相似问题时,我们可以直接调用这些封装好的模块。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180521G19F7E00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券