lbc307
V2EX  ›  Java

新手,我在自学编程当中遇到的一些问题。

  •  
  •   lbc307 · Apr 29, 2017 via iPhone · 9075 views
    This topic created in 3482 days ago, the information mentioned may be changed or developed.
    本人学历是高中毕业,在外面有过几年工作经验,现在准备系统性的学习编程。第一个问题就是:学 JAVA 学了大概有 5-6 个月左右了,每天 6 个小时左右的学习,理解了一些基础的东西,但是我学习的过程中也只是反复地对着视频中的代码去敲,自己不会独立的去写,如果要自己独立能够完成一个小小的项目,需要具备哪些 JAVA 知识?感觉越学越迷茫不知道该怎么办。第二个问题,我知道英语很重要,我英语也不好,想要学习计算机方面的英语,如何开始,有什么好的意见?第三个问题:我看了一下网上说要系统性的学习的话,要学习计算机组成原理、数据结构、算法、计算机网络,那么这么多的知识哪些是最重要的,哪些是暂时不那么重要的?那些应该优先去学习去多花时间,哪些只需要稍微了解一下就可以了?希望看在我诚心诚意求救的份上能有大神赐教,谢谢
    60 replies  •  2019-11-05 12:31:49 +08:00
    lbc307
    lbc307
    OP
    Apr 29, 2017 via iPhone
    1
    目前学习 JAVA 就是自己不能根据自己的理解去独立地写代码,总是觉得还有很多不足,对着视频里面的学习,总觉得代码懂了,但是自己想写一些什么东西还是写不出来,很苍白无力,最大的希望就是自己能独立写出来一个小软件,这样会有很大的收获,但是目前就跟无头苍蝇一样,无从下手。
    MealPlanSilver
    MealPlanSilver
    Apr 29, 2017❤️2
    2
    我学 java 的时候就是把 core java 第一本看了看,第二本按需查,然后把官方的 tutorial 读了读。基本上够用了。
    补基础的话可以先读 csapp,基本能有个感觉。数据结构算法可以读 Sedgewick 的算法第四版。这两本是你避不开的。
    网络的话可以看自顶向下方法。有需求再读。
    HFcbyqP0iVO5KM05
    HFcbyqP0iVO5KM05
    Apr 29, 2017 via Android❤️1
    3
    想象自己在玩一个游戏,里面有很多成就,你可以按自己的兴趣一个个来做
    yang2yang
    yang2yang
    Apr 29, 2017
    4
    为什么我感觉报个班最快?。。。最好是我的错觉。。
    lbc307
    lbc307
    OP
    Apr 29, 2017 via iPhone
    5
    @yang2yang 先自己学一下,到时候再看情况决定要不要报班
    lbc307
    lbc307
    OP
    Apr 29, 2017 via iPhone
    6
    @MealPlanSilver 谢谢,很有用的回答
    ke1e
    ke1e
    Apr 29, 2017 via Android
    7
    just do it.想做什么就去做,你就会知道你需要学什么了
    lbc307
    lbc307
    OP
    Apr 29, 2017 via iPhone
    8
    @gulu 主要还是希望能指点一些学习心得,我现在的情况就是依葫芦画瓢,对着视频,视频上面讲什么我就对着打一遍,还是感觉很迷茫……
    lbc307
    lbc307
    OP
    Apr 29, 2017 via iPhone
    9
    @ke1e 谢谢
    HFcbyqP0iVO5KM05
    HFcbyqP0iVO5KM05
    Apr 29, 2017 via Android
    10
    @lbc307 我也是新手,肯定谈不上指点了,因为我自己最近也有这方面的疑惑,我就是这么开导自己的。

    楼主可以试试自己做一些项目呢?然后再按需学习。
    gamexg
    gamexg
    Apr 29, 2017
    11
    学习就是这样,
    我一般学习新语言就是把手册看一遍,写一下例子,之后就是直接自己写个项目,碰到问题再学习。

    项目可以随便想个,不经过实战光看手册是学不会的。
    duan602728596
    duan602728596
    Apr 29, 2017 via iPhone
    12
    没需求,有个需求就好了
    dabney777
    dabney777
    Apr 29, 2017
    13
    因为你没项目,你要给你的需求想一个架构,但是项目不会凭空来的
    先找个实习试试?
    lbc307
    lbc307
    OP
    Apr 29, 2017 via iPhone
    14
    @duan602728596 这个说的很对,没需求,要有个需求,刚开始的新手订个什么需求比较好呢
    lbc307
    lbc307
    OP
    Apr 29, 2017 via iPhone
    15
    @gulu 好的,这样可以,谢谢,一起进步
    kokutou
    kokutou
    Apr 29, 2017 via Android
    16
    先换个 ide,比如 intellij idea,好处是代码提示 /调试功能非常爽。
    这样你不用记那些方法,打个.就全出来了。

    然后是面向对象的思想,这个意思其实就是所有的东西都能打.

    然后就是面向 Google/stackoverflow 编程,比如写个模拟 web 登录查课表的工具,写个打砖块小游戏,写个游戏的数据文件解包工具等等。

    开始写感兴趣的小工具吧。
    就算是批量重命名也算个小工具啊。

    等你电脑里到处都是打包成.jar 的小工具后,搞些大项目写写。
    kokutou
    kokutou
    Apr 29, 2017 via Android
    17
    intellij idea 的 debug,你在字串上打断点,就能看到 str 在内存里怎么存的,字串最后有个 \0,List 里面有哪些东西,为什么这样做和那样做结果不一样,打断点看看相关变量,for 循环 while 循环跑的顺序,等等,这对学习一些基础是很有帮助的。
    duan602728596
    duan602728596
    Apr 29, 2017 via iPhone
    18
    @lbc307 最好贴近自己的生活。比如我吧,我就是追国内某女团,为了能够搞到直播的视频用来剪 cut,我就用 python 写爬虫然后抓视频流,后来为了让非程序员也能用,就搞了爬虫+gui 界面+ffmpeg。虽然说技术难度不高,但是有人用,有需求,这就是项目。你也可以这样,找到生活中可以用代码解决的问题,然后写一个小项目。而且不是说项目就是代码多复杂,解决问题优先
    orange2016
    orange2016
    Apr 29, 2017
    19
    建议楼主先自学一段时间,先看适不适合学 Java,然后如果自已自律性不够好,还是建议报班学吧。。。兴趣是最好的老师!
    iot
    iot
    Apr 29, 2017❤️1
    20
    计算机网络要先学,因为这个有意思、好学、能很快用到,其次是数据结构与算法,也是最重要的一个,操作系统和数据库可以最后学,计算机组成可以不学。

    英语不好的话,看到一个单词就要掌握一个,我英语很好,当初第一次看 delphi 英文文档,也是啥也看不懂,看个几年就几乎不用翻译工具了,重在积累。

    遇到不懂的百度或者通过 wikipedia 的相关知识,逐步形成知识体系。我当初刚学时候电脑都没有,全靠把这些知识下载到 mp4 里,每天有空就看,充分利用碎片时间。

    熟能生巧,重复是知识之母,没有基础的时候多看文字性的,增强感性认识,我也是自学计算机的。
    Mutoo
    Mutoo
    Apr 29, 2017
    21
    看视频学编程 -_-#,你能在屏幕上演算推导吗. 还是看书实在一点。
    lbc307
    lbc307
    OP
    Apr 29, 2017 via iPhone
    22
    @iot 谢谢,您说的很有用
    yanjinbin
    yanjinbin
    Apr 29, 2017
    23
    如果你学习能力不强 要么报班 虽然坑爹 但是好过你自学

    除非你改进自学方法

    java 学习 集合框架 IO 多线程 泛型 反射 xml 就可以了

    然后用框架写代码
    IDE 当然用 idea

    关键在于你的学习方法 有没有效果

    算法和数据结构 推荐 《算法 4 》
    hjwasai
    hjwasai
    Apr 30, 2017 via Android
    24
    发现我和的情况差不多呀,虽然早就在学了,但由于时间的原因学学放放的,最近正在系统的自学 java,准备到后面看看要不要报班
    Mitt
    Mitt
    Apr 30, 2017
    25
    学习需要一个目标,可以自己给自己定个小项目做,即便是网上已经有大把大把的源码的东西,就像我学 PHP 一样,就是先设定了一个要做网站的目标,比如个人博客,论坛,等等,然后再冲着这些去学习相关的东西,然后慢慢不满足现有的简单网站想增添更多东西,学的东西也就更多了,慢慢扩展下去基本就可以开始上其他项目了,系统性学习如果太迷茫是学不进去的,很容易放弃,计算机这东西自学的人占大多数的原因就是因为兴趣驱使的,一开始就有目标才去学的。

    Ps: 仅供参考, 本人不会 JAVA
    Cryse
    Cryse
    Apr 30, 2017
    26
    @kokutou Java 字符串并不以\0 结尾,除非你自己赋值
    msg7086
    msg7086
    Apr 30, 2017
    27
    我们小时候学编程是从简单的数据结构和简单的算法开始学起的。
    Antidictator
    Antidictator
    Apr 30, 2017 via Android
    28
    @Cryse 我擦,是这样吗
    kokutou
    kokutou
    Apr 30, 2017
    29
    @Cryse #26 好吧。。和 c 搞混了。。。
    qwerzjy
    qwerzjy
    Apr 30, 2017
    31
    感觉就是苦读苦练
    fhefh
    fhefh
    Apr 30, 2017
    32
    看培训机构的视频 然后照着敲(写)一遍 一定要写 一定要写

    如果自制能力不好 可以去线下培训班去

    这样就会为了花了几万块的学费而好好学习(毕业那会儿 我好多同学都这样)

    楼主 你写多了 就知道了 现在不要想这么多 你就只管看着视频照着敲

    等你真有某个时候要用到了 你就会想到这个代码我写过额 可以拿过来改改在用
    tlday
    tlday
    Apr 30, 2017 via Android
    33
    坦白讲,追求速成的话,github 上找一个 star 高的 Java 项目,clone 下来,尝试修改它,给它加功能。代码里面哪里不懂搜哪里。如果按你所说,系统性学习的话,按照楼上推荐的书按部就班也不错。
    darrenliuwei
    darrenliuwei
    Apr 30, 2017
    34
    我和楼主有过一点类似经历,不过我是自学 PHP 和 Python,自学了很久,比楼主还要久很多很多,也是自学中感到很迷茫,看到楼主的帖子,让我想起了当初的自己,那时候我也是照着视频学,感觉都学会了,可是什么都不会写,最后还是选择了报班学习,现在五个月快结束了,感觉进步了很多,有时候也会后悔当初为什么不早一点报班,其实报班和照着视频学都差不多的内容,只不过报班可以让你学的更快一点,更贴近未来的工作,因为培训机构也希望自己的学员能找到一份好的工作,所以培训机构拼命的想办法让学员找到一份工资很高的工作,因为学员毕业工资越高,对培训机构的宣传就越好,总的来说,参加线下培训班还是挺不错的,当然,这只是我个人观点,而且我也只对自己就读的这个培训机构比较了解
    darrenliuwei
    darrenliuwei
    Apr 30, 2017
    35
    我也是高中毕业,也是在外面有过几年的工作经验,现在马上就要开启新的人生了,正式成为程序员,很期待也很激动,一起加油吧!
    snsd
    snsd
    Apr 30, 2017 via iPhone
    36
    @duan602728596 你说这团不会是某 48 吧?(#手动滑稽)
    qignfengxulai
    qignfengxulai
    Apr 30, 2017
    37
    初学者最好跟着学习路线图学习: http://edu.51cto.com/roadmap/view/id-86.html
    im67
    im67
    Apr 30, 2017
    38
    这软广我服…………
    ai0by
    ai0by
    Apr 30, 2017 via iPhone
    39
    我觉得可以试试做题,然后从小项目开始做起
    zyEros
    zyEros
    Apr 30, 2017 via iPhone
    40
    只看没用,请敲起来直到你开始可以脑子一过就知道怎么写为止
    jh623
    jh623
    Apr 30, 2017 via Android
    41
    别报班,别报班,当然你钱多可以报班。我也是零基础自学的,找培训班流出的视频学的,然后两个月左右把他们半年多的视频学完了,不说学的多好,起码跟他们培训班毕业的没差距。一个主动,一个被动,积极性不一样。当然要是自学没积极性说明不适合这行。
    NonClockworkChen
    NonClockworkChen
    Apr 30, 2017
    42
    哪怕是口碑比较好的传智播客, 经典视频教程里的老师,和实际给你上课的老师的水平,真的也差很远.....
    peneazy
    peneazy
    Apr 30, 2017 via Android
    43
    最好是自学,起步可能慢,要过很多坑,但到后期,你会发现自己的学习速度越来越快。我这个月学 java 只用了 4 个晚上,掌握到面向对象抽象类,接口类继承,多
    peneazy
    peneazy
    Apr 30, 2017 via Android
    44
    态那一块,我学 java 完全是为了看算法 4。
    duan602728596
    duan602728596
    May 1, 2017 via iPhone
    45
    @snsd 对,就那个,为了抓直播和录播,自己写工具,顺便造福一下社会(滑稽)
    snsd
    snsd
    May 1, 2017 via iPhone
    46
    @duan602728596 直播是不是以 m3u8 或者 flv 的形式出现的?
    duan602728596
    duan602728596
    May 1, 2017 via iPhone
    47
    @snsd 对,b 站是 flv,官方自己是 m3u8,app 是 flv
    snsd
    snsd
    May 1, 2017 via iPhone
    48
    @duan602728596 想不到这中国山寨翻唱团居然能把你搞得五迷三道,神魂颠倒的(#手动斜眼)
    shmilypeter
    shmilypeter
    May 1, 2017
    49
    一点一点的加需求。
    比如,最简单的,先查一个单表。
    查了单表之后,实现一个分页,在分页的基础上,实现一个下拉框,可以选择每一页显示 10 条还是 20 条还是 50 条记录。
    实现查询之后,试试做一个登录注册。
    登录注册又是一门学问,首先注册的时候要用正则表达式验证邮箱吧,要用 ajax 验证这个用户名是否用过吧,要用验证码吧(建议自己用图形库画一个验证码),如果涉及到手机验证,要学会怎样用短信接口吧。

    实现查询登录注册之后,是不是得做不同权限的账号,比如管理员账号能修改删除,其他普通账号不能增删改,管理员账号能看到所有用户的表,其他账号看不到。这个不同权限该怎么实现呢?
    onice
    onice
    May 1, 2017
    50
    回答这个问题之前我得先说下我不是大牛。我想你可能和我大一的时候差不多,大一的时候我也是学了一些编程基础,和你有一样的渴望。希望自己能做点东西。
    然而那个时候只学了基础,也做不出来什么东西。例如 Java 这块,面向对象,集合类,IO 流这些你都学会了,但你不会 servlet,你依然做不出来一个网站。
    所以,我觉得首先应该给自己订一个目标,我想要做什么。然后再去分解,要做这个需要哪些知识。然后按照这个去学。
    如果不知道从何下手和如何分解,去找一找项目实战的视屏,跟着视屏做一遍。做一遍后就能触类旁通了。一个最简单的例子是:当时我跟着视屏做了一个电商的后台管理,然后我就用学到的技术弄了个博客的后台管理。
    duan602728596
    duan602728596
    May 1, 2017 via iPhone
    51
    @snsd 要不然没意思啊,wow 肝不动了,大菠萝不更新
    lbc307
    lbc307
    OP
    May 1, 2017 via iPhone
    52
    @onice 谢谢,您的回答,对我帮助很大。
    snsd
    snsd
    May 16, 2017 via iPhone
    53
    @duan602728596 能不能给个联系方式,求帮忙
    duan602728596
    duan602728596
    May 16, 2017 via iPhone
    54
    @snsd 602 那个就是我 QQ 啊
    superXiong
    superXiong
    May 24, 2017
    55
    @peneazy 大神,你自学时看哪本书?
    peneazy
    peneazy
    May 24, 2017
    56
    @superXiong CSS 权威指南 精通 CSS DOM 编程艺术 JS 高程 3 锋利的 jQuery 这几本是刚开始用的,后面还有好多的
    storypanda
    storypanda
    Jan 3, 2019 via Android
    57
    @MealPlanSilver 可以交流一下书籍 core Java 吗?
    MagicBoy
    MagicBoy
    Nov 5, 2019
    58
    @MealPlanSilver 大佬你好,请问 core java 是 Java 核心技术吗?看第几版卷 1 还是卷 2 ?
    MagicBoy
    MagicBoy
    Nov 5, 2019
    59
    @kokutou intellij idea 的代码提示是差不多自动补全吧?调试功能是哪里好?
    MagicBoy
    MagicBoy
    Nov 5, 2019
    60
    @orange2016 楼主学 5-6 个月了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3697 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 80ms · UTC 09:47 · PVG 17:47 · LAX 01:47 · JFK 04:47
    ♥ Do have faith in what you're doing.