学习Java以获得完整新手需要多长时间?

25 java java-me

我完全没有编程经验,但需要学习Java - 足以参加J2ME快速课程.我只有10周.我可以这样做吗?您对我可以使用的最佳资源有什么建议?(目前正在使用Sun的Java教程).

Pat*_*ald 53

10周?显然你可以在24小时内完成!

http://www.amazon.com/Sams-Teach-Yourself-Programming-Hours/dp/0672328445

编辑:

好吧,所以只有一个人发现我的回答很有趣,但没有足够的乐趣来赞成.真正的问题是你需要在10周内有多好?

如果你给自己写了一本好书(上面链接的那本书在亚马逊上有一些很好的评论),那么在10周内你可能已经足够熟练地用Java做一些有用的东西了,但是要成为专家需要数年时间.任何花费10周到几年的时间都会让你从初学者转向专家.

哦,并阅读十年教你自己编程.

  • 我今天所拥有的只有1和0.有时我们只有0. (22认同)
  • +1 24小时......豪华!当我年轻的时候,我们会在往返学校的路上创造新的语言.5英里到学校,7个回到上坡,双向上坡. (8认同)
  • 我们没有_allowed_来创建新语言 - 在我们走路上学的时候,我们不得不在头脑中编写原始机器代码.在腰深的雪中. (3认同)
  • +1的链接为"哦,并在十年内阅读自学编程".好文章. (2认同)

Rob*_*bin 28

好的,基于之前的一些答案,我希望能够为此付出代价,但是,我认为你是妄想认为你可以自己学习如何在没有编程背景的情况下在10周内用Java编程.任何人,与NO编程经验,不是某种神童等,是要学会在Java程序或在10周内几乎任何语言.

为清楚起见,从书中复制和运行hello world并不能使您成为程序员.地狱,它很可能需要几天时间才能在某些IDE中运行.

现在,你能学习并可能通过一些测试吗?也许,但这取决于测试的深度和格式.

如果我问我是否可以在10周内成为一名医生,我会因为询问而受到嘲笑,所以我对那些表明它有可能的答案感到有些惊讶.我现在可以在我的女儿身上贴一个绑带,但它几乎不能让我成为一名医疗专业人士,这只意味着我管理了他们的hello世界版本.

  • “他们的hello world版本”。喜欢这个。 (3认同)

Uri*_*Uri 24

主要的问题是你过去是否做过任何编程,因为这可能是主要的努力.我怀疑如果你没有,你可以过去但不一定做得好.您表明您没有任何编程经验,因此这是您将遇到大多数问题并花费大部分时间的地方.与其他类似语言相比,Java的学习速度不一定要快或慢.

Sun的Java教程很棒,但不幸的是,编程是必要的练习之一,这取决于你的空闲时间.也有必要经常停下来练习,而不是在读完半本书之后.如果你花了10个星期的全职时间 - 是的,这对某些人来说是相当可行.毕竟,大学生在一学年成为可以接受的开发人员,他们会参加其他不相关的课程.

我会专注于首先完全找出Java,而不是尝试使用J2ME.然后你可以进行切换.

另外,要意识到语言和标准库之间存在很大差异.重要的是学习语言.每个人都使用某些标准库调用,这对于学习至关重要,但它们不是语言的一部分.但是,你永远不会真正了解整个图书馆(虽然你会从中获益).更重要的是学习如何找到您正在寻找的功能,然后确切地知道它是什么或在哪里找到它.重要的是避免重新发明轮子.

另外,要意识到最后你可能只是一个可以接受的开发者.经验需要时间,往往无法加速.

此外,即使您学习编程,您也会错过一些关键的一般CS知识,如数据结构和算法.编程书籍很少教你,你必须自己学习(例如,参见TopCoder教程).

  • @Beska:我想猜测平均无动机的首发不会去StackOverflow问这个问题:) OP似乎有足够的动力来学习.他似乎也对J2ME更感兴趣,它确实消除了某些问题(同时增加了其他问题) (3认同)
  • @organiccat:我认为你高估了平均起步的程序员.我认为在这段时间内,有人自己工作会很难真正理解这些东西.理解你提到的"什么"是一个非常大的概念.对于编程世界来说,许多全新的人并不真正了解一种语言的可行性,根据我的经验,需要一段时间才能解决这个问题. (2认同)
  • 嗯...好吧,我的意思是平均动机的首发.你肯定是正确的,因为积极主动会有所帮助,而且他会提出好的问题并尝试做正确的事情,但鉴于时间相对较短,我认为这不够.当然,每个人都不同,所以我猜他可以把它拉下来,但我认为他是例外而不是规则.话虽如此,这不是一个失败的情况......无论怎样,他都会在某种程度上取得成功并在某种程度上失败......其中一些可能只会受到我们所谓的"成功"的影响. (2认同)

Bes*_*ska 16

好吧,这里有很多人说"是"和"是的,但是很难"所以我会有所不同.

没有.

问题不是在10周内"学习Java",因为我认为到10周后,你将能够编写一些东西,并知道如何解决一些简单的事情.

但这并不能让你为J2ME快速课程做好准备.快速通道课程往往适用于具有先决条件背景的人.您也许能够很多的事情,你会沿,但没有背景的理解,为什么你在做什么,它似乎像很多半随机的东西靠死记硬背记住,并且将可能很快就消失了.

基本上,我认为这需要时间:让课程沉沦的时间,实验时间和失败几次,以便为什么突然跳出来......

最终,我怀疑你可以通过它,但你不会最终变得非常娴熟.(Uri的帖子的最后两段说明了一切.)

我不想成为一个彻头彻尾的堕落者,我绝对希望你做得好并且成功......但我不愿意赌钱.

(理解,我不认识你来自亚当......所以我根据我对我的经历以及与我合作过的人的经历做出陈述......所以这对你来说并不轻微......只是观察到这是一顿非常大的餐,你准备吃.)

  • 你可以了解所有关于java的知识,但仍然不知道如何完美地使用每一位.许多人认为编程是关于语言的,我不这么认为. (4认同)

Sha*_*ilo 6

第一次学习编程有点像学习外语.您将能够轻松地重新创建您所教授的短语,但您将无法理解为什么以这种方式完成的语境,因此无法有效地解决新问题.这需要时间.

如果你是第一次编程,我真的不能推荐Java.Python会好得多(免责声明:Python粉丝,但有充分理由).

但是,我认为初学者不会比Head First Java做得更好