我是一名九年级的学生,为了学习如何编写Java代码并加入编程团队,我加入了我们学校的机器人团队。但是,我真的很困惑!即使在第一节课之后,我也不知道老师在说什么。我不知道是否只有我,但我只是不明白其中的任何术语,或如何将它们放在一起形成代码。
我的老师平日总是很忙,所以我只有星期六和他说话。在那之前,我只是坐在Netbeans面前,不知道如何编写我们的第一个任务,即编写解决我选择的几何问题的Java代码。我真的想成为一名优秀的程序员,但我只是无法掌握Java。我的老师和很多网站都说,学习Java就像学习一门新语言,一个人必须练习才能学好它。
我学了HTML,这对我来说很容易,所以我有编程经验,但我就是不懂Java!在我看来,两者是完全不同的。
然而,如果我不知道世界上发生了什么,我该如何练习呢?另外,一个人必须是一个数学天才才能成为一个好的程序员吗?
发布于 2014-11-14 02:21:59
你确实需要练习。但是不同的人有不同的学习方式,并不是每个老师都是。
因此,学习如何学习是学校的一个关键部分。
我在谷歌上搜索了你的"基本java教程“。两个顶级链接对你很有用。
我建议您剪切和粘贴示例代码,例如"Hello,World“程序,看看它做什么和如何做,然后进行更改并查看它们所做的事情。
希望能在这方面花上很多时间。它是学习用一种新的语言表达你的思想。
编辑:要成为一名优秀的程序员,一个人必须是一个数学天才吗?
不是的。有许多不同的问题域,您将首先处理您所知道的问题。但是程序员们一直在学习新的技能,比如如何处理特定的数学问题,或者一些新的语言,或者一些新的思维方式。许多编程只涉及“如果A项是XYZ,则将其放在桶B中,但如果是UVW,则将其放在桶C中”。
但是数学与编程密切相关,因为它是一种精确的思考和解决问题的方法。在编程方面,你需要同样精确。电脑不知道你想要它做什么-它做的正是你告诉它做的。这既是喜悦,也是编程的痛苦。
数学的一个分支是非常重要的:逻辑。你会学到这个的!
发布于 2014-11-14 03:33:04
Java是我的第一种语言,我发现它非常困难。我不知道其中有多少是因为我是一个新程序员(我没有意识到我必须经历一个学习阶段才能开始我想要编写的程序);有多少是因为我遵循了正式的Sun教程(“为什么会继续下去”),以及其中有多少与Java不是一门伟大的第一语言这一事实有关(或者在我看来:它做了很多事情,但没有什么好处)。
当然,我可以让事情发生,但我不明白为什么,也不明白我在做什么。
我建议最早开始使用Python:*减少对“面向对象”的关注,但实际上,更好的方法是将面向对象的* dict、list和set作为内置类型而不是库类型。*更明智地使用异常(但请指定类型)*更多的功能风格,而不是命令式* REPL *不会隐藏IDE后面的内容( python有IDE,但是您应该只使用一些为程序员设计的文本编辑器,并显式保存和运行代码)
在编写了最初的几个程序之后,返回并编写所有这些程序,而不使用任何可变的全局变量(可能是新手使用得太多的最大事情,还可以询问更有经验的python程序员您缺少的东西)。
一旦您确信可以用Python编写任何中小型程序,请返回并用Java重写相同的程序。学习涉及到很多“去做同样的事情,但以不同的方式”。
这也是有利可图的,你会学到一点C。不要指望在里面写任何大的程序,但是你应该相信你没有错误的错误与malloc/free,strcpy,I/O相关。
此外,在一般情况下使用命令行以及特定的版本控制系统是非常有用的。不能使用版本控制的程序员对任何编程团队都是一个净损失。
我建议您的第一个版本控制是一些分散的版本控制,比如git或mercurial,这样您就不需要远程服务器了。作为一个新手,最重要的规则是“尽早提交,经常提交”。最终,您将更好地了解提交何时有用、何时修改或压缩(从许多小提交开始并在稍后将它们转换为更大的提交(如果您有理由这样做的话);您还将获得能够遵循“每个提交都必须工作,对于某种工作定义”规则的技能。
不要犯从IDE进行版本控制的错误。如果您必须使用IDE,请假装VCS-集成不存在,因为当有两个人在同一个项目上工作时,它将是最糟糕的,而当最微小的事情出错时,事情往往会“出错”。只需大量键入git status,并确保您了解为什么所有内容都是红色或绿色,然后找出消除红色的最佳方法(一些常见的方法:添加未跟踪的文件,添加对跟踪文件的更改(仅在git中),添加以忽略列表),并在提交之前运行git diff和git diff --cached。(阶段性和非阶段性变化的概念是git和大多数(全部?)其他DVCS,但我发现更明显的是,能够分别谈论“我很有信心会进入提交而不做太多更改”的更改,而不是“我仍在努力的更改”。但同样,作为一个新来者,经常提交)。
您可能会注意到,我没有显式地提到实际添加更改或提交的命令。这是因为知道如何从VCS获取信息要比输入信息重要得多。
您可能还会注意到,我没有在这里放置任何链接。这是一个深思熟虑的决定,学习谷歌,记住90%以上的一切(包括谷歌的头版)都是垃圾。
最后-恭喜你试着早点开始。如果你开始读大学时会编程,你就不会像大多数毕业生那样无望了。当然,如果你真的很好,并且知道如何交朋友,你就可以避免在大学上浪费时间和金钱。
https://softwareengineering.stackexchange.com/questions/262751
复制相似问题