第一篇:我的JAVA学习经历
刚开始学JAVA时,是因为我们班有几个人选修了这门课,而且还经常在讨论一些JAVA的问题,我在一边听的似懂非懂的,就开始有了学JAVA的想法。那几位同学是我们班学习相对较好的,而且逻辑思维能力理解能力也是我们当中数一数二的,和大家的关系也相当的好。在这样的形势下,我开始了我的JAVA之旅。刚开始学的那阵,和学C、C++的过程差不多,也是借了一些好像讲得比较简单的书,就是那些从变量、数据类型开始讲的书,印象中好像有《21天学会JAVA2》、《循序渐进JAVA2教程》、《JAVA程序设计基础》等等,书名大概是那样,记不太清了。那时我还真以为只要我坚持、用心,21天之后我就能和那几位同学一样的水平了,呵呵!结果当然没有我想像当中的那么好,这有我自己的原因,但其实也有JAVA本身的原因,JAVA语言那么博大精深,没有人可能21天学会的,最多是对JAVA有个比较全面的了解,有那么一点JAVA的编程思想,JAVA的思维方式和面向对象的思维。然而我那几本书没有哪一本是看完过的,理由很简单,以我当时的能力和经验,是不可能看得完全懂的,于是我也在为停地换书,不停地借书。但我依然没有面向对象的思维方式,我的水平也没有提升上去,还是整天在写一些流程控制的小程序。还记得那时我连JDK也不会配置,只能整天在纸上写,写满了一页页的纸,似乎很有成就感,但其实也还是什么都不会。后来想起了学过的汇编语言,用的那些MASM、LINK程序也不用配置什么环境变量,不过要在CMD下面进入到程序所在的目录下面去,这个方法是否也能用在JAVA上呢?于是我试着把程序放到JDK/BIN下面,发现竟然能编译运行了,这不能不说是一个重大发现,我了终于能在电脑上运行JAVA程序了。后来看书看明白了PATH环境的配置,但还是看不懂CLASSPATH的配置,就把PATH配置上去了,这样我的程序也基本上不用放在BIN下面了。有兴趣的朋友不妨也用我的方法一试,呵呵。还有一点想说的是,初学者最好用JDK,简单方便,还能让你了解一些底层的实质性的东西,对你更深入的了解JAVA,以及JAVA如何编译运行很有帮助。接下来就放假了,我们要在机房实习,用VB编写WINDOWS应用程序,我的JAVA学习也就先放在一边了。其实那时的我还是整天沉迷游戏当中,压根就对编程没兴趣,只是为了和那几位朋友能说上几句,证明我也会那么一点而已,所以没有花什么心思在上面,平时有事没事看看而已。学VB的时候感觉还挺简单的,教师上课让我们看浙大的视频,感觉视频里讲的挺好,回来了自己也弄的小东西,其中我其实就做过一个计算器程序,但为了让程序尽量完美,我还是学了不少的,也花了不少心思在上面。现在想来,学VB应该是我开始对编程产生兴趣的时候,那时的成就感比较强,因为终于能做出一个有界面的功能还算不少的程序来了(相对于我以前用C、C++写的控制台程序)。之所以有这种感觉,我想大概和我C、C++没学好有很大原因,即使是现在,我的C、C++也没感觉,而且还几乎忘得一干二净了。实习的最后是分组做一个综合程序,每5、6个人一组,大家都去找高手组队,这是必然,呵呵,我也不例外!不过可惜,我们班就3、4个高手,我去晚了,级不上队了,还有10多个人和我一样,是没法进高手的队伍里去了。然后就有人叫我组个队,因为我起码还是中等水平的成绩,我一想反正进不了高手队伍了,算了,我就组个队了,能不能做出作业来到时再说了。实在不行让高手来帮下忙应该没问题吧。结果,我们那队人马一个都不动,大家其实都不会,没办法啊,而且平时也都那样习惯了。但总这样也不是个事啊,谁让我当时当了组长了呢?每天的计划和成果我都是糊乱写了就交上去了,然后再慢慢借书看书,把不会的补上去。那一周,我竟然一反常态,游戏也不打了,整天坐电脑前,查资料,看视频,写程序。压力啊!然而连我自己都没想到,我竟然做出一个通讯录程序来了,虽然是七拼八凑、漏洞百出,但也是有模有样,还是我到那时为止最大的一个程序,成就感那是相当地强啊,绝对是自信满满地,我看其他小组的组长似乎也和我一样的感觉,呵呵,原来压力还是很有好处的。实习结束之前,我向大家展示了我们的成果,应该说其实是我的成果了,呵呵,不过可不能让我的那几位组员听到了,要不然……从那以后,我才真正对编程有了兴趣,不过放假了,人也变懒了,一个暑假什么也没学,全打游戏了,现在想来,真有点后悔啊。本来打算那个暑假学VC和JAVA的。开学之后,我步入了大三的生活,我开始选修了VC和JAVA,不过还是以JAVA为主,主要是发现VC太难,老师也就教我们怎么做菜单啊,对话框啊什么的,感觉对编程的原理方面根本不理解,对核心的东西也不知道,后来就一心学JAVA去了。这应该也是我现在C++不行的主要原因吧,不过仔细想想,要是没当初,我现在可能也学不了JAVA的这些东西吧。呵呵,有得必有失,有失必有得啊。话说开学之后,我自己以为自己起码也是看过点JAVA的人,所以老师的课也不怎么听,只是自己去借点书来看看,没有和老师同步,感觉自己高人一等一般,现在想想,当时真是傻子一个,只会狂妄自大,其实根本什么都不会。我当时上的是刘新老师的课,感觉收获是挺大的,主要是他给我们留的那8道作业,通过完成作业,我才知道我很菜,也学会了不少东西,包括一些API的使用。在做那8
道作业的过程中,我不停地到读书馆找资料,光那段时间,我就一共借过不下20本JAVA书。我一般晚上七、八点开始写程序,一直到停电,经常碰到不会的,就又翻资料,想算法,问题要是解决不了,晚上睡觉了也还在想,哪里不对,哪里还需要改进,那段时间我就是这样过去的,现在感觉是我收获最大的时间段之一。事情实在很奇妙,当你苦苦思索的时候就是想不出方案来,等熄灯了在床上想的时候,就想到解决的方案了,那时候真是兴奋莫名啊,真想马上起来,把我的想法付诸实施,但是却停电了,呵呵,只能等到第二天了。现在教JAVA的老师好像已经不止刘新老师了,留的作业怎么样我就不知道了,不过考试的形式听说相当不好,竟考那些概念性的东西,语法性的东西,甚至于有考JAVA的历史的,比如JAVA是什么小组什么时候出于哪种原因而开发出来的等等。我认为这很不好,学JAVA或者更大一点说学编程绝不是学这些东西,虽然说概念语法是必须要会的,但不是主要的,主要的应该是学会那种思维方式,学会用程序去解决问题的能力,能做出一些实际的东西来!我个人认为,用到什么东西,如果不会再去学,这样才有目标、有动力,也才会有成果。你是要学一些概念和语法,但不必去深究,不必去死记硬背,那样就进牛角尖了,中国的教育却常常乐此不疲,你看最大的例子就是关于英语的学习,都成什么样子了,学了这么多年的英语,什么也不会。学程序设计最好的方法是多写些程序,开始可以是一些小程序,之后能力上去了,就可以做些项目了,这是提高能力的最好途径。你会发现,写的东西多了,那些语法什么的,你自然就会了,很多平时你想破脑袋都想不通的问题,现在已经能深刻地理解和运用了,这时候的喜悦是语言难以形容的。当然,看一些高手写的程序也是很有帮助的,你可以了解别人的算法,别人程序的组织形式、还有他对问题的解决方式,有时候你会发现那些相当巧妙的东西,收获绝对不小。8周的选修课上完之后,我的兴趣就更加浓厚了,开始去学多线程和网络编程,不过直到现在我对这两方面还是不太擅长,主要还是当时没看多久,也没怎么看懂。在做完那几道作业之后,我又一次地高估了自己,以为自己是高手了,看来只有无知的人才会盲目,高手也历来不是自封的。后来我又去学JSP,开始学HTML,花了我半个月时间去了解JSP的基本知识,然后找SUN公司的JSWDK,竟然没找到,我当时还不知道现在已经不用这东西了,都在用TOMCAT,主要是图书馆这方面的书太老了,讲的也全是如何用JDK+JSWDK+ACCESS来作一些动态网页开发,所以进度相当慢。后来终于下了TOMCAT安装上去,又不会配置,这东西相当麻烦,要是有人指点的话很快就能配置好,但我当时真是查了好多资料,上网找了好多东西,但是都没有讲得明白的,而且各有各的说法,版本也完全不一样。就这样摸爬滚打,花了不少时间,我终于配置好了TOMCAT服务器,不容易啊。不过因为都是自己弄的,却也了解到了不少东西,也可以说没白费力气。也因此想到一些东西,当自己有不会的东西时,自己要先想想,查查资料,上网找答案,实在不会了再问问高手,或者过来人,这是相当有帮助的,你会明白很多底层的原理性的东西,不要一有不会的就问别人。学了一点JSP以后,我又学HTML去了,后来又去搞网页设计,寒假还学了ASP,然后又用ASP做了几个小网页,真是学的乱七八糟的,也学的一塌糊涂,所以一直到现在,我还在一边学JSP,一边补J2SE的基本知识,整天在这转,没有任何进步了。最不爽的是我是参加了一个科技创新,现在要花很多的时间在那上面,还要看地质方面的东西,了解什么测井的知识,真头疼。真想不干算了,一心学我的JAVA,不过现在还是拖拖拉拉的,一来不想让导师失望,二来不想让我们组长说我太没信义,唉,难办啊!现在的学习已经不像当初那么容易了,要做点东西要想很多,也要花很多时间去弄,而且往往不是只会JAVA就能行的了,还要会HTML、XML、JAVASCRIPT、CSS,还得学会用很多工具,感觉路途很遥远啊,自己好渺小。
第二篇:我的java学习总结
我的logic java学习总结
在将近三个月的java学习中,我接触到了编程的乐趣.我热爱java,热爱编程.我将不懈的努力遨游在编程的浩海之中.我将我在java学习中经常出错的地方作个总结列出如下:
1.一个class中只能有一个main方法.2.静态的方法不能调用非静态的方法.若要调用,需要把非静态的方法加上static.3.类名的首字母要大写.字段,变量名,方法名,首单词要小写,其后单词的首字母要大写.包名全小写.并且所有的单词要紧靠在一起.4.声明一个String类型的变量时,其值要用双引号;声明一个char类型的变量时,其值要用单引号.5.“=”是赋值运算符,”==”是关系运算符.所以在if条件结构中,括号内的条件要是boolean类型的.6.Switch结构中,case 后紧接的是”:”.并且每个case后要加上一个break.7.类是对象的模板,对象是类的实体.8.将对象实例化要使用new关键字.9.尽可能的加上注释,并用javadoc生成自己的程序文档.10.“.”操作符后是方法.用法是:对象名.方法名.11.toString()是一个很重要的方法.它返回的是一个字符串.12..length在数组中是属性,在字符串中是方法.13.数组中,声明,分配并赋值的写法有两种:
1变量类型[] 变量名=new变量类型[此处为空] {X, X, X ,X,……};○
2变量类型[] 变量名=new○
14.提取字符串中的某一部分subString(beginindex,endindex), Beginindex的位置从0开始, endindex的位置从1开始.15.StringBuffer的功能要比String的强大.16.append()是StringBuffer的方法,不是String的方法.
第三篇:java学习
.如何学习Java?
3.1 Java学习路线
3.1.1 基础语法及Java原理基础语法和Java原理是地基,地基不牢靠,犹如沙地上建摩天大厦,是相当危险的。学习Java也是如此,必须要有扎实的基础,你才能在J2EE、J2ME领域游刃有余。参加SCJP(SUN公司认证的Java程序员)考试不失为一个好方法,原因之一是为了对得起你交的1200大洋考试费,你会更努力学习,原因之二是SCJP考试能够让你把基础打得很牢靠,它要求你跟JDK一样熟悉Java基础知识;但是你千万不要认为考过了SCJP就有多了不起,就能够获得软件公司的青睐,就能够获取高薪,这样的想法也是很危险的。获得“真正”的SCJP只能证明你的基础还过得去,但离实际开发还有很长的一段路要走。
3.1.2 OO思想的领悟掌握了基础语法和Java程序运行原理后,我们就可以用Java语言实现面向对象的思想了。面向对象,是一种方法学;是独立于语言之外的编程思想;是 CBD基于组件开发的基础;属于强势技术之一。当以后因工作需要转到别的面向对象语言的时候,你会感到特别的熟悉亲切,学起来像喝凉水这么简单。
使用面向对象的思想进行开发的基本过程是: ●调查收集需求。●建立用例模型。
●从用例模型中识别分析类及类与类之间的静态动态关系,从而建立分析模型。●细化分析模型到设计模型。●用具体的技术去实现。●测试、部署、总结。
3.1.3 基本API的学习进行软件开发的时候,并不是什么功能都需要我们去实现,也就是经典名言所说的“不需要重新发明轮子”。我们可以利用现成的类、组件、框架来搭建我们的应用,如SUN公司编写好了众多类实现一些底层功能,以及我们下载过来的JAR文件中包含的类,我们可以调用类中的方法来完成某些功能或继承它。那么这些类中究竟提供了哪些方法给我们使用?方法的参数个数及类型是?类的构造器需不需要参数?总不可能SUN公司的工程师打国际长途甚至飘洋过海来告诉你他编写的类该如何使用吧。他们只能提供文档给我们查看,Java DOC文档(参考文献4.4)就是这样的文档,它可以说是程序员与程序员交流的文档。基本API指的是实现了一些底层功能的类,通用性较强的API,如字符串处理/输入输出等等。我们又把它成为类库。熟悉API的方法一是多查Java DOC文档(参考文献4.4),二是使用JBuilder/Eclipse等IDE的代码提示功能。
3.1.4 特定API的学习Java介入的领域很广泛,不同的领域有不同的API,没有人熟悉所有的API,对一般人而言只是熟悉工作中要用到的API。如果你做界面开发,那么你需要学习Swing/AWT/SWT等API;如果你进行网络游戏开发,你需要深入了解网络API/多媒体API/2D3D等;如果你做WEB开发,就需要熟 悉Servlet等API啦。总之,需要根据工作的需要或你的兴趣发展方向去选择学习特定的API。
3.1.5 开发工具的用法在学习基础语法与基本的面向对象概念时,从锻炼语言熟练程度的角度考虑,我们推荐使用的工具是Editplus/JCreator+JDK,这时候不要急于上手JBuilder/Eclipse等集成开发环境,以免过于关注IDE的强大功能而分散对Java技术本身的注意力。过了这一阶段你就可以开始熟悉 IDE了。程序员日常工作包括很多活动,编辑、编译及构建、调试、单元测试、版本控制、维持模型与代码同步、文档的更新等等,几乎每一项活动都有专门的工具,如果独立使用这些工具的话,你将会很痛苦,你需要在堆满工具的任务栏上不断的切换,效率很低下,也很容易出错。在JBuilder、Eclipse等IDE中已经自动集成编辑器、编译器、调试器、单元测试工具JUnit、自动构建工具ANT、版本控制工具CVS、DOC文档生成与更新等等,甚至可以把UML建模工具也集成进去,又提供了丰富的向导帮助生成框架代码,让我们的开发变得更轻松。应该说IDE发展的趋势就是集成软件开发中要用到的几乎所有工具。从开发效率的角度考虑,使用IDE是必经之路,也是从一个学生到一个职业程序员转变的里程碑。Java开发使用的IDE主要有Eclipse、JBuilder、JDeveloper、NetBeans等几种;而Eclipse、JBuilder 占有的市场份额是最大的。JBuilder在近几年来一直是Java集成开发环境中的霸主,它是由备受程序员尊敬的Borland公司开发,在硝烟弥漫的 Java IDE大战中,以其快速的版本更新击败IBM的Visual Age for Java等而成就一番伟业。IBM在Visual Age for Java上已经无利可图之下,干脆将之贡献给开源社区,成为Eclipse的前身,真所谓“柳暗花明又一村”。浴火重生的Eclipse以其开放式的插件扩展机制、免费开源获得广大程序员(包括几乎所有的骨灰级程序员)的青睐,极具发展潜力。
3.1.6 学习软件工程 对小型项目而言,你可能认为软件工程没太大的必要。随着项目的复杂性越来越高,软件工程的必要性才会体现出来。参见“软件开发学习路线”小节。
3.2学习要点 确立的学习路线之后,我们还需要总结一下Java的学习要点,这些要点在前文多多少少提到过,只是笔者觉得这些地方特别要注意才对它们进行汇总,不要嫌我婆婆妈妈啊。
3.2.1勤查API文档当程序员编写好某些类,觉得很有成就感,想把它贡献给各位苦难的同行。这时候你要使用“Javadoc”工具(包含在JDK中)生成标准的Java DOC文档,供同行使用。J2SE/J2EE/J2ME的DOC文档是程序员与程序员交流的工具,几乎人手一份,除了菜鸟之外。J2SE DOC文档官方下载地址:http://Java.sun.com/j2se/1.5.0/download.jsp,你可以到google搜索CHM版本下载。也可以在线查看:http://Java.sun.com/j2se/1.5.0/docs/api/index.html。对待DOC文档要像毛主席语录,早上起床念一遍,吃饭睡觉前念一遍。当需要某项功能的时候,你应该先查相应的DOC文档看看有没有现成的实现,有的话就不必劳神费心了直接用就可以了,找不到的时候才考虑自己实现。使用步骤一般如下: ●找特定的包,包一般根据功能组织。●找需要使用类,类命名规范的话我们由类的名字可猜出一二。●选择构造器,大多数使用类的方式是创建对象。●选择你需要的方法。
3.2.2 查书/google->写代码测试->查看源代码->请教别人 当我们遇到问题的时候该如何解决?这时候不要急着问别人,太简单的问题,没经过思考的问题,别人会因此而瞧不起你。可以先找找书,到google中搜一下看看,绝大部分问题基本就解决了。而像“某些类/方法如何使用的问题”,DOC文档就是答案。对某些知识点有疑惑是,写代码测试一下,会给你留下深刻的印象。而有的问题,你可能需要直接看 API的源代码验证你的想法。万不得已才去请教别人。
3.2.3学习开源软件的设计思想 Java领域有许多源代码开放的工具、组件、框架,JUnit、ANT、Tomcat、Struts、Spring、Jive论坛、PetStore宠物店等等多如牛毛。这些可是前辈给我们留下的瑰宝呀。入宝山而空手归,你心甘吗?对这些工具、框架进行分析,领会其中的设计思想,有朝一日说不定你也能写一个XXX框架什么的,风光一把。分析开源软件其实是你提高技术、提高实战能力的便捷方法。
3.2.4 规范的重要性 没有规矩,不成方圆。这里的规范有两层含义。第一层含义是技术规范,多到http://www.xiexiebang.com下载JSRXXX规范,多读规范,这是最权威准确最新的教材。第二层含义是编程规范,如果你使用了大量的独特算法,富有个性的变量及方法的命名方式;同时,没给程序作注释,以显示你的编程功底是多么的深厚。这样的代码别人看起来像天书,要理解谈何容易,更不用说维护了,必然会被无情地扫入垃圾堆。Java编码规范到此查看或下载http://Java.sun.com/docs/codeconv/,中文的也有,啊,还要问我在哪,请参考3.2.2节。
3.2.5 不局限于Java 很不幸,很幸运,要学习的东西还有很多。不幸的是因为要学的东西太多且多变,没时间陪老婆家人或女朋友,导致身心疲惫,严重者甚至导致抑郁症。幸运的是别人要抢你饭碗绝非易事,他们或她们需要付出很多才能达成心愿。Java不要孤立地去学习,需要综合学习数据结构、OOP、软件工程、UML、网络编程、数据库技术等知识,用横向纵向的比较联想的方式去学习会更有效。如学习Java集合的时候找数据结构的书看看;学JDBC的时候复习数据库技术;采取的依然是“需要的时候再学”的原则。
4.结束语需要强调的是,学习软件开发确实有一定的难度,也很辛苦,需要付出很多努力,但千万不要半途而废。本文如果能对一直徘徊在Java神殿之外的朋友有所帮助的话,笔者也欣慰了。哈哈,怎么听起来老气横秋呀?没办法,在电脑的长期辐射之下,都快变成小老头了。最后奉劝各位程序员尤其是MM程序员,完成工作后赶快远离电脑,据《胡播乱报》报道,电脑辐射会在白皙的皮肤上面点缀一些小黑点,看起来鲜艳无比……
第四篇:JAVA学习
买本《java疯狂讲义》 或者 在网上下载下来看看主要看java语法部分和面向对象编程部分这些要速度过 接下来开始写一些小例子 从例子里面学习会更快例子差不多了就开始web方面的涉猎,先学struts->jsp->servlet->hibernate->spring学习javascript
第五篇:如何深入学习java
在开发领域的技术人员,只有不断地充电提高才能够让自己始终处于不败之地。技术日新月异,推陈出新,让技术人员目不暇接。我们都知道,java技术是目前最流行的编程语言,java入门很难简单,可是要想成为高手,拿到更高的工资,还需要深入学习,那么如何深入学习java?
Oracle的Java EE 6提供了三大新技术和更多丰富组件和强劲的特色功能,很先进、实用,并且容易掌握,绝对值得java程序员等技术人员深入学习,全面提升自身的核心竞争力。
Java EE 6的第一大新技术就是支持JAX-RS(JSR 311),JAX-RS是RESTful Web Services Java API的简写,Java EE 6包含了它的最新1.1版本,它可以让程序员迅速构建遵循REST(Representational State Transfer,表象化状态转变)风格软件架构的轻量级Web服务,它对于每个资源都使用全局引用标识符URI,并拥有直接通过HTTP传输数据的能力,可以使用标准的固定动词—GET,PUT,POST和DELETE等来操作这些资源。同时,JAX-RS为在Java中构建RESTful Web服务提供了标准化API,API还提供了注解、相关的类和接口,这使得在Java中创建RESTful Web服务变得简单。
Java EE 6的第二大新技术是它可以支持面向Java EE平台的上下文和依赖性注入-CDI(JSR 299),CDI是Context and Dependency Injection的简写,它是Java EE平台的Web层和企业层之间的一座桥梁。通过CDI,不仅可以让企业层通过诸如EJB和JPA等技术,对事务性资源提供强有力的支持。同时,通过CDI,使得Web层也能够支持事务,这样在Web应用程序中访问事务资源就更容易了。
支持Bean验证(JSR 303)是Java EE 6的第三大新技术,Bean验证提供了一个遵循JavaBean规范编写的Java类,它提供了标准验证框架,并可在应用程序的所有层之间共享,简化了验证,减少重复、错误和凌乱。
以上三种技术,就是深入学习java必备的,当然,强大的java不只这些,需要学习的还有很多,同时也需要连续的练习,这样才能成为真正的java高手。如何深入学习java
长沙java培训http:///