有必要知道什么是程序,什么是算法。
你知道它是什么,便不会学得懵懵懂懂。
学习java编程跟学习其他编程语言一样,都需要明白这是一种解决问题的语言表达形式。
通过这种计算机语言描述出解决问题的方式方法,以便于在计算机上实现它。
就比如,你希望有一个可以计时的秒表,我就用编程语言设计一个秒表软件实现你的需求。
实现需求的过程就是用编程语言编写程序的过程,解决这个需求的方法也叫算法,也就是解决问题的方法。
算法是任何一个编程语言的核心。了解了这个,就已经走上了学习编程的正路。
编程与生活息息相关,两者要始终保持密切联系。
如何准确理解程序呢?
举个例子,我要去买饭。买到饭是我想要的结果,而解决这个问题的过程我们需要几个步骤。就简单的步骤来说:
第一步想要找到饭馆,第二步挑选自己想要的饭菜,第三步付费结账。
这是简单来说,如果具体到每个人的生活环境,解决这给问题的步骤还要多一些。
刚才那三个步骤是用文字表述的程序,也就是自然语言,这也是程序。
程序是解决问题的方法步骤,解决买饭问题的步骤就是买饭的程序。
如果用计算机能理解的语言表述出来,那个程序变身为计算机语言程序。
程序还有编程是并不复杂的概念,也没有太高大上到你无法理解。
再重复一遍,程序就是解决问题的方法步骤或者既定方式。
编程就是将解决问题的方法步骤写出来。
而计算机编程便是用计算机能理解的语言将其方法步骤写出来。
看似编程是高大上,冷抽傲的,其实它是很贴地气的,处处与生活接轨。
3、
编程语言有很多种,选择java是只选择了其中一种表述和实现方式。
设定编程语言是因为计算机是一个僵硬的东西,自然语言是它所不能理解的,故而需要设定一种它可以理解的语言,让它听懂你说的指令,它才能为你服务。
理解了何为计算机程序和编程,下面就具体到不同种类的编程语言的选择。
不同种类的编程语言就类似于现实中的各国家的语言,英语,法语,还有我们最熟悉的汉语,同样的问题,会有不同形式的表现。
汉语中描述自己是“我”,英语中是“I”,其他语言中又是另外的表述。
不同的编程语言的区别也基本类似。
不同语言的区别主要在于对于算法的表述方式不同,程序语言的适用范围不同。
因为表述方式和适用范围的问题,诸多编程语言便可以区分开来,使用时也根据这两点进行选择。
学习时有很多语言,如C、C++、java,这三种编程语言是因为不同的需求而研发的。
java与前两者相比的优势在于可移植性强,对于系统和硬件要求不高。
了解了这个你就大体知道java的特性了。其实只要有java虚拟机,它几乎可以在任何机器上运行。而c和c++是没有这种特性的。
也就是只需要安装一个java虚拟机,电脑上可以运行java程序,手机上也可以,平板上也可以,对系统和硬件类型没有硬性要求。
这种特性就是java得以推广的重要原因,它的适应性太强了。
说这些是让大家对于java有一定更深的理解。
java和C语言有一定渊源,团和C++是很像的,学过C和C++的再学习java比较简单一些,没有这些学习经历也不用担心,只需要足够的练习量便可解决这一问题。
练习的频率要远大于看知识点的频率;教程的选择最好以视频为主,书本教材为辅。
真正的自学是练和学结合。
开始需要选择合适的教程,可以是视频的,也可以是书本的。
多数人是选择书本较多,书本携带方便,便于记录重点和心得。
其实就实效性而言,我倒是建议以教学视频为主比较好。
也就是视频教程为主,书本教材为辅。
首先,书本教材的操作可视化是个问题,就算有图片辅助,也无法完全展现操作的全貌。
其次,教材的学术性太强。为了保证教材的知识质量和高学术性,往往很多章节包含了太多资料和知识点,学习这些章节时往往会被各种密集的要求和解析所弄晕。
就比如,教材中开篇对于编程发展的阐述,如果仔细去看会发现涉及到太多历史事件,人物,公司等等……
再者,教材中的表述语言书面化太强。教材中缺乏大白话,一句话可以简而言之的,往往为了追求准确的定义而使用书面化的严谨的学术语言,看着枯燥,学着也枯燥。
而视频教程往往强调实践,互动性强一些,教授过程多数是在编写中进行,很多进行很多调节操作。
看着视频,你会了解某个学习问题的全貌。
整体上而言,选择一个视频教程要比书本教程更有实效。
当然,书本教材中内容丰富作为一种知识补充是很好的,学的时候想要看更仔细的一些解释就可以翻看教材了。
教材选择方面,国内的用得较多的是清华大学出版社出版的《Java语言与面向对象程序设计》,而国外的经典教材《Java编程思想》,这个需要有一定学习经历之后才可以看,建议开始不要买这个教材学习,而且里面有很多例子是以C,C++做实例比较的,没有C类语言的学习,估计也难以看懂。
关于编程语言的发展,只要了解一下就好,教材中的学术性总结有时太多,妨碍编程的学习。
编程还是要从实践性强的方面入手的。
具体不赘言了,源远流长的东西讲太多实际上是舍本逐末,学到技能是根本。
在学习java过程中还需要巧妙的理解方法和思维转换。
比如“变量”这一概念的理解,就可以对应成房间或者箱子,编程中声明一个变量就是开一个房间,变量名是房间名,变量类型是房间类型,赋值给变量就是房间里住了一个人。由此你也可以知道,为什么叫变量呢,因为这个“房间”里可以反复进出很多“人”。
很多人刚碰触编程,对于编程那些一行行的字母感到恐惧,其实编程的模式再简单不过,几乎是固定的模式。
举个简单例子:
public class Test{
public static void main(String[] args){
System.out.print("我想学java!");
}
}
这个程序运行后是输出“我想学java!”这句话。
开头“public class Test{}”是一个java程序的框架,相当于盖楼时的楼架子,素描时的轮廓,浇筑机械零件时的模具。
然后程序框架之内的大括号里是更进一步的内容。
“public static void main(String[] args){}”这是这段程序的入口,类似于盖楼房后的入口,素描后的第一笔细描等。总之是框架之后,设定的一个开始的位置。程序从这个地方开始。
程序入口大括号内的内容就是具体的指令和运行内容。
System.out.print("我想学java!");
程序运行后就会输出内容:我想学java!
从这个java程序就可以看出很多java程序的共性,他们都会有java程序框架,框架之内都会有一个java程序入口。
这就是一个固定的模式,记住它,适当的理解就可以了。
巧妙的理解和思维转换的关键也在于之前所说的和生活联系,和你已有的经验联系起来。
因为程序本就是从生活而来。
6、
保证练习频率是形成技能的必要条件。
备好一本教材,找到一个完整的入门视频,几乎所有准备工作完成了。下面就是按照教程来学习了。
如何找到一个好的入门视频呢?可以搜索一些自学网之类的,或者在百度教育里有不少相关的教学视频供你选择。
百度教育里有很多种类的java教程,找入门级别和基础类的教程即可。
学习的过程中,练习的量要大于你看教程的量。有时候一个知识点你要反复练习几十遍上百遍,这样才能有扎实的效果。
基本上最后的原则就是练习频率要大于看教程的频率。
个人经验起码要达到几十比一。如果不嫌枯燥可以变换形式练习,看一章节练习一百次的频率。
学习编程最后的效果是为了自己能够独立编程,进入企业后可以解决相应问题。如果你每个知识点仅仅是练习几次,效果是你懂得它讲了什么;通篇学下来你都是练了几遍而已,也仅仅是你大体懂了什么,而不是会了什么。
那时还不能说你懂得了编程技能。
7、
最后就是希望大家记住学习java的重中之中,就是练习!练习!反复练习!持续练习!有质量的练习!
基本上自学java编程的几个原则性问题讲清楚了,之后我会从头细致讲述java开始学习时的各种疑难问题,希望大家能有所收获。
![如何自学java编程](https://i-blog.csdnimg.cn/blog_migrate/77c4890701efff437e31a62706de03c1.jpeg)
注意事项:
-
1.java程序练习的开端其实是安装jdk,不少新手在这上面出现问题。
-
2.在开始学习java的阶段,java程序是在记事本上编写,然后通过cmd来实现程序运行。
-
3.关于以上两点,是值得重点讲的,我会在下一篇中介绍相关经验,尤其是对cmd的使用。