一开始学习新事物总是很困难。 互联网上提供的可用信息量可能不堪重负,过时或错误。 对于初学者来说,很难选择正确的道路。 在本文中,我将尝试给出一种结构化的方法来启动学习过程。

首先,我的建议是问自己为什么特别想学习Java。 我从C#开始学习,我非常喜欢这种语言。 但是,我决定找到一份Java开发人员的工作。 当时我学习C#的原因是,我还没有决定要开发哪种软件。 Java是Android应用程序(移动开发)的本地语言,您也可以使用正确的框架构建Web应用程序。 更不用说,Java在求职时非常有用。 如今,这是比C#更具市场价值的技能。

无论如何,每个人都应该找到选择Java的自己的理由。

现在,当您确定了选择Java的理由时,您会更加有动力并且与您的学习保持一致。 首先,您应该知道Java分为两个主要组件。 第一个是Java SE(标准版),第二个是Java EE(企业版)。 一开始,您应该只关注Java SE,因为它提供了基础知识。

您可以采取以下一些步骤来帮助自己学习基础知识。

经验教训

通过参加软件学院,我获得了很大一部分知识。 在我所在的地区,有几所学院可以为您提供Java SE的坚实基础。 他们也是结识其他学习者的好地方。 与他人交谈并分享想法和知识时,学习起来会更容易。 另一个好处是,您所做的承诺比单纯在Internet上阅读要大。 它将推动您前进。

读书

我总是发现书中的信息比互联网教程更完整。 当我尝试在一个全新的领域学习新事物而又没有时间参加课程时,我总是更喜欢为初学者推荐一本书。 Head First Java,第二版,是一本入门Java的好书。

视频教程是很好的信息来源。 有像Coursera或Udemy这样的Web平台,您可以在其中找到许多适合您当前知识水平的课程。 这些课程通常为您提供可执行的练习技能的任务。

互联网文章和教程是另一种信息来源。 但是,如果您刚刚起步,很难知道该选哪个。 这就是为什么我更喜欢上面的方法来开始学习过程。 但是,如果您喜欢这种学习方式,我建议您从Oracle教程开始,因为此处的信息是准确的。

通常,当您决定从哪里开始时,我建议您检查课程或教程在每个主题的末尾是否都有练习。 练习所学的一切非常重要。 否则,您将在一周内忘记它。 同样,您可能没有完全理解一个主题,但是如果您不编写任何代码,您将永远不会知道。

一旦有了坚实的知识基础,下一步就是练习。 很多。 开始一个您感兴趣的小项目。 编程是通过实践学习的。 一开始,我实现了一些简单的程序,例如计算器或诸如minesweeper之类的简单游戏。 我的建议是选择一些您感兴趣的东西并开始编写代码。 此外,网络上还有大量练习。 到目前为止,您应该熟悉Java中的数据类型,运算符和语句,引用和原始类型差异,面向对象的编程,异常处理,数组和集合等。

一旦对编写的代码感到满意,请继续下一步,并学习如何实现更复杂的内容。 此步骤将包括来自Java EE的知识。

再次,我建议检查Oracle教程 。 您可以从目录中看到您需要熟悉的所有不同主题。

如果您难以理解其中的某些概念,请查看Coursera或Udemy以获得有关Java EE的课程或需要帮助的特定主题。 获得一些知识后,请练习所学的内容。 创建一个Web应用程序。 这可能很简单,例如TODO列表或照相馆。 测试您学到的知识,然后通过添加更多功能进一步开发应用程序。

Java中还有其他框架可用于开发Web应用程序,还可以用于开发其他类型的软件。 Spring是Java开发中最受欢迎的框架之一。 使用Spring构建另一个项目。

您应该在开始时尝试其他方法以找出最喜欢的东西。 Google提供了关于如何为Android平台实现移动应用程序的非常好的文档和教程 。 Android应用程序的本地语言是Java。 我认为,在找到工作之前,您应该知道什么使您感到高兴。 创建一个小项目。 它甚至可能与您创建的Web应用程序相同。 这样,您就不必考虑功能,等等。

无论您使用哪种语言编写代码,都肯定需要使用源代码控制系统。 最受欢迎的两个是Subversion(SVN)和Git。 最近,人们更喜欢使用Git,因为它具有更好的功能。 您可以直接从命令行使用源代码管理系统,也可以安装GUI应用程序来为您提供帮助。 我的建议是从控制台开始,因为您将通过这种方式了解更多信息。

编程不仅仅是实现没有错误的功能。 您的代码必须为他人所理解并且易于维护。 它应遵循强凝聚力和松散耦合的原则,并且应该易于测试。 一旦了解了该语言,就应该开始学习如何在其他方向上改进代码。 熟悉JUnit之类的测试框架,并尝试编写单元测试。

我推荐了很多有关此的出色书籍,包括Clean CodeEffective Java 。 您还应该了解设计模式,因为它们为每个开发人员都面临的常见问题提供了解决方案。 关于这方面的例子的一本好书是《 Head First设计模式》

