java易错
1. 谁帮我总结下java中的知识要点 和易错点 要系统的
下面简单列举一下学习java的一个系统知识点的一些介绍():
一:java基础部分:java基础的时候,有些知识点是非常重要的,比如循环系列。For,while,do-while.这方面只要用心点基本没什么难点。
二:面向对象:oop面向对象的时候,偏重理论,相信这方面的文章也很多,可以多看看,在这就不说了。重点掌握面向对象的三大特征和基本原理。
三:java核心一:这方面主要偏重API,所以在学习了这章的时候,一定要对照API去学习,多看API,主要就是方法多,string和集合的方法最为重要。
四:java核心二:主要讲解了异常,线程和IO流,其实个人认为重点掌握线程就行,对于流和异常多写就行,线程偏重理论也最为重要。
五:oracle数据库方面:建议学习数据库的时候一定要端正态度,数据库极为重要,本人当时在学习这个的时候,一直以为数据库只是为了增删改查,故没有认真学习,后期面试的时候吃了不少亏,因为现在软件公司对数据库正孝的要求跟java一样重要,基本都会单独一张笔试题笔试数据库。
六:JDBC/XML系列:JDBC主要是3个核心接口(Connection) (Statement) (ResultSet)的使用,在学习的时候,熟练运用3接口,jdbc的原理也相当重要,虽然后期学习了HIbernate之后,JDBC不需要再用,但其底层原理还是JDBC,而且现在很多软件公司不一定会用到Hibernate框架,所以建议还是把“本”学好,XML:重点掌握解析互换的2个核心接口方法。
七:HTML/CSS/JS:对于这个,本人相当纠结,因为这个有点偏向于美工的意思,所以后期想从事后台开发的同学一般不会太重视,但是现在都是web项目,而且很多软件公司并不是把许多这方面的事情交给美工(除非是那种有很高要求的静态页面),而且现在html代码都是在jsp里面写,所以建议还是好好学学,因为公司不会让一个美工去专门为你写一些简单的html代码,包括js!这章其实不难,就是属性方法知识点比较多,多记做早记,多写写,重在多练!
八:Servlet/Jsp:如果想从事web和b/s开发(现在基本都是web和b/s开发),这章极为重要,服务器的访问以及配置。tomcat的使用都在这一章,虽然后期struts框架的学习简化了servlet代码的繁琐性,但是你可知道现在有些公司只用servlet不用struts!即使用了框架技术也不一定是struts!servlet跟JDBC一样都是“本”,而struts和Hibernate一样都是封装了它们而后简化代码而已。所以只有把“本”学会了,就不怕框架的变化!jsp就不多说了,如果你学习java这个就不会缺少!后期b/s项目页面的布局以及功能就全靠它了。
九:Ajax/Jquery:当初学习这个的时候,本人没有用心去学,然后结果就是本人在进公司之后花了一个星期的时间练习jQuery!这个对于强化web服务器页面的功能技术实在是强大.这个封装了js对象的技术,可以对jsp页面元素进行样式的更改以及操作,想要玩好web项目,这个技术必须玩好!
十:SSH:传说中的三大框架;
Struts:前面已经提到,这个框架技术主要是为了弥补servlet和jsp页面之间交互的复杂性,可以有效的提高客户端与服务器之间的交互。而且采用了MVC思想进行改善减弱代码之间的复杂性。
Hibernate:主要封装了jdbc的核心功能,可以采用映射方式访问并操作数据库,一定程度上讲是简化了程序代码,但前面已经提到,由于是框架,而框架是随着时代而改变的,并且很多公司不一定用到这个框架,所以,只有掌握好JDBC的根本原理,才会更加理解这个框架纯清雀。
Spring框架:其实后期学框架知识大家都会觉得很无趣和乏味,因为框架的知识都是理论很深的知识点,spring主要是要完善代码之间的耦合度,包括类似工厂模式的对象自动控制,AOP的事物日志管理等,都其实是为了减少程序员的工作量,但不得不说是有很大的作用的,而且这个框架可以整合JDBC以及Hibernate,struts技术,可以把所有的框架技术都整合在一起。相当于一块主板把内存,风扇,cpu,显卡都集中在一起。
前
面所有的都是个人学习之中的一点感受,希望你也能有所感触,主要想说明的是前面的基础一定要打好,对于学习方法的问题也可以和大家聊一聊,本人在学习之
初,由于面向对象和集合一些理论较深的知识点出现,导致后期比较注重理论,最终在写实际项目的时候吃了苦头,因为代码量没有跟上,即使理论都懂,但很多功
能还是无法自己写出,所以要强调的是在注重理论的情况下一定要多写代码,我的建议是在理论比较深刻的知识点面前,比如面向对象,集合,线程这些知识,多看
点理论,而对于html,css以及API方法比较多的知识点的情况下,多写代码。总之,各50%最好!当然,这就需要大家付出更多的时间和精力辛苦勤劳下了!其实java的学习还是要多练代码,多思考,举一反三,任何的知识点只要你认真的去做,没有拿不下的顽石,勤能补拙,相信自己,然后用功,你就胜利了。
下面为提供部分本人整理的笔记:
String的核心方法:
字符串转换整数:Integer.parseInt(字符串变量);
整数转换字符串:String.valueOf(整型变量)
日期转字符串:new SimpleDateFormat().format(date类型)
返回字符串元素的字符长度:length()方法
Int IndexOf(String a),在字符串元素中检索a字符,返回第一个出现的下标位置。
Int indexOf(String a,int fromIndex ),从formIndex位置开始检索字符串,找到之后的a字符。
Char charAt(int
index):用于返回字符串index位置的字符.
Substring(begin,end):返回子字符串
valueOf(Object):返回Object参数的字符串表示形式。
toUpperCase():返回字符串的大写形式。
toLowerCase():返回小写形式。
StringBuilder核心方法:
StringBuilder:性能好,非线程安全.
Append(String s):追加字符串。
Insert(3,”String”)插入字符串
Delete(int start,int
end):删除字符串。
Replace(int start,int
end, String s):替换字符串
Reverse():字符串反转.
集合核心方法:
Boolean isEmpty():判断集合是否为空
Size():判断集合里面元素的个数
Boolean Contains(Object):判断集合元素中是否包含Object元素.
Clear():清空集合。
Boolean Add(Object):向集合中添加元素,返回是否添加成功.
Boolean
remove(Object):从集合中删除元素。
Iterator
iterator():迭代元素。
增强for循环:for(Point p:list):遍历list,每次循环从list中取出一个元素赋值给p.
List单独的方法:
get(index):得到index下标的集合元素.
Set(index,元素o):设置index处的元素为元素o,前面的元素将被覆盖,并且方法返回的值是前面的元素。
Add(index,元素):在指定下标index添加元素
Remove(index):删除指定下标的元素值
List:定义线性表数据结构.
ArrayList:动态数组方式,适合随机访问对象.
LinkedList:链表方式,适合于插入和删除.
subList():用于获取子List,获取的List与原List占有相同的存贮空间,操作会影响原List.
List<E> subList(int 开始下标,int 结束下标);