学完C++后学习Java的最佳方法是什么?

9

我已经使用C++近6-7年了,认为自己很擅长。直到现在,我从未用过Java,但我目前失业(公司破产),需要扩展技能。有人推荐学习Java,所以我想知道对于像我这样的人应该从哪里开始学习。我也想知道Java的关键方面在面试中最有可能被问到。


C#现在也非常热门。可能比Java(相当容易)更容易过渡。 - oz10
7个回答

6

当我们谈论Java时,我想到了一些受欢迎的领域。

  • OOP概念:我相信这与C ++不会有太大区别: 类,抽象类,接口, 多态性,覆盖, 重载,继承,静态成员,... 接口可能是 你想要关注的领域。 因为这在C ++中不直接可用, 我不知道。
  • 核心Java:例如基本语法和常见类,如Math,String,System.out, Scanner,Basic文件I / O,Stream。 了解垃圾回收的概念 引用类型(因为这里没有指针)。 了解Java平台/技术, J2SE,J2EE。使用Swing进行基本GUI及其布局管理器。用Servlet / JSP制作Web应用程序。
  • 流行的工具,框架和库:这可能不像上面的重要。但是 也许您应该知道Eclipse, Netbeans,Spring,Struts,Hibernate, EJB,Ant,JUnit,JavaDoc的用途。

您可以随时在Google中搜索“ C ++到Java”。我相信会有很多好的起点。下次编写Java代码时不要忘记在变量名称前面加* :)


3
我建议你全面阅读《Effective Java》这本书。不仅可以学习很多好的编程实践,还可以更深入地了解Java。强烈推荐。 :-)
举个简单的例子,在Java中,你可以使用EnumSet来代替手动滚动位字段(在Java中这样做相当麻烦,而且有很好的理由)。这在第32项中有详细说明。
顺便说一下,如果你不介意阅读PDF(没有DRM),它比纸质版便宜:http://www.informit.com/title/0132345285

2
有很多深入的Java书籍可以教你学习Java和最佳编程实践。如果只对语法和类层次结构的介绍感兴趣,《24小时Java》是相当不错的选择。从那里开始,你就知道足够的东西去自主探索更多。我强烈建议想一个小项目帮助你学习。事实上,想象一个微小的项目-它将比你想象的要大得多! 也许是一个简单的射击游戏或《达莱克》、《小行星》之类的游戏。主要是: 对于一个高级程序员来说,不要试图从书本上学习Java。你可以通过一本书来介绍Java,但之后你必须自己学习(或向他人学习)。这就像学开车一样--你可以从书本上学到基础知识,但你需要探索和尝试,有了知道如何做的人会非常有帮助。
以下是一些有用的提示:
- 下载并收藏HTML Java文档。你会经常参考它们。 - 拥有一个小项目,一个估计需要几天时间编写的简单游戏或实用程序。花几个星期时间来编写它 ;) - 注意,“Java”有3个含义:
- Java编程语言。像C++、Lisp或Perl一样。 - Java类层次结构。像STL或Cocoa。 - Java运行时虚拟机,JVM。
人们用“Java”这个词来表示这三个含义,并且在它们之间不加区分地切换,因此当你开始和别人谈论Java时,请注意这一点。
祝你好运!(当你的游戏可以使用时,请告知我们 :)

1

1
C++转Java的最大问题在于它们非常相似,你会发现自己在一段时间内仍然使用C++的习惯。但这并不是什么大问题:建议你阅读Josh Bloch的书籍,并完成java.sun.com上的教程,你会做得很好的。

1

在我看来,Java有三个方面与C++不同:

  1. 自动内存管理
  2. 简化的语法(没有预处理器)
  3. Java标准库

作为一名曾经的C++程序员,前两个应该不是问题。(事实上,我敢打赌它们会让你感到相当清新。)为了熟悉这些库,我建议阅读Bruce Eckel的《Java编程思想》——第3版可以免费下载。虽然开始的章节可能有点基础,但关于GUI编程、并发和各种容器类的部分将非常有帮助。

除此之外,学习任何语言的最佳方法就是阅读优秀的代码。


1

我开始阅读Java语言规范,当时是第二版(2001年)。 在我看来,作为规范而言,它相当易读。

《Effective Java》提供了很好的建议。

《Java Puzzlers》则适合学习边角案例和可能出现的陷阱。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接