本文中的建议完全基于我自己的经验。 我还发现访问与编程和Java相关的事件很有用。 您可能会听说一个可以帮助您工作的新趋势框架。 希望您喜欢这篇文章,并从中找到有用的东西。

翻译自: https://jaxenter.com/minute-masterclass-java-137713.html

Java的分钟大师班相关推荐

  1. 3ds Max V-Ray5 完整指南大师班视频教程

    3ds Max V-Ray5 完整指南大师班视频教程 时长15小时 包括项目文件 1920X1080 MP4 语言:英语+中文字幕(机译) 标题:Gumroad–V-Ray 5 Masterclass ...

  2. 3D视觉艺术大师班-C4D和Octane渲染学习教程

    3D视觉艺术大师班-C4D和Octane渲染学习教程 MP4 |视频:h264,1280×720 |音频:AAC,48 KHz,2通道 语言:英语+中英文字幕(根据原英文字幕机译更准确).持续时间:3 ...

  3. 算法设计与分析大师班

    算法设计与分析大师班 算法和数据结构将帮助您破解编码面试(C/C++Java/Python)学习算法数据结构 此视频教程共12.0小时,中英双语字幕,画质清晰无水印,源码附件全 课程英文名:Intro ...

  4. 存储大师班 | 浅谈数据保护之快照与备份

    作者简介:徐林波 NeonSAN 开发人员,具备丰富的存储领域从业经验,资深存储系统软件研发工程师,熟悉当前主流及新型存储介质. 引言 面对当前企业数字化转型浪潮,信息数据已经成为企业赖以生存的基础, ...

  5. Unity2D游戏开发和C#编程大师班

    本课程采用现代游戏开发的最新内容和最新技术(Unity 2D 2022) 学习任何东西的最好方法是以一种真正有趣的方式去做,这就是这门课程的来源.如果你想了解你看到的这些不可思议的游戏是如何制作的,没 ...

  6. AutoCAD 2D与3D大师班学习教程 AutoCAD 2D and 3D Masterclass

    用实例和解决问题的方法完成从基础到专业的AutoCAD课程. 你会学到什么 AutoCAD课程包含创建计划和模型的命令和不同方法的详细使用. 本课程包括对AutoCAD中使用的所有命令和工具的详细解释 ...

  7. Blender程序性纹理学习教程大师班 Creative Shrimp – Procedural Texturing Blender Master Class

    标题:创意虾-程序纹理Blender大师班 信息: 什么是程序纹理? 程序纹理将简单的数学转换为无限的真实感着色器,具有无限的多样性和分辨率. 超越看起来像一团像素特写的图像纹理,运用程序纹理的力量, ...

  8. SolidWorks大师班:从基础到专业学习教程

    流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:2.4 GB 含课程文件 |时长:3h ...

  9. C#和Unity游戏开发者大师班2021 (2D,3D和FPS)

    流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确) |大小:11.1 GB |时长:22h 31m 含项 ...

最新文章

  1. python比java简单好学-21、PHP和python/JAVA比,哪个更好学?
  2. 未解决ora-01034、ora-03113、oracle使用RMAN删除归档日志
  3. csharp为何不流行_【经营】做餐饮,算好加减法,你不赚谁赚
  4. [LeetCode] Move Zeroes - 整数数组处理问题
  5. win2008r2 AD用户账户的批量导入方法
  6. 深圳学位分数计算机,深圳10区小一初一录取分数线汇总 附积分自测入口
  7. 随手记一个漂亮的code
  8. Selenium2+python自动化18-加载Firefox配置
  9. 深度残差网络_深度残差收缩网络:(三) 网络结构
  10. UIDynamic(物理仿真)
  11. 禁忌搜索算法解决旅行商问题
  12. 82C55控制交通灯
  13. word中导出高分辨率pdf
  14. windows系统上使用magic trackpad妙控触摸板
  15. c语言实验报告总结周信东,周信东主编c语言程序设计基础实验一实验报告精选版.docx...
  16. Python中的切片(Slice)操作详解
  17. c++计算一维数组中的最大元素
  18. 智慧树python第三章答案_智慧树Python语言应用第三单元章节测试答案选修课网课慕课答案...
  19. 红色高端爱家Aijiacms大型房产门户系统V9网站源码+带WAP
  20. python slots魔法

热门文章

  1. 企业多会场视频直播(主会场、分会场直播)实例效果
  2. Python源码剖析-SmallPathon
  3. 基于遗传算法无人机路径规划MATLAB,基于遗传算法的机器人路径规划MATLAB源码
  4. 2021朝花夕拾-我在校搞副业实现经济独立
  5. python输入123输出321_编程从键盘输入一个三位数,将它们逆序输出。如输入123,输出321.谢谢...
  6. 基于统计生成相似句(同义句),再用神经网络rnn语言模型判断句子的通顺性!
  7. 背单词App开发日记5(下)
  8. 郑州职业技术学院计算机宿舍,郑州职业技术学院宿舍条件、住宿好吗、寝室情况...
  9. Educational Codeforces Round 131 (Rated for Div. 2)刷题记录OR题解
  10. 关于洛谷p5705的解法c语言