万象云档 本次搜索耗时 1.722 秒,为您找到 223 个相关结果.
  • 3.4 循环控制结构

    3.4 循环控制结构 3.4 循环控制结构 计算机是以一步一步执行指令的方式来解决问题的,程序员要做的事情就是将问题的解决方案表达成一步一步执行的指令序列。在解决问题的指令序列中,经常会遇到需要重复执 行的一组操作。例如,假设程序要求用户输入 5 个数据,怎么表达这个要求呢?一种方式是 将所有步骤罗列出来: Step1 :输入 1 个数据存入...
  • 1.8 异常控制:解决错误

    1.8 异常控制:解决错误 1.8 异常控制:解决错误 从最古老的程序设计语言开始,错误控制一直都是设计者们需要解决的一个大问题。由于很难设计出一套完美的错误控制方案,许多语言干脆将问题简单地忽略掉,将其转嫁给库设计人员。对大多数错误控制方案来说,最主要的一个问题是它们严重依赖程序员的警觉性,而不是依赖语言本身的强制标准。如果程序员不够警惕——若比较匆...
  • 6.3 组合与继承的结合

    6.3 组合与继承的结合 6.3.1 确保正确的清除 6.3.2 名字的隐藏 6.3 组合与继承的结合 许多时候都要求将组合与继承两种技术结合起来使用。下面这个例子展示了如何同时采用继承与组合技术,从而创建一个更复杂的类,同时进行必要的构造器初始化工作: //: PlaceSetting.java // Combining compositi...
  • 3.6.2 经验总结

    3.6.2 经验总结 3.6.2 经验总结 求最大值问题并非很难的问题,但解决该问题的过程反映了一些有关算法和程序设计的 重要的思想。 对于一个比较复杂的计算问题,往往有多种解决方法。作为算法设计者,通常不要凭着 第一感去编写代码,而是应当三思而后行。即使已经设计出了一个算法,也应当多问自己是 否还有更好的解法。 程序设计的首要任务是找到正确的算法...
  • 2.4.2 逻辑运算

    2.4.2 逻辑运算 2.4.2 逻辑运算 仅用简单布尔表达式是不够的,复杂条件需要用复杂布尔表达式来描述。将多个简单布 尔表达式用逻辑运算符联结起来,即可构成复杂布尔表达式。Python 语言支持的逻辑运算 符有三个:and、or 和 not。 逻辑运算符 and 逻辑运算符 and 联结两个布尔表达式,并得到一个新的布尔表达式。形如: <布尔...
  • 4.2.2 用函数改善程序结构

    4.2.2 用函数改善程序结构 4.2.2 用函数改善程序结构 上一节讨论了函数的减少重复代码、精简程序的作用,并利用函数的这个功能将程序 4.1 改进成了程序 4.2。在该节的最后,我们也给出了一个不宜用函数来减少重复代码的情况。 还能不能利用函数将程序 4.2 变得更好呢? 我们在 4.1 节中一般地讨论了模块化编程,在 Python 中,函数...
  • 4.2.6 函数的返回值

    4.2.6 函数的返回值 4.2.6 函数的返回值 函数作为一种模块构件,它与其他模块如何协作、交换信息?我们已经知道,通过函数 调用时的参数传递,可以实现从函数外部向函数内部输入数据。本节讨论函数向外部输出信 息的问题。 在数学中,函数是从定义域到值域的映射,亦即从自变量计算出函数值。编程语言中的 函数原本就是数学函数的模仿物,自然也可以计算出一个...
  • 4.1 有序数组的查找

    4.1 有序数组的查找 题目描述 分析与解法 总结 4.1 有序数组的查找 题目描述 给定一个有序的数组,查找某个数是否在数组中,请编程实现。 分析与解法 一看到数组本身已经有序,我想你可能反应出了要用二分查找,毕竟二分查找的适用条件就是有序的。那什么是二分查找呢? 二分查找可以解决(预排序数组的查找)问题:只要数组中包含T(即要查找的值...
  • 6.10 总结

    6.10 总结 6.10 总结 无论继承还是组合,我们都可以在现有类型的基础上创建一个新类型。但在典型情况下,我们通过组合来实现现有类型的“复用”或“重复使用”,将其作为新类型基础实现过程的一部分使用。但如果想实现接口的“复用”,就应使用继承。由于派生或派生出来的类拥有基类的接口,所以能够将其“向上转换”为基类。对于下一章要讲述的多态性问题,这一点是至...
  • 第5章 隐藏实现过程

    第5章 隐藏实现过程 第5章 隐藏实现过程 “进行面向对象的设计时,一项基本的考虑是:如何将发生变化的东西与保持不变的东西分隔开。” 这一点对于库来说是特别重要的。那个库的用户(客户程序员)必须能依赖自己使用的那一部分,并知道一旦新版本的库出台,自己不需要改写代码。而与此相反,库的创建者必须能自由地进行修改与改进,同时保证客户程序员代码不会受到那些变...