文档章节

给程序入门者的一点建议

闵开慧
 闵开慧
发布于 2014/11/11 10:13
字数 3265
阅读 1376
收藏 44
点赞 0
评论 3

Java自学之道(一) 给程序入门者的一点建议

    在书场上看到很多有关Java的书籍,但这就像进了瓜地里挑瓜挑的眼花,很多人不知道自己到底该选那本书好。很快精通Java可能只有很少一部分人能实现,那就是他曾经精通过哪门语言,因为程序设计语言很好学,只要你精通一门语言,就可以做到一通百通。因为每种语言都有其共同点,就拿C语言来说,由于C语言出现的比较早,用的人也比较多,所以人们都习惯了它的语法规则和设计流程,假如现在出现了一门新的语言,而它和C语言的语法规则是天壤之隔,那么它的结果肯定是被淘汰的对象。道理很简单,这种新语言的语法习惯和人们的编程习惯相差甚远,所以导致很少有人用,而语言的开发就是为了更多的使用才有其价值,如果没人使用也就没有它的价值了。就像Java语言一样,它的出现要比C语言晚,但无论它再怎么新,它的语法规则和C语言基本相差不远,所以人们也喜欢用,这样它才能实现它的实际价值。就像笔者在学习JavaScript一样,由于对Java的学习比较深入,所以在学习JavaScript只需要不到一个星期就做出了像 hao123那样的网页。

    而对于大多人来说,他们如果没有精通某种语言,刚开始就学Java,这样连基本的语法规则都没有积累,怎么可能在短期内精通Java?而本书就克服了这个缺点,无论是对于初学者还是大牛,都有其相对应的适应性。根据笔者自学Java两年的经验,笔者在这里毛遂自荐一下,其实精通一门语言很简单:对于初学者,刚开始需要把基本概念过一遍,而本书开始部分的基本概念都是精简版,所以这样就克服了概念吸收慢的缺点。接着就是做后面的程序练习和项目开发。有人可能会问,这样如果有的概念忘记了怎么办?很正常,遇到不懂的概念就回去前面查或者查API文档。就这么简单,精通的过程就是在不断地查和练之间形成的;对于已经接触过一门语言的同学前面的Java概念只需简单过一遍,毕竟每种语言之间虽然有很多相似之处,但也有很多不同之处,所以主要看不同的地方。接着还是不断地练习和做项目,这样才能不断提高自己。

    我在这里不得不提一下另一种古老的学习方式,那就是中学的学习方式。很多人将中学的学习方式带到了大学,而大学的学习方式和中学的学习方式是大相径庭的,无论你学习什么。所以就出现了,很多在中学学习很少拔尖的同学在大学的学习中却很吃力,甚至付出了很多努力,但最后的成绩还是到不得自己预期的水平。在中学的学习方式是我们花大量的时间来把概念够透彻,尤其对于数学更是这样,就拿笔者来说,笔者在高考时把五本数学书仔仔细细翻了三遍,课后习题一个不落的往后做。而在大学,大学就是一个小社会,它会让你更接近现实,同时进入社会事情肯定也越来越多,怎样高效地处理这些事情就需要另一种学习方式。就像笔者在上面说过的一样,在大学的学习中大多是靠自己自学的,在大学靠老师就等于靠一面快要倒了的墙,你是靠不住的,这样只会耽误一个学生的前途。所以,我们在学习过程中,怎么高效地吸收书本上的知识,很简单,就是通过不断地查和练。

    以前在中学时,经常看一些怎样提高学习效率、怎样考高分的书,感觉人家说得在情在理,自己当时也看得是激情澎湃。但在大学的图书馆钻了两年后笔者才发现看不看这些其实都是一样的。因为无论在哪本学习方法的书里面,都是让你把自己的时间安排的满满的来学习一门知识,这很明显是理想状态,进入社会的人有多少能整体学习一门知识的,就是学生每天也要学习不同的课程,更何况进入社会的我们。其实,话又说回来了,别人的学习方法也不无道理,人各有志,每个人的情况大相径庭。但无论你无论是借鉴别人的学习方法,还是自己的,只有适合自己的才是最好的。

    还有一点,学习方法固然重要,但更重要的是自己的心态,如果一个三天打鱼两天晒网,那么,无论多么科学的学习方法对他来说都无济于事。道理很简单,就像一个人对他的女朋友用心不专一样,那么他还希望他的女朋友能和他相处一辈子吗?

    对于初学者来说,笔者建议刚开始练习Java程序的时候用DOS环境来编译和运行,这样也可以提高自己的程序调试水平。笔者承认Eclipse功能很强大用起来也非常方便,但笔者认为这不适合初学者使用,因为里面很多函数、类、方法等不需要自己写就可以自动生成,这样反而不利于初学者的学习。这个道理也很简单,其实,越方便的东西我们越要警惕,这就和天上掉馅饼是一个道理,它有可能不是圈套就是陷阱。

    刚开始学习Java不在多,关键在精。很多人在学习时有这样一种误区,书借了很多,但是都是这本书学一点,那本书学一点,到头来学的知识没有一个整体性,最后给自己的感觉就是好像学了很多,但真正用起来却手足无措。所以,你只需要用一本书把它搞精就OK了。

    在这里我们需要明确一个误区:Java的学习是为了项目开发,而不是为了搞研究。所以,我们在学习的时候关键是要知道它怎样用,而不是要深入地知道它到底 是怎么回事。而笔者只所以要写这本书,这也是其中一个原因。缘由笔者在刚开始学习Java的时候也借了很多书,但都是理论搞得过于深刻,这样不但繁琐难 懂,而且最后用起来还是写不出来。就拿里面的IO流那章来说,很多书都想把它讲的很清楚这点没错,所以理论搞得非常深厚,但这样只会让人看得一头雾水而不 知所云。这样反而会事倍功半,所以笔者在讲这章时,很简单,主要是搞清楚流的去向,如读出就是把文件从内存读出到显示器,写入就是通过键盘把文件写入到内 存。搞清楚了最基本的道理,后面的各个函数都是围绕这一点来展开的,学起来就轻而易举地理解它。这就和练功一样,先要把内功练深厚,后面的深奥功夫才能很 快练就,反之,就只会走火入魔。

    在此给大家建议,学习java不必害怕。其实,不管是学习Java还是其它计算机知识都是一样的,我们只所以觉得计算机知识比较难主要是因为它的抽象性。因为我们要把现实生活中三位的东西压缩成二维的传承下去,所以就出现了理解障碍。但是大家有没有发现,读小说似乎不是很抽象并且还很容易理解,这又是为什么呢?小说其实和我们的计算机知识一样,都是把现实生活中三维的东西压缩成了二维的概念,但它依然不抽象且容易理解,主要是因为我们在读小说的时候有的人已经把自己放进小说里面了,好像小说里面的主人公就是他自己一样,这样看起来当然是越看越带劲。不经意间发现这个小技巧,那我们为什么不把它在我们的计算机知识里面应用一下呢?所以,我在写这本书的时候尽量举最贴切实际的例子来吸引大家投入其中,这样,抽象的概念从此将不再抽象。记得在高三的时候,我们班主任幽默地说了句:大家没事的时候就把这些课本当小说翻一翻。虽然老师话音刚落,教室就一片哗然,但我却不小心记住了这句话并从中得到了不少启发。为什么我们不把这些抽象的知识同小说一样对待呢?

    接着讲一讲有关电脑的操作方面,有人说这么简单的也要讲,但我不得不说:越是简单的东西越要注意。就和我们晚上睡觉一样,如果让我们每天晚上12点前睡觉,这个要求听起来确实很简单,但试问真正能做到的人又有几个?电脑操作也一样,或许大家在这方面可能比笔者厉害百倍,但很多人还是存在这样或那样的操作部规范问题。下面简单介绍一下:

    放在电脑里面的文件要以详细列表形式存放,这样你的每个文件的信息就一目了然,具体操作:在文件管理器里面进入工具->文件夹选项->查看,点击“应用到所有文件夹”,这样以后你文件管理器里面所有的文件都是以详细列表的形式存在。这样别人一看,即使你不是高手他也会认为你绝对是高手。

    当你保存文件时可以用快捷键Ctrl+S,切换窗口用Alt+Tab,截屏用Alt+PrtSc。这些都是最常用的快捷方式,你刚开始用可能不大习惯,但用久了就熟练了。在某些地方很多人很羡慕你这么牛,其实你只是比他们更加专业而已。

    编写Java程序的软件一般用UltraEdit或者EditPlus,笔者用的是UltraEdit,这个可以根据个人爱好来定。以前用的最多的是记事本,但现在为什么不用了呢?因为UltraEdit和Editplus里面有各种语言开发的格式,特别适合程序开发,这样写出来的程序也一目了然,而记事本显然逊色很多。

    在这里再啰嗦一下,Java的命名无论是类还是函数都要见名知意,特别是在做项目时,这一点尤其重要,因为你写的程序不只是为了给自己用的,而是为了给别人用的,这样才有它的价值,而如果你对类或者函数的命名都不规范,换做你也不愿看这些程序。我们在写Java程序的时候要有规范的程序格式,这样不但开发出来的程序好看易懂,同时这也体现一个人的修养问题,至少通过这点可以看出一个人对生活的认真程度。假如你去面试,在老板对你不了解的情况下,他就会从这里来琢磨你做人的态度以及个人修养。

    生活其实很简单,只是很多人把它想复杂了而已!

  道可道非常道,名可名非常名。

  Java自学之道博大精深,自己只是将理论和实际相结合,进行了简单总结。

  Java自学之道全文可在自己的博客下载:http://my.oschina.net/mkh/blog/340689


