如何系统有效的学习java编程
现在互联网IT行业得以迅猛发展,已经成为世界上最耀眼的行业。所以很多人也纷纷加入it行业,那么如何系统有效的学习java编程?以下是学习啦小编分享给大家的有效学习java编程的方法,希望可以帮到你!
有效学习java编程的方法
第一步:JDK软件开发包时java软件开发环境,
包括jre运行环境和jvm虚拟机,在oricle官网下载javaSE版本JDK包;配置好环境变量就可以使用了。
第二步:java初级语法学习,
1.基本数据类型整形,字符型,字节型,长整形,短整形,浮点型,双精度,布尔型;
2.运算符+,-,*,/,%等;
3.控制流(while,switch,if else);
4.数组的定义方式。
此阶段基本无难度,只要了解练习例题。
第三步:java面向对象学习,
1.类和对象;
2.java语言三大特性,封装、继承、多态;
3.一些关键字学习(static,final,abstract,extends)等。
这是重点,大家根据知识点一步步研究学习才是关键。
第四步:java应用编程,
例如:文件IO,集合(类似C语言数据结构),异常处理,线程,网络,JDBC数据库操作等,都是掌握面向对象以后,在查找不同的类使用类中不同的方法达到应用的效果,所以并不会很难。等基础语法掌握了就可以继续后面框架学习(java web方向,android学习),相信明确思路你会豁然开朗,更有学习动力。
有效学习java编程的建议
1.return 一个空的集合,而不是 null
如果一个程序返回一个没有任何值的集合,请确保一个空集合返回,而不是空元素。这样你就不用去写一大堆 ”if else” 判断null元素。
Java 的标准库设计者已经在 Collections 类中放了一个空的 List 常量 EMPTY_LIST,除此之外,还有 EMPTY_MAP, EMPTY_SET,真是贴心。
2. 小心使用 String
因为字符串相加或者拼接的方式都会在对象池中查找字符串是否存在,如果不存在则创建,这样在拼接的过程中会产生大量中间过程的字符串,占用内存资源。StringBuilder效率优于StringBuffer,但是StringBuffer线程安全。
另外,在实例化一个字符串对象,构造函数应该避免发生直接实例化,例如:
3. 避免不必要的对象
一个最昂贵的操作(在内存利用率)是java对象的创建。因此,建议只在必要时创建或初始化对象。下面的代码给出了一个例子:
4.Array 和ArrayList 选择
ArrayList和Array是我们在实际编程中经常使用的容器,而且因为ArrayList相当于动态化的数组,所以它们之间有太多的相似,以至于我们在选择哪种来存储元素的时候,会有小小的迷惑,他们都有注解的优缺点,选择真的取决于你的真实场景。
java程序员入门必须克服的5个障碍
1、不知道选择哪种语言
很多人会问:“我应该先学什么编程语言?”能有此一问,自然是因为你明白程序划分的细致,但也说明认知也仅仅停留在这一层上。
如果你心中已经有了一个既定的目标或者说是想要完成的项目,那么就可以依此做出选择。
1.如果你想构建iOS app,那么你需要学习Objective C或Swift。
2.如果你想构建Android app,那么你需要学习Java。
3.如果你想构建Web app,那么你需要学习JavaScript。
其实现在我们可以使用JavaScript来创建任何类型的项目——无论是简单的web和移动app,还是高级的硬件项目。大多数行业中都有它的身影:音乐、医疗、游戏、时装等等。
此种语言被淘汰的概率极低,且市场需求广泛。如果你追求稳妥,那么笔者建议你学习此种语言。
2、不知道如何学以致用
选择好方向之后,刚开始学习理论总是很轻松的,而且网上也有许许多多免费和付费的在线课程。
很多人都能较快的掌握理论知识,甚至能够做到自己来解释某个代码片段的工作原理。然而一旦实际应用理论来解决问题并编写新代码的时候,就会无力应对。
导致这种情况出现的原因很简单:技能空白。
比如说游泳。你可以阅读大量的技术文章,然后解释得就像一个专业教练。但是,要想实际应用这些理论,就需要大量的实践、斗争和错误——你肯定会吞下大量的水!
所以我们需要将理论结合大量的练习,具体的方法步骤如下:
1.选择一个复杂的项目。最好这项目得能够激起你的兴趣。
2.将这个任务分割成小而独立的任务。例如,“实现登录页面”是一个很大的任务。但你可以将其分解为多个小任务。而关于一个小任务我们可以再次做个细分:不应该超过20行左右的代码。一次不使用太多的理论概念。一次专注一项任务,而不是并行解决多任务。不要跳到下一个任务,除非你已经彻底测试过当前任务,并确信没有问题。
3.自己在开始任务之前知道所有必要的理论知识。有时候,你可能不知道需要学习什么理论,这很正常,所以你需要向他人寻求帮助:程序员朋友,导师,或类似Dev Store的平台。
4.你解决了任务,获得了经验值。
3、不知道吸取教训
圆满完成任务的感觉很好,但如果你完成任务后,直接开展下一个任务,那么你浪费了一个绝佳的学习与成长机会。
完成任务后,最好做一个完成的总结。例如问问自己以下的问题:
1.哪些边界情况会导致我的代码失败?即使现在还没有失败,有哪些应用程序状态可能会破坏代码?
2.我的代码是否足够整洁?对其他开发人员,甚至是自己而言,代码是否易于理解和改变?因为以后可能需要修复隐藏在这段代码中的问题,或者根据其他产品规格改变代码。
3.我的方法是最好的吗?有没有其他选项是我可以选择使用的?各个方案的利弊?这任务是否值得用不同的方式解决?
4.此模块与其他模块是如何交互的?是否会对其他模块造成负面影响?是否容易被其他模块影响?
4、不知道攻破难点
这里有两种难点。
第一种,你不知道如何解决。
你不知道从哪里开始?你可能会随机地去尝试,或者从其他地方复制一些你自己也不明白的代码。但是,这是没有帮助的。即使你复制来的代码有效也没用。因为当你今后再一次碰到类似的任务,你依然不能解决。
如果你想妥善解决任务,那么首先你得知道你为什么卡壳。下面是一些可能的原因:
没有很好地掌握这些理论知识:
语言语法:库或API的工作原理,某个具体方法或类的工作原理。
编程范式(例如:异步编程):系统运作(例如:HTTP请求是理解Web开发的关键)。
如果是上述情况,那么可以去复习理论知识,如果依然摸不着头脑,也可以去找人寻求帮助。
任务太大了,那就分解为一个个小任务。
也有可能是因为你读得太快,忽略了一些你以为熟悉其实似是而非的概念,所以无法理解任务要求。
第二种,你知道如何解决,但解决方法无效。
这是编程中最常见的情况,哪怕是那些经验丰富的资深程序员也是如此。你的解决方案之所以不起作用最大的可能是你的代码中存在着bug。
如何修复?方法是调试代码。这也是作为一个程序员需要学习的最重要的技能之一。这不是可以随便凑合的事,也不是玩幸运猜猜猜游戏。如何寻找bug是有具体步骤的。而且很多书中都有教这个技能。
不幸的是,这是很多新手程序员失去动力选择放弃的难关。很少有课程会说明调试的重要性。如果你不知道如何正确地调试,那么它就是不可战胜无法攻克的难关。
很多人担心会花太多时间用于调试代码。这是正常的,在你第一年的编程规划中这是不可避免的。
甚至,你还得学着去喜欢调试。不妨将此看成是一个机会,一个修复错误提高编程能力的机会。当你解决了一个bug,可以问问自己这个问题:“我为什么会犯这种错误?以后我该如何预防再犯?”
还有一个好主意是将找到的bug写成编程日记,方便你总结和学习。
5、不知道如何利用资源
当你在学习代码,或调试代码时,可以咨询很多材料:书籍、课程、教程、导师,开发者社区等等。
在你学习这些资源时最常见的问题是,你并没有完全了解幕后发生了什么事情,也不知道概念是如何融入到更大的蓝图中的。
简单的打个比方:你在某个问题上花了10小时,最后终于有人提供一个解决方案,你往往会在高兴之余拿了就用,并不考虑太多。而这样做的弊端不小,笔者建议你在解决问题之后:
1.思考自己之前的思维过程。问问自己,做错了什么,对于这个特定的解决方案有哪些是值得你先前的思路借鉴和改进的地方。
2.询问他人的思维过程。她/他是如何解决的呢?向对方学习,吸取经验。
猜你喜欢: