海外建站服务平台,wordpress的方法,孝感 商务 网站建设,推广引流渠道方法Java入门#xff08;1#xff09;——注释#xff0c;面向对象#xff0c;问题分解 注释 简单程序里广泛注释显然是愚蠢的#xff0c;但是设计更大的#xff0c;更复杂的程序是一种非常有用的记录。 面向对象 扩展类的实例同时也是现有类的实例。 这个怎么理解#xff1… Java入门1——注释面向对象问题分解 注释 简单程序里广泛注释显然是愚蠢的但是设计更大的更复杂的程序是一种非常有用的记录。 面向对象 扩展类的实例同时也是现有类的实例。 这个怎么理解虽然我知道类这个概念是源于面向对象的。现有类应该是个基础扩展类则继承了现有类的属性 举个例子人——》周杰伦。周杰伦继承了人的固有属性但是同时也有自己发音不清的个性。所以人是现有类周杰伦是扩展类。或者说人是超级类周杰伦是子类。 这里有个问题供我日后解答 java里有类也有函数这个我现在不知道叫什么但和c里的函数很像所以姑且叫它为函数。这是为什么呢因此我也难以理解面向对象和面向过程到底有什么本质区别难道仅仅是思维过程的不同吗面向对象讲求的是分解的思想而面向过程讲求的是过程。 其实这些一切的东西用c语言中的函数不就可以搞定吗。C的函数像一个黑箱提供了几个输入的接口和输出的接口java的类也是这样只是把函数做的更灵活了可以只调用其中的一小部分内容通过属性。然而为什么java还允许写一些类似函数的“私有”的东西呢 这里不得不提一点如果有了尽可能多的函数那么可以解决尽可能多的问题当这些函数多到一定数量时对生活的影响将是巨大的如果有个公司肯将所有编程用到的函数弄一个数据库当然我不知道这个库的大小是否在可实现的数量级程序员的工作不再是编码而是挑选适合的函数用到程序里现在的程序员也是这样吧我不知道或许那时编程已经类似于桌面软件一般的简单进入我刚刚设想的数据库搜索功能输入参数成功解决。 问题分解 一个程序分成若干小部分的过程。因此选择一个恰当的分解路径将是一个程序中比较困难的部分。 分解原则 每个子问题应该执行一个在概念上简单的任务这里无需关注在具体的实现过程是多么复杂。如何检验这任务在概念上是简单的呢通过对它的命名是否能对它进行准确而又简单的命名。 每个子问题应该执行尽可能通用的任务而不是只用一遍那还不如不分解呢。因此在评定程序的实施方案是尽可能通用的分解也成了一个重要的方面。 本次笔记来自于《karellearnsjava》第二章 Java入门2——bug结构化程序软件工程算法 Bug 对于初学者来说bug肯定是很多常见的有以下几点 语法错误 变量方法名字书写错误。 将私有方法直接写在public里面。 将else写在if里面。 逻辑错误 Fenceposterror就是栅栏柱错误。少算了一个或者多算了一个。 Oboeoffbyoneerror缺了一个错误也是栅栏柱错误的一种。 解决以上两种错误的方法是写成类似的代码 while条件{ 执行语句 } 执行语句 第三类bug 这个完全是我生造的概念指的是不能将程序设计的更具有普遍性给日后的开发管理带来难度其实这是最大的却最很难关注的bug。 结构化程序 在学会循环语言之前同学们所写的程序都是线性的。 循环的具体选择原则 for循环已知程序的循环次数。 while循环未知程序的循环次数。 当然在大多数情况下他们是可以转换的应该是这样的吧。 软件工程 软件工程是为了让程序的开发复杂性即开发难度降低到可管理的范围内的一系列方法。其中最重要的方法论便是自上而下设计逐步求精。 自上而下设计逐步求精 原则是从一个问题的顶部开始程序设子。也就是从程序最概念化抽象化的地方开始程序设计例如helloworld程序可以被我们概念化的称为问好。然后具体到问什么好用什么方式问。 用这样的方法可以得到程序大体框架然后逐步分层解决。 因此一个程序可能被分成很多方法一个方法被调用时必须满足的条件被称为前置条件于此相对后置条件则指一个方法完成后必须达成的条件。 算法 设计一个问题的解决思路的过程被称为算法设计。其中解决问题的方法就被称为算法。 算法必须具备以下要素。 清晰而且毫不含糊的表达形式。 该思路的每一步都应该是可行的。 在有限的几部之后该思路总是会终止的而不是死循环。 本次笔记来自于《karellearnsjava》第三四五章。 6/15/201207:06 Java入门3——计算机发展及初探算法及编程过程面向对象 计算机发展及初探 发展 计算机发展迅速但也只是近几百年的故事。如果把公元前两千多年的算盘算上的话计算机发展路线酷似一个底数大于1的指数函数。 计算机科学 与其说计算机科学是关于计算机的科学毋宁说是一门解决问题的科学。 硬件 算法及编程过程 算法 算法是抽象的问题解决方案对于编程新人来说具体编程的实现难度大于算法的而随着编程经验的增加算法的设计越来越成为一件有挑战的事。 之前的笔记中也提到过算法的三个要素准确定义有效有限。 编程过程 创建及编辑程序编译调试维护语言类型 1.编译型在不同的硬件上有不同的编译器将源文件转换为机器指令根本原因在于基本硬件使用的是不同的机器语言。 2.解释型将代码转换为解释器可认的中间语言这些语言在通过解释器执行而不是像编译型直接装换为机器语言。 Java采用的是结合策略Java将源代码编译为普通的中间语言。java为了跨平台的同时保持程序的运行效率引入了虚拟机的概念。虚拟机将中间语言链接后的代码翻译为机器语言。具体的过程如图 面向对象 在“面向过程”的语言中程序是由过程或是可重用代码的函数构建起来的。在“面向对象”的语言中程序是由数据和功能组合而成的对象构建起来的。 本次笔记来自于《Java语言的科学与艺术》 6/21/201209:06 Java入门4——编程示例Java程序结构程序欣赏方式类和对象图形程序 Java程序结构 如图一个入门级别java程序的结构是这样的注释输入主类。 注释 注释有两种方式一种是/*注释内容*/通常用于整段的注释一种是//用于单行注释。 输入 Java可以方便的使用程序库这些程序库通常是其他编程人员写的工具的集合。通常大多数程序在注释后会包含import行。 主类 这显然是java程序的主体一般包括标题行和类定义的主体。我们可以从标题行得到重要的关于程序主体的信息又可以在类定义的主体体会程序细节。上图程序中extends是java关键字中的一员她表示HelloProgram是GraphicsProgram的子类因此GraphicsPogram能做的HelloProgram都能做。类的主体中则包括了java方法的一个示例方法中包含的便是语句准确的说语句才是程序的主体虽然这里整个程序只有这一条语句。无论什么时候运行java程序计算机总是执行包含在主类的run方法主体中的语句。 程序欣赏方式 整体观整体观只要求知其功能而不必知其细节实现。需要了解每行语句或者每个方法甚至每个程序的功能。 细节观细节观则要求知其细节而不对整体要求。需要知道每个变量每个关键字的具体含义以及每个程序的具体实现。 对于初学者更多的要求是两种观点的相互转换既不能淹没在具体语言细节里而忽略软件工程也不应过分的整体化而导致程序无法实现。而这样做的机会则是编程用编程学会语言用编程学会编程。因为在实验中我们能学会很多东西。 习语或编程模式 Java中有着很多结构化的重复性的代码这些代码被我们称为习语或编程模式。有时候这些模式像Java规则或库提供的宏大有冗长的故事然而熟记这些故事可以隐藏很多细节好比中国成语一样有事侯短短的几个字下面就是一个丰富多彩的故事。识别并熟记这些模式可以方便程序的实现。事实上我们并不需要可以的记背这些模式编程到了一定的累积程度很多细节便自动转换成了习语或编程模式。 类和对象 类是可扩充的模板。它制定了对象的特殊风格的结构。每个对象都是特殊类的实例类可以分别作为不同对象的模板。 对象是一个封装状态和行为的综合实体。而对象的状态由一组属性组成这些属性适用于该对象并且可以随时间而更改。对象的行为指对象对其内部事件或外部对象发出请求的响应。触发特殊行为的词语称为消息。 图形程序 或许有人认为对于初学者来说图形程序包含了很多解决问题以外的细节因而不太适合初学者。所以一Java作为学生的第一门语言的课程都会使用冷冰冰的控制台程序然而这是课程设计者丝毫不管学生的声音的愚蠢行为更多的同学渴望的是可以写出易于交互的图形程序。这点也是本书的开创性之举。 7/3/201219:07 转载于:https://www.cnblogs.com/bear-lab/archive/2013/02/13/2910677.html