© 著作权归作者所有

共有 人打赏支持
闵开慧
粉丝 334
博文 607
码字总数 266601
作品 0
青浦
高级程序员
加载中

评论(3)

闵开慧
闵开慧

引用来自“lihuoqing”的评论

作为初学者常有一种心态,啥语言都想学,尝尝鲜。我很困惑自己试了那么多语言,一直没做出来个东西,开始讨厌自己了。
不要泄气,博览群书,海纳百川,有容乃大。 但还是建议先精通一门语言,语言之间是想通的,一通则百通。
小妮妮
小妮妮
我准备了太久。。。
lihuoqing
lihuoqing
作为初学者常有一种心态,啥语言都想学,尝尝鲜。我很困惑自己试了那么多语言,一直没做出来个东西,开始讨厌自己了。
给代码减负,会RIA的程序猿你伤不起!

身为一名求学者,不得不说,在漫长的等待中,我终于盼到了RIA的实训课程。 其实起先我并不知道什么是RIA,之所以参与进来是因为之前在中达金桥学过LINUX的同学告诉我,他们现在开办了个新的培...

ZDJQ
2011/07/01
0
0
技术选型rmi、jms还是jmx的通知?

又得选择方案了,我们项目的需求大致是这样, 有N个程序(都是java的),程序间需要相互通信,并且通信很频繁,以前用的是socket, 现在N越来越大,再用socket工作量太大了,程序中很多功能可...

