学习Java的最佳方法

Java是某些人可能会说很难学习的语言之一,而其他人则认为它与其他语言具有相同的学习曲线。 两种观察都是正确的。

但是,由于Java具有平台无关性,因此在语言方面具有相当大的优势。 Java是一种低级语言,它以一种简单的方式来实现算法的实现,并让您了解基础知识。 同时,它也足够高级,可以逻辑地实现编码。

根据开始学习Java之前的心态,学习Java的最佳方法应遵循某些步骤:学习术语,练习,练习,等等,然后再练习。 重复是关键。

我想分享一些技巧,这些技巧在我开始学习Java时对我有帮助,希望您能从这些技巧中获得同样的好处。

学习Java术语

学习Java或任何语言的最佳方法是从初学者开始。 “ Hello World”是一个很好的起点-基本上所有程序都使用此思想来说明编程语言的中心语法。

在学习编码之前,学习Java的人需要了解这种语法中的某些术语:类,对象,继承,多态性,抽象和封装。 Head First Java是一本学习这些方面的好书。

使用不同的参考文献来理解术语,因为尽管各个参考文献可能具有相同的定义,但这些解释并不是绝对的和有限的。 Google有不同的网站,它们会以不同的方式解释同一个词。

第一次阅读定义时,您可能会感觉好像您正在从不同的星球学习语言,但是重点是要熟悉术语,而不是掌握它。

例如,类是用户定义的设计或样品,从中可以形成项目。 它表示一种类型的所有对象通用的一组过程或属性。

对象是面向对象编程的重要组成部分,体现了有效的实体。

原型Java程序产生许多对象,这些对象通过调用方法一起工作。

了解这些术语将帮助您了解代码的组成部分以及最终结构和代码形成的原因。 Java的强大基础和理解能力使您能够编写代码,并使您能够全面展现该语言中任何程序的基本含义。

练习简单的Java程序

如果术语是学习Java最好方法的第一步,那么第二步涉及在线查找一个简单的程序来练习新的语言技能。 只有通过执行新获得的知识,才能对新获得的基础进行测试和完善。

让我们以三乘三井字游戏为例; 这是一个简单的程序,不需要许多高级编程技能,它是绝对的初学者的合适程序。 这是一种对实践有效的程序,因为程序员已经知道结果了。

要做的第一件事是将程序的每个步骤写下来,例如,可以从用户在中间网格中输入X开始,然后计算机在右上,左上,右下自动输出0。或左侧网格。 用户进行了另一步,计算机进行了有效的第二步,该步不重复第一步,并且是唯一的。 设计输入和输出步骤的这种方法将继续完成。

在完成输入和输出步骤之后,程序员需要查看代码。 新的程序员乍看之下可能无法了解所有代码。 可能要花一些时间,所以对无法理解自己的创作感到疯狂当然不会有所帮助!

该技巧是学习Java的主要“不要” —不要惊慌!

建议您使用铅笔在笔记本上手工写下整个程序,以解决这种情况。 再次重复此过程,然后在第二次定义程序的每个代码行。 如果语法给您带来麻烦,那么您随时可以通过Google进行解释。

最后,学习者需要使用集成开发环境(IDE),该软件应用程序为计算机程序员提供了用于软件开发的全面功能,在手写了3次并用自己的话大声解释后才键入程序。

忽略负面因素

有无数种编程语言,其中有些已过时,每个人都有自己的最爱。 有些人认为Java是一种古老的语言,而不是像Ruby这样的流行语言。 因此,无可否认,当您下定决心学习Java时,您将面临一些压力。

您一定会被告知,一般的编程语言会更好。 立即忽略这些主张,并保持掌握尽可能多的编程语言(而不仅仅是Java)的态度。

我得出的结论是,每个人都以不同的方式学习。 例如,我是一个触觉学习者。 因此,如果批评家告诉我,学习Java的唯一方法是坐下来听音频,那么我很可能不会成功学习Java。

我鼓励您涵盖学习Java的所有基础知识:动觉(通过进行体育活动学习),语言(通过口语学习),听觉(通过听力学习)和视觉(通过视觉学习)。

通常,学习编程的最好方法是尽可能地涵盖所有这些学习方式。 但是,如果您发现一种对您更有效,那就坚持下去。

坚持练习,Java将会成功

