如何学好 java?

1. 就本人认为学好 java 关键就在于态度。态度是学习好 java 的
提,积极的态度注定你就比别人学得认真,自然最终学的一定
比不认真的人学的好!
2. 有良好的前提,不努力也不行的,所以呀!还得练习。要做到
常练习,多看,多思考(举一反三,多方位的,全面的使你的
程序更加的完美);
3. 最后一点,就是多多交流!闭门造车永远是落后的学习方式,
所以好要和身边的一切可以交流技术的人积极交流,毕竟个人
的力量有限的!
二、 java 中那些重要知识点!!(本人认为最主要的是思想,
知识点也很重要,关键是在学习中总结出自己的一套思想,好的枪
手都是子弹喂出来的,好的程序员都是写代
码写出来的)
1. java 数据类型
a) 基本数据类型:byte、short、int、long、float、double、
char、
boolean(注意各自的取值范围,还有转换方式)
b) 引用数据类型: 数组、类、接口。
2. 运算符号
a) 算术运算符:+、 - 、* 、/ 、 %、++、--; b) 赋值运算符:= 、+= 、-= 、*= 、/=、%=;
c) 比较运算符:、= 、!=;(返回值都是 false/true) d) 逻辑
运算符:&&、||、!
e) 位运算符:用于操作二进制位的运算符:<>、>>>……
4. 基本数据结构:
a) 顺序结构
b) 选择结构(if……else……,switch……case……
default……);
c) 循环结构(for()、do……while、while)(分清 break 与
continue 的用法)
5. 数组(用于存储同一类型数据的一个容器)
a) 表现形式:
i.
ii. 元素类型[] 变量名 = new 元素类型[元素的个数]; 元素类
型[] 变量名 = {元素 1,元素 2...};(new 元素类
型[]{元素 1,元素 2...};)
b) 数组排序方法:插入排序,二分法排序,希尔排序,还有
最主要的——冒泡排序
6. 内存(
1:寄存器 2:本地方法区 3:方法区 4:栈 5:堆)
a) 栈(存储的都是局部变量)只要数据运算完成所在的区域
结束,该数据就会被释放。
b) 堆(用于存储数组和对象,也就是实体——用于封装多个 数据的)
i.
每一个实体都有内存首地址值。
ii. 堆内存中的变量都有默认初始化值。因为数据类型不
同,值也不一样。
iii. 垃圾回收机制
7. 面向对象
a) 特点:
i.
ii.
iii. 将复杂的事情简单化。
面向对象将以前的过程中的执行者,
变成了指挥者。 面向对象这种思想是符合现在人们思考习惯的一种
想。
b) 对事物进行属性和行为的分析
i.
ii. 属性:特点 行为:函数(方法)
8. 访问权限
a) private(私有的访问权限最低,只有在本类中的访问有效)
(set 方法设置,get 方法提取)
b) protected(安全的)受保护权限,体现在继承,即子类可 以访问父类受保护成员,同时相同包内的其他类也可以访问
protected 成员。
c) 无修饰词(默认),表示包访问权限(friendly, java 语言
中是没有 friendly 这个修饰符的,这样称呼应该是
c++ ),同一个包内可以访问,访问权限是包级访问权限
d) public 修饰词,表示成员是公开的,所有其他类都可以访
9. 方法重载与方法重写
a) 方法重载(一个类中可以有多个具有相同名字的方法,但
这些方法的参数不同(类型、个数、顺序不同))
b) 方法重写(子类定义一个方法,并且这个方法的名字、返
回类型、参数的个数、参数类型与父类继承的方法完全相同)
10. java 面向对象三大特性(继承,封装,多态)
a) 封装(private):主要是 set 方法与 get 方法合作应用
b) 继承(extends):注意访问权限,看看是否能继承!
c) 多态:父类引用或者接口的引用指向了自己的子类对象,
eg(动物——1.食草动物 2.食肉动物——老虎,狮子,狗);
11. 抽象类与接口
a) 抽象类(abstract)特点:1.不能 new2.可以由抽象方法(但
是非抽象类不能有抽象方法)
b) 接口(interface 声明)
i. 接口使用(implements):一个类可以实现一个或多个 接口,用逗号隔开。
ii. 接口强调的是功能:has——a 的问题!
12. 多线程(thread 类与 runable 接口)
a) 主要方法:
i.
start()启动线程
ii.
iii.
iv. run()程序运行的方法,功能实现区域 sleep()休眠,使程序
处于休眠状态 interrupt()吵醒:吵醒处于休眠状态的程序,使进入
常状态;
b) 线程同步(synchronized 锁)关键在于 this 与 object 的区
别,
各自使用的范围与坏境。
13. 流(input/output)
a) 分类:主要是字节流与字符流,还有缓冲流,数据流,对
象流……
b) 方法都差不多:主要是 writer()与 read()还有各自对应的数
组应用!
c) 出现乱码时注意你用的流是否合适以及你使用的编码格式
以否可以支持 14. 套接字(socket)
a) 主要功能就是通信(安全的)(利用 port 进行连接)
b) 利用流连接进行通信,数据传送
15.……还有好多,自己慢慢研究吧!java 博大精深!
三、 我们在学习中的那些难题?
1. 总是遇到难以理解的东西?
2. 总是以为自己回了,但是又写不出来?
3. 总是觉得问题很难,但是经过别人的指点就会觉得好简
单?
国家队每一次踢球失败后都要说这么一句:我们回去后要好好总
结,下次会打得更好!
总结不代表就能改过原有的不足,也不代表就能进步了
(一)充分利用 msdn 因为我个人觉得它胜过任何一本编程参考书
msdn 是 microsoft 当前提供的有关编程信息的最全面的资源,
它包含微软最新的技术数据库,加上易学易用的全文检索功能,让您
迅速找到任何您需要的技术参考数据
(二)加强自我管理,善于作自我总结,分析自已的优点及缺点
中国境内百分之八十以上的 * 在百分之八十以上的场合的讲话
中都有类似的观点,所以在这里我是不多说了,反正这一条用在什么
行业什么地方都不会有错的,人生最大的敌人不是就是自已吗?管好
自已认清自已,那还有什么搞不定的?
(三)养成良好的文档习惯 良好的文档是正规研发流程中非常重要的环节,一个好的程序是
先写好设计文档再进行编程的,在设计文档的指导下,才能写出安全
的代码。如果你不写文档,一开始就写程序,这样你就不会按已设计
好的路线走,而是想到哪写到哪。小功能还好说,要是大功能,就容
易混乱甚至失控.那么如何写文档呢?其实我认为没有统一的标准,虽
然国家及一些 nb 的人总结了很多的模板,但每个人的习惯不同,如果
你不加以修改或创新,就套用某个标准,我相信写起来会很吃力及说
不清的难受,因此我觉得只要能将你的设计思想及实现算法或步骤描
述清楚就是好的文档,我强烈建议广大程序员朋友们在写文档时要善
于用图表来说明你的思想,我们不是作家,也可能作文都经常性地不
及格,写出五官端正的文章对我们来说可能不容易啊!好好地利用
visio,rose 或别的工具来表达你的思想吧!
(五)代码风格要规范,严谨,效率要高。
(六)掌握好跟踪调试技巧.
跟踪调试程序是一件繁琐而又复杂的事情,所以掌握必要的调试
策略及技巧却可以使这些工作变得轻松起来.强烈建议你去看一下老
美 everett n.mckay 及 mike wooding 写的书<>,你一定受益匪浅.
(七)养成自我测试的习惯
测试工作应由测试工程师来做,但在你写完一个模块或一个软件
时,还是要自已先测试一下,保证不要出现一些低级的错误.
(八)善于交流善于沟通,特别是经常与一些高手交流一下学习的
心得体会 有人说,程序员的性格大多内向不喜欢说话,其实是有些误会了,
不是不喜欢而是话不投机,我的脑袋一天到晚都在不停地转,函数,数
据,算法啊充满了我的世界,我那还有时间与你谈一些无聊的话题,话
要找对人了,才容易谈下去,书上说过"听君一席话,胜读十年书",你
要找的就是这种豁然开朗!
(九)阶段性地做一下专题总结
知识要温故而知新,因此我程序员要养成阶段性地做专题总结的
习惯,比如你这个月学习或在做与多线程有关的模块或项目,那么在
你做完后,你就可以好好地总结一下所有与多线程相关的技术,包括
理论知识,实践方法以及各种技巧及优秀文章等等,这对你各种能力
的提高将有
很大的帮助,你试过了吗,如果没有,那就快点行动吧!
(十)要有持之以恒的精神
我只是想说明要学好任何一门技术,最好要有持之以恒精益求精
的精神,特别是学一些比较抽象比较难的技术,除了思考一下你的学
习方法以外,还必须坚定你的目标及信念!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hhappy0123456789

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值