零点三六
2013/04/07
1K
2
从 0 学习 C 语言系列:环境搭建,推荐书籍,自学经验分享

版权声明:本文为 「cdeveloper」 原创文章,可以随意转载,但必须在明确位置注明出处! 从这篇文章开始,我进行「从 0 开始学习 C 语言系列」技术文章的分享,这个系列会包含基础 - 进阶 - ...

cdeveloper
05/15
0
0
你是如何学python的

中国大学极少开设 Python 课程,故而国内 Python 程序员多属自学,那么你在自学 Python 的过程中有哪些值得分享的经验或者有趣的体验呢? 其实python非常适合初学者入门。相比较其他不少主流...

铁扇公主1
2017/03/26
111
0
低调奢华的辉柏嘉Faber-Castell如恩Loom钢笔评测

低调奢华的辉柏嘉Faber-Castell如恩Loom钢笔评测>2018-03-25 方筐筐 本文为钢笔爱好者团队翻译作品,未经允许,请勿转载。原文地址:http://nibspotter.com/2017/08/03/pen-review-faber-cas...

nonozone
03/26
0
0
学习笔记之ACCESS和MS-SQL数据库与ZBLOG系统如何选择搭配?

我开始接触ZBLOG系统是因为先了解了月光博客和卢松松之后,因为他们的博客很强悍,让我学习到了不少知识,因此也开始建站了,那时候由于是早期,数据量一般都小,而且系统也都不成熟,因此只...

原创小博客
05/19
0
0
花非花,物非物,AI岂是池中物(人工智能篇)