学习编程语言需要重复,就像其他任何事情一样。 学习Java的人将希望深入参与并沉迷于该语言,直到最终他们开始了解事物为止。 优秀的程序员在实际开始编写代码之前,要观看数小时的编码视频。

记住,享受作为程序员的旅程也很重要。 并且要对自己有耐心。

您必须记住,您可能第一次都不了解所有内容,没关系。 确定最佳学习方式也很重要。 有些人可能会在构建Android应用程序时学习Java最好,有些人可能喜欢使用JMonkeyEngine开发游戏,而其他人可能会构建网页。

我个人发现在使用Java构建移动应用程序时学习Java更容易,因为我能够看到我的程序如何与前端一起工作。

关键是要有耐心并了解每个人的学习方式都不同。 学习Java的最好方法是精通理论知识和实践知识。 成功在于花费时间来练习编程语言, 犯错误并从那些错误中学习。

愿编码部队与您同在……编码愉快。

翻译自: https://www.javacodegeeks.com/2018/04/the-best-way-to-learn-java.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/347003.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【MFC系列3】永远点不到的按钮

变量的声明与定义 全局变量theApp的定义 CXXXXApp theApp; // 定义在其他类中想要访问全局变量theApp时,需在stdafx.h中进行声明 #include "XXXX.h" extern CXXXXApp theApp; // 声明三个被系统接管的消息(缺省,虚函数回调&…

CSAPP:Attack lab

关注公号【逆向通信猿】更精彩!!! 原文地址:https://www.jianshu.com/p/db731ca57342 本文介绍的是CSAPP书籍中的第三个lab: Attack lab。通过这个lab我们能够更加清楚和深入的了解到缓冲区溢出的隐患,以及如何利用缓…

antlr java_使用ANTLR和Java创建外部DSL

antlr java在我以前的文章中,有一段时间我写了关于使用Java的内部DSL的文章。 在Martin Fowler撰写的《 领域特定语言 》一书中,他讨论了另一种称为外部DSL的DSL,其中DSL是用另一种语言编写的,然后由宿主语言进行解析以填充语义模…

【MFC系列-第7天】MFC类库封装原理

关注公号【逆向通信猿】更精彩!!! 运算符重载 operator RECT* () {return this; }CString类库 例1 CString str;int n str.GetLength();::GetSystemDirectory(str.GetBuffer(1000), 1000);n str.GetLength();str.ReleaseBuffer();//必须…

【MFC系列-第8天】小型软件项目开发

第8天 小型软件项目开发 8.1 记事本开发 小技巧:用VC6新建工程,以资源方式打开系统自带notepad.exe中的MENU资源,加入到自己新建的工程中;然后再添加到VS工程中,即可获取现有exe的菜单资源。 EndDialog中传入的参数…

Spring休眠教程

1.简介 在本文中,我们将演示如何利用最流行的ORM(对象关系映射)工具之一的Hibernate的功能 ,该工具可将面向对象的域模型转换为传统的关系数据库。 Hibernate是目前最流行的Java框架之一。 由于这个原因,我们在Java Co…

【MFC系列-第9天】MFC消息映射机制的原理

关注公号【逆向通信猿】更精彩!!! 第9天 MFC消息映射机制的原理 9.1 对话框常用的回调函数 a)窗口创建时的消息和虚函数包括:WM_CREATE,WM_INITDIALOG,和PreSubclassWindow等; b)窗口关闭时的消息和虚函…

无状态会话的ejb_Java EE状态会话Bean(EJB)示例

无状态会话的ejb在本文中,我们将了解如何在简单的Web应用程序中使用状态会话Bean来跟踪客户端会话中的状态。 1.简介 有状态会话Bean通常保存有关特定客户端会话的信息,并在整个会话中保留该信息(与无状态会话Bean相对)。 有状态…

ArrayList源码学习笔记(3)

时隔两年&#xff0c;重新读ArrayList源码&#xff0c;轻松了很多&#xff0c;以问题的方式记录一下收获 装饰器模式 注释中提到ArrayList本身不是线程安全的&#xff0c;注释如下&#xff1a; * <p><strong>Note that this implementation is not synchronized.&…

【MFC系列-第10天】非模式对话框开发

10.1 程序左上角图标设置 通过SendMessage发送WM_SETICON消息来设置 10.2 纯Win32程序开发和技巧&#xff08;借助MFC源码&#xff09; 10.3 非模式对话框的调用 a)调用CDialog::Create函数来创建&#xff0c;并且调用ShowWindow来显示&#xff1b; b)单例模式每次判断句柄…

