2009-02-27 32 views
4

我已经安装了Eclipse和JDK,通过了“Hello World”教程,并通读了Eclipse文档(包括Eclipse本身和使用Eclipse开发Java)。我正在研究JUnit示例以更好地理解Java在运行时的工作方式。为具有坚实C++背景的人学习Java的最佳方式? (书籍等)

我在学习具有新模式的新计算机语言时会遇到困惑,我认为这部分是由于我对C++的经验。

关于良好的Java书籍/教程/等的任何建议。对于有C/C++背景的人?

回答

1

Head First Java似乎很受我与C++背景有关的人士的欢迎。如果你喜欢数学,那么在Project Euler上解决问题也可以很有趣,现在就用Python来完成。

3

Java的相当大。我不知道你用C++解决了哪些类型的问题,但我建议你沿着这些方向对Java进行分区:

Java SE是核心语言。它包含Swing UI类和JDBC,所以如果你使用C++来编写桌面应用程序,它会很好。

Java EE构建于Java SE之上。它具有许多“企业”功能,包括用于构建分布式,事务型,多用户应用程序的Java Server Pages,EJB,消息传递等。

如果你想编写桌面应用程序,我会建议集中在Swing和JDBC上。所有你需要的是JDK 6,也许你选择的关系数据库。

如果你想编写web应用程序,我会建议使用JSTL和JDBC编写的JSP与servlet/JSP引擎(如Tomcat)一起编写。

你可以用这些技术走很长的路。随着你变得更舒适,扩大你的圈子。

1

我一直发现Sun's Java Tutorial非常有帮助。您可以根据需要查看语言基础知识(或快速浏览简单的部分),但您可以轻松进入更高级的主题(带有Swing,并发性,容器等的GUI)。

1

最好的学习方法就是做到这一点。特别是如果您可以与强大的Java开发人员配对编程。这就是我所做的,现在我在Java中更好,发现很难回到C++

0

一旦你习惯了Java,我建议仔细阅读JLS。尽管它有类似的语法,但它可能有助于指出Java在哪些方面可以做不同的事情,但这可能会有所帮助。

1

是的,这些库很庞大,但不是潜入swing API中,因为纯粹的语言熟悉程度,您最好使用集合(java.util包)编写小块。我发现这些东西对于日常编码非常重要,它会让你熟悉泛型和创建对象的方式,这两者都与C++非常不同。

我总是发现Thinking in Java是一个很棒的文字,非常详细,写得很好。

1

为了得到Javaisms你应该阅读Effective Java 2nd Edition by Joshua Bloch

进行单元测试(及以上)的Pragmatic Programmers书都不错。

如果您了解C/C++,请看Thinking in Java by Bruce Eckel也是学习Java的好书。本书从某些方面来说很好,但在其他方面却不尽人意(他和我在异常处理方面并不一致),但如果您了解C++,那么首先总体来说是一本好书 - 只要确保您用一些不适用于C++程序员的Java书籍:-)

对于学习Java,核心语言与C++非常相似。早在1995年,我花了大约一天的时间来熟悉Java,三到五天了解它与C++不同的方式,以及大约一个月的时间来学习这些库。

自1995年以来,Java已经发生了很大的变化,虽然......所以有一天对于第一部分来说仍然是准确的。从语言角度看,取决于你想要拿起什么,说一周。图书馆......这可能需要几年(至少几个月),具体取决于你所关注的内容。

0

如果你想获得一个坚实的Java基础,我会建议从Java获得Java程序员认证。它会迫使你学习该语言的每个基本方面。我几年前做过,我认为这是值得的。如果我记得正确的话,你现在的雇主可能有计划来支付测试费用,这是几百美元。

6
  • 开始通过放弃蚀了一段时间,只是用文本编辑器和命令行JDK工具的工作,得到的Java程序是如何工作的,包类路径和compiler errors一个基本的了解。
  • 熟悉API docs。在java.lang中,java.util中,java.io和java.text中
  • Sun's Java Tutorials关键类开始是加深你的特定主题
  • Java Language Specification认识一个很好的出发点和Java Virtual Machine Specification可以是一个伟大帮助理解“底层”所发生的情况,这可能会让C++的人感到欣慰:-)。随着规格的推出,它们非常易读。
1

Core Java在整本书中都包含C++笔记,用于解释C++和Java之间的细微区别。

0

我特别同意这些建议:

获得Java程序员认证。这对于语言来说是一个很好的介绍,而不是昂贵的,真的让你对Java核心语言有很好的理解。它绝对有助于简历,例如与Java开发人员认证一起帮助我成为了我的第一份Java工作。查看JavaRanch以获取在线证书帮助。

阅读Bruce Eckel的Thinking In Java。它在线免费!好书。 Sun公司的Java教程。很有帮助。

仅供参考,请使用联机Sun Java Docs和Java Almanac(在Web上)。 Java年历是所有代码示例。

0

书很有趣,但在干中学。构建一个应用。

相关问题