转载请标明出处: http://blog.csdn.net/DJY1992/article/details/74979436 本文出自:【奥特曼超人的博客】 AI(Artificial Intelligence),即人工智能。人工智能领域的研究包括机器人、语音...

DJY1992
2017/07/11
0
0
如何入门学算法?

随着科学技术的发展,人工智能已渗透到各个行业,算法工程师非常火爆,急缺大量人才,年薪也越来越高。很多人想入手学习算法,那么多算法,究竟该如何下手呢? 很多人看到招聘要求,知道算法...

rainchxy
2017/11/23
0
0
html+css学习笔记006-伪类

Author:Mr.柳上原 付出不亚于任何的努力 愿我们所有的努力,都不会被生活辜负 不忘初心,方得始终 自信与骄傲有异 自信者常沉着 而骄傲者常浮扬 想起老家有句俗话 满罐子不荡,半罐子一直荡...

Mr柳上原
05/22
0
0
求推荐node.js的书籍

求推荐node.js的书籍。。介绍啊入门啊深入啊。。最好么讲得好一点的。。。 想学习下node.js,好像很厉害。。。 另外。。node.js是啥。。和一般的js差不多么,亦或者像jquery那样封装了很多牛...

小银
2013/08/06
3.1K
4

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spark Streaming + Kafka Integration Guide

The Spark Streaming integration for Kafka 0.10 is similar in design to the 0.8 Direct Stream approach. It provides simple parallelism, 1:1 correspondence between Kafka partition......

刺猬一号
6分钟前
0
0
数据结构与算法2

一个数组的例子,实现查找,显示和删除的功能。 public class array {public static void main(String[] args){long[] arr;arr = new long[100];int nElems = 0;int j;...

沉迷于编程的小菜菜
17分钟前
0
0
Python3 基于 requests 批量下载图片

Python3 基于 requests 批量下载图片 import requestsheaders = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8','Accept-Encod......

leeyi
18分钟前
0
0
java获取当前时间所在一周的周一和周日日期

/** * 当前时间所在一周的周一和周日时间 * @param time 当前时间 * @return */ public static Map getWeekDate(String time) { Map map = new HashedMap(); SimpleDateFormat sdf = new Si......

小弱鸡
50分钟前
0
0
Redis数据的导出和导入(dump和load方式)

网上有些文章已经不再适用,本人也是踩了些坑,在此记录下。 迁移redis数据一般有如下3种方式: 第三方工具redis-dump,redis-load aof机制,需要开启aof功能 rdb存储机制 这里介绍第一种方式...

iplusx
54分钟前
2
0
ElasticSearch 高亮显示大文档搜索结果

2016年12月,我们开始研究Ambar——一个文档搜索系统。Ambar使用ElasticSearch作为核心搜索引擎。 在Ambar开发的过程中,我们处理了很多与ES相关的问题,我们想分享我们得到的宝贵经验。让我...

九州暮云
今天
1
0
Python 使用 pywifi 模块 破解wifi密码

git https://github.com/awkman/pywifi 常见常量 from pywifi import const# Define interface status.IFACE_DISCONNECTED = 0IFACE_SCANNING = 1IFACE_INACTIVE = 2IFACE_CONNEC......

阿豪boy
今天
2
0
phpstorm使用Iedis

phpstorm的redis插件Iedis是真好用 看了网上挺多的文章,但是由于我系统还是ubuntu,就有点尴尬了,现在破解之后,留个笔记,即使自己之后有需要也可以很快翻阅 先下载资源 资源下载 zip压缩...

贤郎--均灵
今天
0
0
第三章 spring-bean之FactoryBeanRegistrySupport(4)

前言 从FactoryBeanRegistrySupport类的名字可以看出FactoryBeanRegistrySupport负责FactoryBean的注册与支持。如果想知道FactoryBean相关的资料,请阅读spring-bean中关于FactoryBean的解读...

鸟菜啊
今天
0
0
CentOS “Destination Host Unreachable”问题解决办法

挑战极速安装CentOS时遇到局域网主机不能通信的情况: [root@zjd network-scripts]# ping 8.8.8.8PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.64 bytes from 8.8.8.8: icmp_seq=1 ttl=......

wffger
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部