学习java的心得体会7篇
为了记录个人对某件事情深刻感受,可以通过心得体会来表达,认真写好心得体会是我们的写作能力和思想高度提升的关键,下面是心得范文网小编为您分享的学习java的心得体会7篇,感谢您的参阅。
学习java的心得体会篇1
时间犹如白驹过隙,学习accp 5.0课程已经一个月有余了。在这一个多月的时间里,我学习了计算机基础、进入软件编程世界和使用java语言理解程序逻辑三门课程。其中最重点的就是使用java语言理解程序逻辑这门课程,这可以说是我第一门正式接触的编程语言,虽然以前学过cc++,但这仅限于浅尝辄止而已,根本就没有去深层次的了解过,连一个简单的程序背着书都不会编写。java这门课程是我进入软件编程世界的第一道坎,因此我必须要发扬笨鸟先飞,持之以恒的精神来学习它,争取把第一只拦路虎给消灭了。
为了学好java语言,我自认为还是比较刻苦的,基本上每天九点之前就来到了中心机房上机,把书上的代码反复地练习,书上的代码看似简单,但是有时候照着书敲上去一编译运行却不是这里出错就是那里有问题,高的焦头烂额的;更令人郁闷的是,有时候编译没有问题,但是运行的时候却报错了,这种情况十有八九是因为一些情况没有考虑清楚:有时候我们定义的是整型变量,输入却输入了非整型变量;有时候是因为数组的下标越界;有时候是什么空指针异常……这些情况使得初学编程的我痛不欲生,有好几次一冲动差点把机器给砸了,但是一想到把电脑砸坏了还得赔偿就忍住了,所以大家有时候遇到问题不能解决的时候千万不要冲动。
学习java的心得体会篇2
初次涉及java领域,感觉到java入门是好像没有c,c++入门快,工具也没有什么turboc,visualc++好用,什么ja_home,classpath,虚拟机等概念都是初次基础,旁边的人都很少用java的。感觉java就是做applet的。让我不可思议的是ja2,jdk,j2se,j2ee,j2me等新名词在自己的脑海里蔓延。搭起java开发环境后,记得刚开始还是用ultraedit编辑并编译的慢慢的改用jcreator了,要开始干项目了,以前从书上看到的东西,在项目中有了很好的机会去温习,开始主要是用swing,开发桌面系统,放置一个按钮怎么也放不好,后来才知道有一个布局管理器。后来开始涉及到数据库访问,jdbc。随后java规范了。最开始_的规范是jdbcspecification,很多概念一目了然,尤其是database的事务性控制,自己对于她的理解慢慢的有了较为深入的了解。对于开发c/s结构,比如,swing+jdbc,开发数据库应用系统,让我学会开发两层结构的应用系统。
开发豆豆网时,基于linux+jsp+javabean+oracl的系统。不同于swing+jdbc的开发模式,系统之间多了一层;同时,很多开发技术和面向左面系统不一样,比如分页技术。
完成项目后,自己对于java的很多方面都比较了解了。开始思考一个问题,j2ee是什么东西?。我们学习java大概有3个方向,第一,桌面系统,包括c/s结构;第二,j2me,面向无限领域,很有潜力的家伙,看_的手机用户就知道了。第三,面向企业应用、计算的平台,j2ee。
通过实习,我自身发生了重大的转变,我相信我会在ja开发这条路上走的更长更远。
实习虽然结束了但是给我的感触很大。在信息时代,学习是不断地汲取新信息,获得事业进步的动力。作为一名即将的大学生更应该把学习作为保持工作积极性的重要途径。
实习,是开端也是结束。展现在自己面前的是一片任自己驰骋的沃土,也分明感受到了沉甸甸的责任。在今后的工作和生活中,我将继续学习,深入实践,不断提升自我。
实习的同时也让我了解到了自己的不足,我会继续努力,完善自我。对于学校的精心安排和指导老师的用心辅导非常感谢.
学习java的心得体会篇3
从大三开始算,我学习java已经有一年的时间了,不过虽然时间长,但是对于现在的我还是一个初学者,懂不了多少的java初学者。期间曾迷茫过,曾困惑过,走了不少的弯路,老师布置的试验作业每次都是不会做,每次都是要问同学,这个代码什么意思啊?为什么用这条代码,用别的不行吗?甚至后来根本没耐心问,索性就复制同学的作业交上去。但是都是各种0分,害的同学也这样,不过他能找老师反驳,而我却没实力。渐渐的,我认识到这样下去是不行的,我必须改正自己的学习态度和方式。接下提到的就是我这一年来的java学习心得。
刚一开始学习java时,我就已经学习过c语言,不过c语言学的不是很好,所以开始看到java的时候我很反感,看着源代码,都不知道失什么意思。看书的时候一看到源代码就头疼,因为根本看不懂。那段时间根本就是一无所获,在图书馆借了一本书,关java的语法特性,与别的语言相比的优点,什么跨平台,源代码公开,什么write once run anywhere,能说得头头是道,可是一到具体的问题,想写一些具体的东西,问题就都来了,根本不知道该怎么下手。所以每次李旺老师布置的试验作业都没的按时完成。渐渐的时间过去了,一点进展都没有,我都几乎要放弃了。 而后又同学经常来宿舍跟我讲解,我很感谢他。慢慢的我也理解了一些知识。从他那里,我认识到,java是一门计算机语言,是人类发明的语言,应该比人类语言更容易学习,只要你有一种必胜学习java
心态就可以成功。学习java的方法:java学习中,首先要做到课前、课后复习及预习,要时时保持一个清醒的头脑;多和同学沟通;互相学习;取长补短;在学习中做到帮助他人或他人帮助自己。学习java,的确要学习的东西很多,就像同学提到的。java不像.net一家独大,java的繁盛在于开源社区的庞大,这也带来了分支太多的问题,怎样选择一条好的学习路线,对于初学者来说,的确是一件很迷茫的事。其实不管java东西再多,总有规律可循。对于学习java基础的经验就是多做、多思考,基础知识的学习不能不求甚解,要追本溯源,弄清问题的本质。这样才能举一反三,由点及面。java的所有编程思路都是“面向对象”的编程。所以大家在往更高境界发展以前一定要打好基础,基础是王道。我们的基础要扎实扎实再扎实。所谓打好基础并不是说要熟悉所有的java代码。要了解java的结构。class,methode,object,各种套用import,extend 让自己在结构上对java有个立体而且整体的了解。
学java千万不要浮躁。说到浮躁,这也是一个很值得我深思的问题。我觉得我自己也有这样的倾向,不仅是我,估计大多数的人都有这个毛病。总是喜欢讨论什么语言最好,什么语言功能强大。这种讨论倒没有错,不过真正学习的时候,浮躁会使你失去很多。在学习过程中,我很努力地使自己保持心理的平静,从基础学起,甚至是一些看上去完全没有必要的基础。
同学要扎扎实实,一步一个脚印的逐步学习,不要想着一步登天。不然我问他的时候,他跟我讲的我也都不懂,这样对我也没用。
要多查api,它是java编程的基本方法,也是编程过程中所不断利用的资源。java的学习过程不仅仅是基本语法的学习,更多的是去学习和掌握它所提供的api类库。对于所接触到的类,方法,都去仔细去阅读文档的说明,再用自己编写的实例去此时一下。而且不要只看而不练,学好java靠的还是实践,在一周两节的实验课要认真编程,不懂问同学或问李老师。只有理论和实践相结合才能真正掌握只是和技能。而且还要懂得运用百度和谷歌,遇到问题可以先搜索一下,实在不懂再找同学。理论学习。通过对理论的学习,尽量了解新知识的概念;学习之后只是粗略的了解概念,不能和实际很好的结合。根据理论学习的知识,考虑在什么场合下可以应用这个新知识,哪些地方已经应用了这个概念,建立对新知识的感性认识。
java是一种面向对象的操作语言,必须要明白这点,才能从总体上把握java。学习编程,首先要从分析别人的代码开始,明白他们的思路,认真分析,在学习的过程中一定要动手做、写代码,九比如说老师布置的试验作业,一定要自己做,不能抄同学的,首先不是为了应付老师,而是要让自己真正懂得java,这样慢慢的,以后的试验自己就又实力去做。学习java不是抱一本书看看就行。很多东西和体会必须自己动手才能真正属于自己,实践失最重要的。而且还可以从实验中,体会到编程的乐趣,感受到自己做好一个程序,然后运行出结果,失很有成就感的!
而对于j2ee,首先要先学jsp。要明白jsp的工作原理,在一个jsp文件第一次被请求时,jsp引擎把该jsp文件转换成为一个servlet,而这个引擎本身也是一个servlet,在jswdk或weblogic中,它就是jspservlet。 jsp引擎先把该jsp文件转换成一个java源文件,在转换时如果发现jsp文件有任何语法错误,转换过程将中断,并向服务端和客户端输出出错信息jsp的调试比较麻烦,特别是当bean是在一个session中存在时,更加困难。得从好几个页面开始往里面走才行。通常是用out.println.system.out.print来打一大堆的信息来查问题。如果是用jbuilder做开发,它能直接调试jsp.不过更重要的是知道错误产生的原因及解决方法。jsp是用java写的,所以它是大小写敏感的,用过其他编程语言的人最容易犯这个错误。另外在浏览器的地址栏中输入的访问jsp的地址也是区分大小写的. 在jsp中判断字符串要使用compareto方法,不要用==,因为在java中string变量不是一个简单的变量而是一个类实。所以jsp的知识不能欠缺,理解什么是servlet,什么是java bean,熟悉jsp常使用的标签对于学习java基础的经验就是多做、多思考,基础知识的学习不能不求甚解,要追本溯源,弄清问题的本质。这样才能举一反三,由点及面。对于抽象的东西要能具体化,对于具体的东西要能抽象化。现在我学习java基础一直使用的是《java核心技术》这本书,这本书失同学推荐我看的,感觉挺不错的,很基础很全面。这本书强调重视基础,如果java基础打的牢,在学习那些java框架就是非常轻松的事了。
在这一年的学习过程中,通过同学的帮助和李旺老师的教导,我对java有了初步的认识和了解。学习java首先主要是学习了java的程序结构,包括了循环、数组、类和方法以及字符串处理等内容。在学习期间,上课认真听老师的讲解,特别是课后练习和上机的题目,以及老师提供给我们的有关学习编程语言的方法和技巧,对于我巩固所学的理论知识有很大的帮助。现在我也只是刚刚开始学习java语言,所以想真正掌握java技术,以后还会有很长的一段过程需要我们更加努力地去学习。毕竟,知识需要靠积累才能真正掌握。
学习java的心得体会篇4
大四初始,我已经闻到了离别的气息,在这即将远离大学时代的时刻,才真正懂得回眸的意义。想想走过的路,想想现在的路,想想来时的路,不知道未来能否成功,既然选择了远方,就注定要风雨兼程!
在四川短暂的一个月里,我从基础入手,强化了java语言编程,学习了java语言编程和编程概念与技巧。时间很短,但成长很快,无论是理论知识还是动手实践能力都得到了大幅度的提高。而将理论和实践相结合,相互促进,相互补充,使得学习更加透彻。通过用不同方法实现同一个项目,不断深入,层层推进,学以致用!
实践过程中,开发一个简单的小项目,包括如何将java的思想运用到实际系统的详细设计之中。 首先要将系统要实现的功能分为几大模块,然后每个分别完成,在此过程中使我加深了对java的理解,以及如何进行工作的划分,与此同时熟练掌握java语言的编辑,编译,调试程序,并将算法转变为程序实现。 我将设计过程分为逻辑设计和详细设计两个步骤实现。逻辑设计指的是,对问题描述中涉及的对象定义相应的数据类型,定义主程序模块和各抽象数据类型及其代码;详细设计则为定义相应的模块的实现并写出各模块的实现代码。然后在连接数据库,编码测试,最后确定完成。
通过这次实践,使我灵活应用所学知识,独立完成问题分析,结合java理论知识,编写程序解决指定问题。初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;提高综合运用所学的理论知识和方法独立分析和解决问题的能力。同时在这次实践中,培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。 然而,在这次实践中,我觉得一个人完成一个项目是多么的艰难,在一些大型的项目中,团队合作是多么重要。尽管这次只是一个小项目,却也要耗费大量的精力。 我学习了知识,也培养了实践能力,让我知道遇到一个问题,如何去寻找思路,如何去解决问题,最终完成整个事情。 学习的过程中不可避免的遇到问题,这些问题有的只是一个符号错了,一个括号少了,这类的问题在他的文档,或者一般的网站上就能够找到,尤其是初学者的问题,不会是很难的问题 ,在你之前已经无数人问过了,不要害怕提问,但是这个问题最好是你找不到答案的时候去提。等你走出了这个阶段,这个时候在有问题可能就是比较难一些的,这个时候在一般的网站上应该是难以找到结果的,包括java自己的网站,为你养成良好的习惯有很大的帮助。
这次实习拉近了我与社会的距离,也让自己在实习工作中开拓了视野,增长了才干。社会和大学一样也是一个学习和受教育的地方,但无论是在哪片广阔的天地里,我为将来更加激烈的竞争打下了更为坚实的基础。在以后的学习中,我还得更加努力的学习,培养自己的能力,进一步完善自己。
编程是一种乐趣,只有你觉得他有乐趣的时候你才会用更多的热情去学习。通过一个月的java学习,我也从中找到了乐趣。接下来,我一定会坚持java的学习,希望能在这条道路上开心的走下去,而最重要的是及时总结昨天、做好今天、规划好明天。
学习java的心得体会篇5
在java课程设计中,要认清楚到底这在我们的生活中的作用是什么,我个人认为这在我们的今后生活中,这酒店的设计是一种在以后的工作中能起到很有用处的课程设计,这也许是老师这用做的为我们着想的一部分吧。在这次课程设计中,我们也能可以看出,学计算机的在以后找工作中的出处,让我们知道计算机技术的应用的广泛应用。在java课程的学习中,也使我明白了更多的以前没有没有见过的知识,学到了更多的知识,更完整的弄清楚计算机科学与技术这门学科。在学java这门学科时,我开始还以为它跟c++差不多的,但随得学习的深入就弄明白了这两者的关系有得很大的差别,在写程序上就能看出来这其中的差别的不同处。在这最后两个星期的课程设计中,我开始还没怎么在意的,以为不过是件小事,能很快的搞定,但随的越来越深入的设计才明白我的想法是多么的可笑,在做程序写个代码就不是那么容易的事,还有好多的页面设计都需要用到不同的知识点这其中的不少问题都需要在课本中才能找出来进行解决,这也给我带来了许多的困难。在开始做这课程设计的时候,我开始的时候是不知道从什么地方开始的,在经过老师的不断指点中才能学到从什么地方开始做起的。在这次做课程设计中,我们是四人各做四个不同板块的,而我做的是那个基础的部分:菜品设计。在这部分设计中,我开始时也不知道打从何处开始的,但从以前的那个c++的课程设计中知道,一般的程序设计都是从代码开始的,在代码的基础上再来修做剩下的桌面设计部分。在写代码中,对我来说这是种相当沉重的压力的,因为我的英语不好而导致我在许多的语句都不知道怎么写,好多的内容都需要查找书本才来写出来,这给写作代码带来了极大的困难,浪费了好多的时间来写代码。在那页面的设计中还好没要求,我在做这部分的时候,我看他们做的还不错就借签过来了做成了我自己的课程设计。这不由于自己开始做得比较晚,而老师又催得比较急,这就得夜里通宵来写了,没办法自己的水平有限就只能做这么多的了。现在回想下真是不堪回首啊!这能做的就之能做这多了望老师能谅解。在次再次感想老师多日里来的指导,在您的指导下,我们能这么容易的完成了这项艰难的课程设计任务,看得这这么多天努力来的结果,心里还是感觉到是有点感动,,因为这也是这么多天来的付出的努力吧,在这样的付出终得到了个好的结果。同时也有点遗憾,在整个设计中,我没自己单独的完成整个任务,这也是自己要认真反思的地方。
而且,这对于我们的将来也有很大的帮助。以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。就像中国提倡的艰苦奋斗一样,我们都可以在实验结束之后变的更加成熟,会面对需要面对的事情。
与队友的合作更是一件快乐的事情,只有彼此都付出,彼此都努力维护才能将作品做的更加完美。而团队合作也是当今社会最提倡的。
学习java的心得体会篇6
1)现在有t1、t2、t3三个线程,你怎样保证t2在t1执行完后执行,t3在t2执行完后执行?
这个线程问题通常会在第一轮或电话面试阶段被问到,目的是检测你对”join”方法是否熟悉。这个多线程问题比较简单,可以用join方法实现。
2)java的堆和栈的区别:
堆:是一个运行时数据区,类的对象从中分配空间。这些对象通过new,newarray,anewarray和muitianewarray等指令建立,它们不需要程序代码来显示释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是运行时动态分配内存的,java垃圾收集器会自动收走这些不再使用的数据。但是缺点是:由于是要在运行时动态分配内存,存取速度较慢。
栈的优势:存取速度比堆要快,仅次于寄存器,栈数据可以共享。缺点是,存在栈中的数据大小与生命期必须是确定的,缺乏灵活性。栈中主要存放一些基本类型的变量
(int,short,long,byte,float,double,boolean,char)和对象句柄。
3)java算法:
1、冒泡排序:从头开始,依次对相邻的两个元素进行比较,发现有顺序错误就将它们调换过来!重复地进行,直到没有元素需要交换。是稳定排序法,最好的时间复杂度是o(n);
2、快速排序:思想是(divide)选取一个基元x开始(一般选取数组的第一个元素),通过某种分区操作将数组划分成两个部分,左边部分小于等于x,右边部分大于等于x。(conquer)左右两个子数组递归地调用divide过程,(combine)快排作为就地排序算法,不需要任何合并操作!
3、递归:程序调用自身,并非不会无休止地调用下去,需要有一个出口,当满足条件时程序也就结束!不然的话,就会出现程序死循环。
4)jvm调用gc的频度还是很高的,主要两种情况下进行垃圾回收:第一个就是当应用程序线程空闲,另一个是java内存堆不足时,会不断调用gc,若连续回收都解决不了内存堆的不足。
4)、junit测试的方法的类型必须是public ,其他类型运行时会报错。方法的返回类型也必须是void,并且不能有参数。
5)、list
args = null; args.add(param);//这样会报错
分析原因:list是一个接口,没有实现是不能使用的,需要arrylist的实现类或者其他实现类才能使用
应该改为:list
args = new
arraylist
();args.add(param);
6)、如a是父类,b是继承于a,两者都有构造函数和a有print(),b也覆盖了a的方法,那么可以a a = new b();此时a.print();调用的是b的print()方法,如果b的print()没有覆盖父类的方法,而是自己创建的print();那么这时a.print();调用的还是b的print()方法。另外,假设a有print1()方法,b没有覆盖a的print1();这时a.print1();不会报错,它
将调用的是a自己的print1()方法。最后,加入a没有了print()方法,而是print()是只有b有,这时a.print();将直接调用b的print();方法,总结: 对于类的继承,父类通过子类实例化后,构造方法都在先执行父类的构造方法,再依次执行子类的构造方法。方法的调用原则是先执行子类的方法,如果子类复写了父类的方法,将执行子类的方法,如果子类没有复写父类的方法,但是方法重名,也会只执行子类的方法。如果子类没有对应的方法,那么就执行父类的方法!(不要以为子类没有该方法编译器会报错,因为继承了父类的方法!)请注意:b b = new a();编译器会报错,这也是不合逻辑的!
学习java的心得体会篇7
学习任何语言(包括英语),基础一定要打好,没有学会走路跑步不可能快吧,学习java的心得体会。所以学习java一定要先把java的几个基本组成元素学好。以下是我总结出来的学习顺序和注意事项:
1、数据类型 java是一种强类型语言,各种类型不会自动转换,使用前必须先定义。
2、方 法 方法相当于定义一个"宏"、一个"函数", 方法的定义格式为:
"说明符 修饰符 返回值 方法名(参数){方法体}。"
在学习方法的时候要注意"说明符、"修饰符"、"返回值"这三样东西。
我们在调用java的自带的"类"里面的"方法"的时候,我们一开始是不用看懂这些方法里面写什么(当然,你能看懂是最好)。我们只要知道,使用了这个方法后,"返回值"的"类型"说明
3、类 在java中最经常听到词,也是最麻烦的东西,类的定义格式为:
说明符 class 类名 extends超类名 implements 接口名{主体}
4、变量常量 java的常量名一般用全大写字母表示,并且为了节省内存,一般定义为静态(java程序中的名字我们经常有个默认的规则,类名所有单词第一个字母大写,方法名第二个单词开始第一个字母大写,变量名小写,这样我们一看程序就非常清楚了,从小养成良好的习惯嘛,呵呵),变量的定义格式为:
"修饰符 数据类型 变量名"
变量在类中定义(不在方法体中的部分称为域)和在方法体中定义是不同的(在方法体中定义不需要修饰符),心得体会《学习java的心得体会》。学习变量的时候要注意两个特殊的东西"this"和"super"。同时我们就要学习什么叫"覆盖"、"重载"。
5、控制流 所有的编程语言的控制语句无非就是几个if else for while do switch。
6、接口: 一个抽象的东西,接口可以多继承,解决了类只能单继承的问题。接口的定义格式为:
说明符 interface 接口名{主体},
接口内的方法都是没有主体的,只有常量或变量。当类使用接口的时候,一定要"覆盖"接口的方法。
7、线程:线程是个比较复杂的东西,例如一个赛马程序有七匹马赛跑,就有七个线程,看起来好象是同时在跑,其实是计算机分配不同的时间段让七个线程运行。我们初学者的程序可能还用不上。
到这里为止,java的基本概念我们有一定的了解了,我们就开始研究java的类了。java的核心api(也就是sun公司已经为我们写好的类)有以下几种。(还有其他很多的扩充类)