90%的人也许还不知道,java还能这样学!

都说人生苦短,只学Python。不可否认,Python近来确实势头强劲,但是看一下最新的语言排行榜,Java先生仍然稳坐头把交椅。Java是一门使用频率非常高的编程语言,约90%的财富500强公司都在大量使用Java

从技术角度来看,Java几乎涵盖了软件开发的各个层面:后端开发、大数据开发、嵌入式系统开发、移动应用开等。如果你选择了学习Java,那么恭喜你,你将获得极其广阔的发展空间。

然鹅,作为一个新手,应该如何学习Java呢?有的同学求学心切,学了点皮毛就迫不及待要去开发大型网站或移动应用,殊不知“不积跬步无以至千里”,基础没有打牢,只会在后续学习或工作中屡屡受挫。那究竟什么才是打开Java的正确方式呢?  

众所周知,Java是一门纯粹的面向对象语言,它既不像Python将结构化编程与面向对象混为一团,又彻底抛弃了C++中晦涩的指针操作。在Java中一切皆为对象,Java以“类”作为程序的基本单元,并通过“对象”间的交互来使程序运转,同时借助封装、继承及多态机制来构建复杂的软件结构。鉴于此,学习Java最重要的不在于熟悉语法,而在于面向对象思想的理解和运用,这也是容易被初学者忽略的问题。

辣么,又该如何学习面向对象呢?假如将Java编程比作一门武功,语法就好比招式,而面向对象则如同内功心法。招式易学,心法难通,若要知晓面向对象的诸多妙处,死记硬背是毫无用处的,唯有通过反复的实践和练习去领悟。  

对于小白来说,通常的作做法就是照着教材上的例子敲一敲,或者做做章节练习题。这种方式对学习语法是有效的,然而,例子或习题都是孤立的问题片段,彼此没有联系,不能形成一定规模的复杂度,无法让人从整体的系统的角度去考虑问题的解决方法,从而妨碍了面向对象思想的深刻理解和灵活运用。因为面向对象就是为了解决复杂系统问题而诞生的。

为了学习面向对象的精髓,我们需要借助切实有效的途径和灵活方便的工具。Java的老爹Oracle大爷早已为初学者们考虑到了这一点。看看Oracle对于Java学习工具的建议:首先是Alice,然后是Greenfoot,最后是Eclipse。今天我们重点关注一下这个Greenfoot。

Greenfoot究竟能够做些什么呢?答案是:Greenfoot能使用Java语言来编写游戏(划重点)。有同学立马表示不屑:我又不想搞游戏开发,用这个做啥子。别急,其实Greenfoot主要不是用来开发游戏的,而是通过编写游戏来学习Java面向对象编程。

喜欢读书的童鞋可能注意到,国外许多编程语言的教材都喜欢将游戏作为教学案例,没错,编写游戏是学习编程的绝佳途径。编程的过程是枯燥的,编写游戏会让程序显得生动有趣,增加学习乐趣。更重要的是,每个游戏都是一个完整的项目,编写游戏能够让人从整体上系统思考游戏项目的解决方法,从而让初学者在没有条件接触实际项目开发的情况下也能积累一些项目经验。

同时,游戏编程对于面向对象思维的培养非常有利。游戏中的所有角色和物品都能用“类”来建模,并通过创建“对象”及其交互,来使整个游戏世界正常运转。于是乎,在编写游戏的过程中,不知不觉就加强了对面向对象的理解和运用,此谓“只能意会不可言传”矣。

下面正式介绍一下Greenfoot。

Greenfoot是由英国的肯特大学开发的一款可视化编程工具,起初被用于Java程序的教学。Greenfoot界面友好,操作方便,而且通过可视化的图形编程环境以及对游戏编程的良好支持,得到了众多国家的广泛使用,国外许多高校的计算机教师都使用这款软件作为Java语言的教学工具(官方建设了国际化的Greenfoot教师讨论社区——Greenroom)。

此外,Greenfoot为游戏编程提供了丰富而实用的API(应用程序接口),使得编写小游戏异常方便,因此对于希望学习游戏编程的人来说也是一个非常实用的工具。可以这样说,Greenfoot既是学习Java语言的便捷工具,也是学习游戏编程的实用工具。

由于Greenfoot在教育界所取得的成功,一切大企业也将其作为自己的官方工具,比如Java语言的开发者Oracle公司从2015年开始将Greenfoot纳入自身培训体系的一部分,并在官网提供学习支持。同时Oracle还和国内众多高校与职校合作,推出教师培训计划,鼓励教师在教学中使用Greenfoot作为工具,共同推动Greenfoot在Java程序教学中的应用。

我做开发十多年的时间,如果大家对于学习java的学习方法,学习路线以及你不知道自己应该是自学还是培训的疑问,都可以随时来问我,大家可以加我的java交流学习qun:615741636。qun内有学习教程以及开发工具。

看了上面的介绍,你是否有点心动呢?

猜你喜欢

转载自blog.csdn.net/qq_42755528/article/details/89306988