Maven教程之春

1.简介 在本文中&#xff0c;我们将演示如何针对非常特定的用例对Spring使用Maven依赖项。 我们使用的所有库的最新版本都可以在Maven Central上找到。 对于一个有效的构建周期而言&#xff0c;了解Maven依赖项的工作方式以及如何对其进行管理非常重要&#xff0c;并且对于在我…

【MFC系列-第11天】CWinApp类成员分析

11.1 资源管理器开发&#xff08;C语言&#xff09; 三种位运算 //#include <AtlBase.h> //混合 c_file.attrib | _A_HIDDEN|_A_RDONLY; //判断使用if(c_file.attrib & _A_HIDDEN) //删除属性c_file.attrib&~_A_HIDDENT;11.2 资源管理器开发&#xff08;API&a…

【MFC系列-第12天】Windows系统对话框

12.1 INI配置文件 UINT GetProfileInt( LPCTSTR lpszSection, LPCTSTR lpszEntry, int nDefault ); 从应用程序的配置文件&#xff08;.INI&#xff09;的一个配置项中获取一个整数 CString GetProfileString(LPCTSTR szSection, LPCTSTR szEntry, LPCTSTR szDefault NULL )…

【BCH码2】BCH码的快速BM迭代译码原理详解及MATLAB实现(不使用MATLAB库函数【全部代码需私信另外付费获取】)

理论基础 订阅《信道编码》专栏,首先查阅各子程序的详解 【有限域生成】本原多项式生成有限域的原理及MATLAB实现 【有限域除法】二元多项式除法电路原理及MATLAB详解 【有限域元素加法和乘法】有限域元素加法和乘法的原理及MATLAB实现 【多元域乘法】多项式乘法电路原理…

【MFC系列-第13天】Windows系统对话框(对话框记事本逻辑)

13.1 内存泄露问题 真正的内存泄露是有循环性反复申请而不释放内存&#xff1a;是指在软件运行时&#xff0c;比如点一下某按钮就申请一次堆空间&#xff0c;而在下次申请前或者适当的时机及时释放内存&#xff1b; Detected memory leaks! Dumping objects -> {225} norm…

js 实现轻量ps_简单轻量的池实现

js 实现轻量ps对象池是包含指定数量的对象的容器。 从池中获取对象时&#xff0c;在将对象放回之前&#xff0c;该对象在池中不可用。 池中的对象具有生命周期&#xff1a;创建&#xff0c;验证&#xff0c;销毁等。池有助于更好地管理可用资源。 有许多使用示例。 特别是在应用…

【MFC系列-第14天】MFC核心类库的成员介绍(记事本快捷键)

14.1 对话框快捷键的设置和加载 a) 插入一个新的Accelerator到资源里&#xff0c;把加速键和对应的响应控件(如一个按钮)关联 b) 在对话框头文件中声明 HACCEL m_hAccel;c) 在对话框的构造函数里初始化m_hAccel m_hAccel ::LoadAccelerators(AfxGetInstanceHandle(),MAKEI…

【MFC系列-第15天】关联变量的概念与用法

15.1 权限管理对话框的信息录入与保存 15.2 控件型关联变量&#xff1a; FromHandle和DeleteTempMap管理成员对象表&#xff0c;前者由HWND获取CWnd*&#xff0c;后者进行删除。 BOOL Attach( HWND hWndNew ); //关联 HWND Detach( ); //解除关联 BOOL SubclassWindow( HWND…

【MFC系列-第16天】企业信息管理软件开发

常见的两种类和类之间相互调用的方法。 16.1 用户权限信息在不同对话框之间共享 ①在CWokerApp类中定义变量&#xff1a; class CWorkerApp : public CWinApp { public:CWorkerApp();SAdmin m_admin;//登录信息 // 重写 public:virtual BOOL InitInstance(); // 实现DECLARE…

java微妙_编码Java时的10个微妙的最佳实践

java微妙这是10条最佳实践的列表&#xff0c;这些最佳实践比您的平均Josh Bloch有效Java规则要微妙得多。 尽管Josh Bloch的列表很容易学习&#xff0c;并且涉及日常情况&#xff0c;但此处的列表包含了涉及API / SPI设计的较不常见的情况&#xff0c;尽管这些情况可能会产生很…