程序设计是什么?
程序设计,俗称编程,是一个比较专业的概念。初学者,甚至一部分开发人员,都不能很简单的解释这个概念,所以使初学者觉得程序设计是一件很有科技含量,或者是很高深的学科,其实这些都是误解。那么程序设计到底是什么呢?
程序,其实就是把需要做的事情用程序语言描述出来。类似如作家,就是把自己头脑中的创意用文字描述出来。所以学习程序,主要就是三个问题:做什么、怎么做和如何描述,具体如下:
1.做什么
做什么就是程序需要实现的功能。
2.怎么做
怎么做就是如何实现程序的功能,在编程中,称为逻辑,其实就是实现的步骤。
3.如何描述
就是把怎么做用程序语言的格式描述出来。
所以,对于有经验的程序设计人员来说,学习新的程序设计语言的速度会比较快,就是因为第1和第2个问题基本解决了,只需要学习第3个问题即可了。
对于“做什么”的问题,可能初学者觉得会比较简单,其实在大型项目开发,例如ERP,企业都不能很详细的说明需要实现具体的功能,这就需要有专门的人员去发掘具体的功能,这个用程序的术语叫做需求分析。举个例子吧,例如某个人要找个女朋友,如果你大概去问他,他会说,找个中等的就可以了,但是这个还不是具体的需求,你可能需要问一下,要求女朋友的年龄是多少,身高是多少等等具体的问题。所以说,搞清楚“做什么”也不是简单的事情,需要专门的人员从事该工作。
对于“怎么做”的问题,是初学者,甚至很有经验的开发人员都头疼的事情,这个称作程序逻辑。因为实际的功能描述和程序设计语言之间不能直接转换,就像作家需要组织自己的思路和语言一样,程序设计人员也需要进行转换,而且现实世界和程序世界之间存在一定的差异,所以对于初学者来说,这是一个非常痛苦的过程,也是开始学习时最大的障碍。由于计算机自身的特点,“怎么做”的问题其实就是数据和操作的问题,某个顶级大师曾经说过:“程序=数据结构+算法”,把这个问题描述的简单准确。那么“怎么做”的问题,就变成了持有那些数据,以及如何操作这些数据的问题。先简单的介绍这么多,大家仔细体会吧。
对于“如何描述”的问题,是学习程序最容易,也是最枯燥的问题。其实就是学“透”一套格式,并且深刻理解语言的特点。学程序语言,就像学汉语差不多,需要学习字怎么写,学习语法结构等,只是不需要像汉语这样学那么多年,但是学好一个语言还是要耐得住寂寞。语法的学习需要细致,只有深刻领悟了语法的格式才能够熟练使用该语言。
前面介绍的是程序的概念,那么为什么叫程序设计,其实这个设计和现实中的设计一样。例如你自己盖个小棚子,只需要简单的规划即可,也就是编程中的小程序,而如果需要建造一栋大楼,肯定需要进行设计吧,程序也是这样。所以把编程叫做程序设计了。
你适合学习程序设计吗?
程序设计是一个技术活,所以不是适合所有的人。现在很多人听说程序设计人员待遇如何如何的好,都一窝蜂的来学习程序,其实这个现象很不正常,因为程序不一定适合你。其实对于一个人来说,适合你的才是最好的。
就像现在很多小孩子都被家长逼着去学钢琴啊什么,有些小孩根本没有艺术细胞的,所以学习的效果就是差强人意了。
其实程序设计最需要基础扎实了,现在的程序设计学习很偏重程序设计语言的学习,或者直白点说,程序设计课程基本上可以说是在学习程序设计语言,在上一个内容中已经讲解了程序设计是什么的问题,程序设计语言只是程序设计中最后的环节,也是比较简单的环节,只学会程序语言,离实际工作的距离还很遥远,而更多的程序基础其实是在语言之外的东西。就像会写汉字,熟悉汉语语法的人一定能够成为作家吗?
程序设计的基础不外乎以下几个方面:
1、一定的英文阅读能力
因为程序设计接触的很多文档都是以英文的形式提供的,一个阅读英文很困难的人,可以学会程序设计,但是不会有很深的造诣。就像一个看不懂字典的人,能学好汉语吗?
2、较强的数学基础
计算机最核心的功能就是计算,各种程序逻辑都会被转成一定格式的运算,运算需要什么知识呢,肯定是数学了。就像一个数学很差的人能做好会计吗?在程序设计中,需要深刻理解数学,用数学来解决你遇到的各种实际问题,类似于做数学应用题吧。这个基础学要长期的积累。
3、较强的逻辑思维能力
逻辑思维可能每个程序设计人员都很需要,那么逻辑思维是什么呢?其实就是把一个事情分解成一系列的步骤在有限的时间内做完,这个也是程序设计过程中最灵活的地方。例如你要完成“去罗马”这件事情,那么逻辑有多少种呢?借用一句俗话“条条大道通罗马”来解释这个问题吧,所以程序设计是典型的脑力劳动。可能有些人觉得程序设计就是体力活,这也不错,为什么呢,还是借助一个例子来说明吧,买油翁的故事大家都知道吧,如果你反复做一件相同的事情,可能这个事情对外人来说是脑力劳动,对于不断重复做的人来说,也就只是“唯手熟尔”的体力活罢了。
可能很多初学者对于逻辑思维还不是很清楚,那么举一个比较老套的例子吧,例如实现“把一个大象放到冰箱里”这个事情,逻辑是怎样呢?步骤如下:
a、打开冰箱
b、把大象推到冰箱里
c、关上冰箱的门
当然这只是一个很简单的逻辑。在实际的程序设计中还需要严谨的逻辑思维,保证程序可以正常运行。
那么逻辑严谨又是什么呢?还以上面的例子为例,严谨的逻辑思维应该做如下事情:
a、冰箱打不开怎么办?
b、大象不进冰箱怎么办?
c、关不上冰箱门怎么办?
就像一个运动员来说,良好的体质是基础,同样,对于程序员来说,良好的基础可能帮助你达到更高的高度。当然基础不可能每个人都具备,但是数学基础和逻辑思维能力是必须的。
那你的数学基础如何呢,出个简单的数学题目测试一下你的数学基础吧。
已知一组从1开始的数字,第一行从左到右依次是1到10,第二行从左到右依次是11到20,按照每行10个的顺序依次类推,则任意整数n(n>0)位于该组数字的第几行第几列呢?
第一个HelloWorld程序
对于初学者来说,第一个HelloWorld程序太神秘,也太难了,因为需要在第一个程序中学到很多的操作,而且在操作的过程中,即使是一个很小的错误,都可以让初学者束手无策,所以学习第一个HelloWorld程序,一点都不简单,也需要足够的细心和耐心。
在本节中,将通过第一个HelloWorld程序学习如下内容:
l 如何编辑代码
l 如何保存代码
l 如何编译代码
l 如何运行程序
2.1.4.1 如何编辑代码
由于JDK没有提供代码编辑环境,所以使用JDK进行Java程序开发时,还需要一个编辑代码的软件。
Java源代码可以在任意文本编辑中进行,例如Windows自带的记事本等,下面介绍如何在记事本编辑代码。
打开记事本程序的步骤如下:“开始”>“程序”>“附件”>“记事本”。
然后就可以在新打开的记事本内部进行代码编辑了。
下面是一个Java语言的HelloWorld程序:
public class HelloWorld
{
public static void main(String[] args)
{
System.out.println("Hello world!");
}
}
在编辑代码时,注意以下问题:
l 源代码中的字母区分大小写
l 标点符号均为半角字符,即英文输入模式下的标点符号
l 缩进只是为了美观,在实际编译时,会删除代码中每行开始和每行结束的所有空格
2.1.4.2 如何保存代码
Java语言的源文件,后缀名必须是java,不区分大小写,通常都作成小写。
对于源代码的文件名,如果源代码中声明时使用public,格式如下:
public class HelloWorld
则源代码的名称必须和class后面的单词相同,也就是必须为HelloWorld,这个名称区分大小写。也就是文件的全名必须为HelloWorld.java。
如果源代码声明时未使用public,格式如下:
class HelloWorld
则对于源代码的名称没有要求,但是后缀名还必须是java。