目录

  • 一、开发过程
  • 二、需求分析
  • 三、程序设计
  • 四、伪代码
  • 五、通过《Java核心编程》探索程序设计
    • 1、经历的场景不同
    • 2、在同一个场景中思考问题的角度不同
    • 3、解决问题的方法不同
  • 六、给大家推荐一本Java经典书籍
    • 1、作者简介
    • 2、本书特色
    • 3、推荐:[Java核心编程从问题分析到代码实现(第3版)(上下册)](https://item.jd.com/13144661.html)

一、开发过程

程序是一组可以用来解决问题的指令,通常,一个程序包含许多指令,而且这些指令相当复杂。因此,开发一个成功的程序需要仔细地规划,认真地执行,以及持续地维护。以下是程序开发过程中涉及的典型步骤。

  1. 需求分析,确定程序的需求和目标;
  2. 设计,编写程序的大纲;
  3. 代码编写,编写程序本身;
  4. 测试部署,验证程序的运行;
  5. 文档撰写,对程序进行描述;
  6. 维护,在以后的工作中进行改进和修复错误。

这些步骤是按照合理的顺序排列的,但有些步骤应该在整个开发过程中进行,而不是在某个特定的时间。例如,应该在整个开发过程中进行文档撰写工作,在代码编写和测试部署之后进行维护,注意,实际项目中经常根据需要重复某些步骤。例如,如果项目的一个目标改变了,就需要在不同程度上重复所有的步骤。

二、需求分析

程序开发过程中的第一步是需求分析,以确定程序的需求和目标。程序员必须要完全了解客户的愿望。不幸的是,往往程序员制作了一个程序后,才发现客户想要的是不同的东西。这种不幸的情况大都可以归咎于客户和程序员在项目开始时没有精确的沟通。如果客户和程序员仅仅依靠对拟议解决方案的口头描述,很容易遗漏重要的细节,直到他们意识到对如何实现这些细节有不同的假设时,这些遗漏的细节就会成为一个问题。
为了前期沟通的顺利进行,客户和程序员应该以邮件的形式进行需求沟通,而不是餐桌文化或者口头表述。

三、程序设计

在需求分析步骤之后,第二步是程序设计,要写出程序的草稿,重点是基本的逻辑,而不是措辞的细节。更具体的说,写出的逻辑要保证连贯且逻辑正确,但不用担心遗漏小步骤或写错字。例如,一份包含解决烘烤蛋糕问题的指令是蛋糕食谱就是一种算法。这些指令是连贯且逻辑正确的,但它们不包含每一个小步骤,比如在把蛋糕从烤箱里取出来之前,先带上防烫手套。

四、伪代码

在编写程序时,应该把重点放在组织指令的流程上,尽量避免被细节困住。方便于集中精力,程序员经常使用伪代码来编写。伪代码是一种非正式的语言,使用常规的英语术语来描述程序的步骤。使用伪代码,不需要精确的计算机句法。句法由语言的单词、语法和标点符号构成,而伪代码的句法更加宽容:需要足够清晰,让人能够理解,但单词、语法和标点符号不一定要完美。

《Java核心编程–从问题分析到代码实现》教读者如何使用Java编写程序。这本书的独特之处在于首先将基本原理与对象结合起来。精心挑选的程序编程基础知识,将本书转变为面向对象的编程基础知识。本书强调的是解决问题。例如,在第2章致力于算法开发,第8章致力于程序设计,解决问题的章节贯穿整本书。
这是一本优秀的Java技术图书,它以一种容易理解的语言介绍了Java语言的概念、算法设计和编程方法,这对于初学者学习和加强Java语言和面向对象的设计原则是非常好的。它从各个层次详细分析了Java的各个组成技术,并且利用大量的示例进行了技术的分析,不仅可以作为技术学习的图书使用,同时也可以作为工具字典使用。

编写计算机程序涉及两项基本活动:

  1. 搞清楚你想做什么;
  2. 编写代码来实现它;

你可能想绕开第一步,直接第二步编写代码;请克制这种冲动。

直接开始编写代码的结果往往只能得到糟糕的程序,这些程序运行的不理想,还因为组织导致混乱难以理解,修复起来也很麻烦。因此,除了最简单的问题外,最好先思考你想做什么,然后再组织你的想法。

五、通过《Java核心编程》探索程序设计

如果是学技术,大家可以阅读同样的书籍和网络文章,为什么还会造成最终设计方案的差异?

我认为有三点:

1、经历的场景不同

同样大学毕业的程序员,学习能力的差别并不会很大,可是为什么行业头部公司的程序员更受欢迎?原因就是他们经历的场景不一样,头部公司就职的程序员会碰到更多在其他公司没有机会碰到的业务场景。

2、在同一个场景中思考问题的角度不同

同一个场景中,可以看到全局、从业务问题推导到最终技术细节的人,和基于别人的设计开始开发的人,其收获并不一样。

3、解决问题的方法不同

程序员是不可能掌握所有技术的,这就要求他们用20%的技术知识解决80%的问题。所以当碰到一个新的业务场景时,关于如何从0到1设计出方案并最终落地,每个人的方法论是有差异的。

《Java核心编程》通过强调算法开发和程序设计两个关键元素讲解程序化地解决问题的方法,将需要复杂语法的概念延后,为了高效地编写代码,通过程序示例代码追踪与说明来确保彻底理解代码,从易到难,从单一技术到组合技术,层层深入,以实际的业务问题作为切入点,讲解方案设计过程,让你轻松看懂解决方案,理解背后的实现原理。本书行文逻辑完全源于现实当中的思考历程,通俗易懂,让你在酣畅淋漓的阅读体验上,习得场景、纵览全局,了解作者解决问题的方法论,从而提升自己的程序设计能力。
我认为,一个人要能够长期发展,就要不断探索和解决新的业务场景,全局思考,并且有一套发现问题、高效学习、解决问题、总结改进的方法论。只要具备这样的能力,那么,不只是35岁,任何年龄对你来说,都不是桎梏。

六、给大家推荐一本Java经典书籍

《Java核心编程》,国外广受赞誉的Java经典教科书,畅销十余年,版本三次升级,好评如潮。

1、作者简介

John Dean,帕克大学计算机科学与信息系统系的副教授,拥有堪萨斯大学的计算机科学硕士学位和诺瓦东南大学的计算机科学博士学位,拥有Java认证,曾在业界担任软件工程师和项目经理,专门研究Java和各种web技术。

Raymond Dean,堪萨斯大学电气工程系和计算机科学系的名誉教授,拥有麻省理工学院的硕士学位和普利斯顿大学的博士学位。他同时也是暖通空调行业的专业工程师,编写过空气分配系统和建筑系统中能耗与声音传播的计算机程序。在堪萨斯大学,他教授微处理程序、数据结构以及电气工程和计算科学的课程。

这是一本优秀的Java技术图书,它以一种容易理解的语言介绍了Java语言的概念、算法设计和编程方法,这对于初学者学习和加强Java语言和面向对象的设计原则是非常好的。它从各个层次详细分析了Java的各个组成技术,并且利用大量的示例进行了技术的分析,不仅可以作为技术学习的图书使用,同时也可以作为工具字典使用。

2、本书特色

国外广受赞誉,畅销十余年,版本三次升级,好评如潮,是外国的Java经典名著!
在本书中,我们将带领您进入有趣且令人兴奋的计算机编程世界。在整个“旅程”中,我们将为您提供大量的解决问题的练习。毕竟,优秀的程序员需要善于解决问题。我们将展示如何使用Java程序实现问题解决方案。我们提供了大量的示例,简短的示例集中解释一个概念,而较长的示例更贴近真实的程序设计。我们以会话的方式呈现材料,以便于理解,让这个“旅程”更加愉快。读完这本书后,你应该可以成为一名熟练的Java程序员。

本书轻松愉快的讲解将带领您进入有趣且令人兴奋的计算机编程世界。从计算机硬件组成到软件开发,从Java的个程序到算法、程序设计和解决问题的方法,本书带你深入探究Java编程是什么、为什么、怎么做。你不需要具备任何Java编程的知识便可轻松学习本书和掌握Java编程的核心思想,大量的实践练习帮你成为一个熟练的Java程序员。

3、推荐:Java核心编程从问题分析到代码实现(第3版)(上下册)

上一篇:Java学习路线总结,搬砖工逆袭Java架构师

下一篇:Java基础教程系列

通过《Java核心编程》探索程序设计相关推荐

  1. Java是动态语言吗?从《Java核心编程》探索真知

    目录 一.Java是动态语言吗? 1.动态语言 2.静态类型 3.<Java核心编程>中探索~~为什么Java可以称之为"准动态语言"? 二.了解ClassLoader ...

  2. Java核心编程总结(五、线程池与死锁),淘汰了80%的Java面试者

    | Java核心编程总结(八.IO输入输出流)

  3. Java核心编程随笔

    1.XML 是一种描述数据的方式.可以使用任何一种程序设计 语言处理 XML 数据,而 Java API 对 XML 处理提供了很好的支持. 2.HTML 是一种描述网页结构的方式.除了用于在网页上放 ...

  4. Java 核心编程技术干货

    Java 基础篇 Java 多线程篇 Java JVM篇 Java 进阶篇 Java 新特性篇 Java 工具类篇 Java 综合篇 Java基础篇 恕我直言,在座的各位根本写不好Java! 8张图带 ...

  5. java核心编程视频教学

    前言 Java作为最全面的语言,国内开发者也是最多的,Java综合起来各方面都不错,在大部分场景下是一种稳健的技术选择.加上近年来安卓的推动,目前也是最流行的一种语言. 现在Java的就业市场看起来还 ...

  6. Java核心编程总结(二、抽象类与接口),linux音频驱动架构

    抽象类不能创建对象,如果创建,编译无法通过而报错 理解:假设创建了抽象类的对象,调用抽象方法,抽象方法没有方法体,无法执行 抽象类一定有而且是必须有构造器,是提供给子类创建对象时,初始化父类成员使用的 ...

  7. Java核心编程总结(十、反射),linux技术支持

    1.基础回顾+面试 =========================================================================== 1.1单元测试 什么是单元测 ...

  8. java核心编程(集合、io、反射等)

    学习总览: 一.集合 1.Collection 1.1 Collection接口 集合: 存储数据的容器(数据结构) Collection:是一个接口,定义了操作集合相关方法 Collection下有 ...

  9. Java面向对象编程的程序设计(OOP)思想

    文章目录 面向对象(oop) 封装 继承 多态 抽象类(abstract) 类型转化(instanceof) static关键字 面向对象(oop) 面向对象程序设计(Object Oriented ...

  10. Java核心编程(16)

    1.Map集合 1.1Map集合概述和特点[理解] Map集合概述 interface Map<K,V> K:键的类型:V:值的类型 Map集合的特点 双列集合,一个键对应一个值 键不可以 ...

最新文章

  1. 若依管理系统源码分析-分页的实现以及post请求时的分页
  2. Node.js 笔记01
  3. HDU1010:Tempter of the Bone(dfs+剪枝)
  4. 003 Preconditons
  5. 程序员容易不能生育?
  6. Android签名机制---签名过程
  7. 国产特斯拉遭疯狂吐槽:涨价、车尾带汉字标、续航打折扣
  8. 第一:Python+Allure运行报错AttributeError: module ‘allure‘ has no attribute ‘severity_level‘
  9. 文件格式和扩展名不匹配。文件可能已损坏或不安全。除非您信任其来源,否则请勿打开。是否仍要打开它?
  10. Markdown数学符号
  11. 谷歌Apps vs.微软Office
  12. (Spring Cloud微服务实战-书中之坑)spring cloud zuul统一处理业务异常,并且需要响应状态为200...
  13. 安装Adobe Reader 时报错:HRESULT:0x80070422
  14. 002-CentOS7 固定IP
  15. 「构建企业级推荐系统系列」推荐系统与精细化运营
  16. VS2019左侧 黄、绿线条 以及 错误波浪线 隐藏
  17. android signal 6,android项目运行出现Fatal signal 6 (SIGABRT), code -6 in tid 3
  18. 数据挖掘与数据分析的区别
  19. 隆重公有化财团成员交恶 中绒遭深交所询问
  20. 预防腰椎间盘突出姿势最重要

热门文章

  1. c语言课程主要目的和内容,C语言程序设计课程教学大纲
  2. 点石成金_Index
  3. poi mysql 导出 excel乱码,本地tomcat正常,但liunx poi excel下载却内容乱码问题的解决方法-学派吧...
  4. iis6安装PHPManager和URL Rewrite
  5. Windows下使用命令打开远程桌面
  6. React实战入门课程:dva开发一个cnode网站(3)
  7. soapui使用教程2-属性与脚本
  8. 计算机毕业设计nodejs宠物寄存管理系统
  9. 初读《Linux运维之道》浅见
  10. 帆软日期格式转换_FineReport帆软报表相关学习笔记,纪要