java初学者该从项目入手学起,还是先看书打好基础知识?
java初学者该从项目入手学起,还是先看书打好基础知识?我就以我的经历为例,来做简单的分享,希望对题主有所帮助。我个人是计算机专业背景,但是Java最初是自学的,在大学期间,学习了专业课C/C++之后,为了巩固所学的专业知识,尝试去考虑C语言、C++全国二级等级考虑,在考的同时,了解到计算机方向有Java二级的等级考试,我就尝试着去自学,并以考过二级为目标。
就这样,我开始抱着《二级Java语言程序设计》,开始自学Java,寒假时间比较充足,将书中的示例代码几乎从头敲到尾,敲一段程序,然后思考程序代码的具体逻辑,为什么这样实现,还有没有更好的实现方法……就这样,了解了Java的基础之后,开始做二级等级考试的试题,在网上买的,隐隐约约好像有8套题,做完题目,然后对答案,整理错题集,然后对易错的题目进行反复锻炼,该章节内容继续去啃书。慢慢的,感觉差不多了,就去报名参加考试,最后顺利通过了,完成了最初的目标,虽然二级等级考试的证书没啥用,但是在此过程中,对Java语言基础有了比较系统的认识。
到大三时,学院开设了J2EE的选修课,由于之前没有单独学过Java程序设计,该任课老师花了近六周的时间教授了Java基础,虽然讲的很细,但是课程的确太紧,学生学得也似懂非懂,而我在此过程中由于之前自学过,就很轻松的又熟悉了一遍,然后将听课的重点放在J2EE的13种规范,重点是JSP、Servlet等,顺便了解Session、Cookie、JDBC等基础Web能力,在课程结束,顺利完成课业设计。
大学毕业,找工作时,签订三方协议的公司,重点关注计算机素养和个人的自学能力,对Java方向的东西几乎没有问,重点问大学做了什么事情,有哪些收获,做了那些项目,对项目有怎样的思考,在面试之后,我顺利的拿到了offer,在这之前,还真心不知道公司的技术线是Java方向。对于公司而言,你反正白纸,要经过培训上岗,你之前是什么样就问题不大,重点是肯吃苦,肯用心,就这样,经过两个月的全栈培训,我们进入了团队研发。而我由于之前具备Java基础和J2EE编程,就重点做分布式架构做相关的技术调研和业务框架探索,一边跟着leader学习,一边去自己摸索新的技术,如spring cloud、Docker、premothous等。
工作了两年半之后,跳槽到现公司,在此过程中,一边做项目研发,一边学习新的知识,收获满满,跳槽时也拿到较为满意的offer。就我而言,我是先看书打好基础知识之后,才开始接触项目,做项目开发。而对于非在校情况,学习时间较为昂贵,推荐奖《Head First Java》看一边之后,去做项目,项目中遇到问题,再去找导师、找途径解决问题,巩固基础知识。边做项目边看书,在职业生涯中,自学能力不可废,尤其是程序员,必须具备学到老活到老的动力和能力。
作者:夕阳雨晴,欢迎关注我的头条号。偶尔美文,主流Java,为你讲述不一样的码农生活。
很高兴回答您的问题
java初学者 个人建议先从基础学起,毕竟项目的开发是依赖于技术的 ,当您学完javaSE,javaEE,java开元框架的时候 才可以理解项目开发中的点点滴滴。正所谓高武功先练基本功是一样的。个人建议先自学,学习最好不要买书,因为根本看不进去,最好的就是看网上的视频,先从基础学起在深入到项目。学习方法:个人总结的一点经验,就是学技术的时候要把每个技术点联想到现实这样能更好的理解他的用途以及原理。欢迎关注我的头条,赠送5天基础视频。
作为一名从业多年的老程序员,我来回答一下这个问题。
学习Java应该根据自己的知识结构来制定学习策略,对于没有编程基础的人来说,还是应该好好看书打好基础再配合实验,一步一步学习。因为Java语言本身还是有一定难度的,作为面向对象的语言,有很多抽象概念(类、继承、多态、序列化、多线程等)需要一个理解的过程,编程经验更是需要通过代码的实践来积累。
对于有编程经验的程序员来说,学习Java可以直接在实践中学习,其实大部分程序员在学习新技术时都是一边使用一边学习。一方面原因是编程语言之间有很多联系,如果之前做过C++开发,那么再学习Java就会非常快。另一方面原因是时间紧张,项目负责人不可能给程序员大块的时间来学习语言,往往是在学习一门新语言的同时还要完成固定的开发任务,这是一个非常现实的问题。
说到Java学习,我想起了一个非常有意思的事情。在早些年之前,一部分项目的开发是需要程序员有Java认证的,要想获得认证需要参加一个考试,这个考试的内容就是基本的Java概念,当时这个考试叫SCJP。
很多程序员都做了几年Java开发了,觉得这样一个基础考试应该是没有问题的,然后就直接报名考试了,结果成绩一出来不少人都没通过(考完马上就知道成绩)。这说明一个问题,就是程序员在学习编程语言的时候很多概念并不是很清晰,是典型的实用主义。其实,Java的基础部分还是有一定难度的,尤其是虚拟机部分,应该系统的学习一下。
我使用Java语言多年,也出版过Java编程书籍,我会陆续在头条上写一些关于Java编程的文章,感兴趣的朋友可以关注我的头条号,相信一定会有所收获。
如果有编程方面的问题,也可以咨询我。
谢谢!
如果你是JAVA初学者,一开始学习会面临很多非常困难的知识,所以很难一开始就从项目入手,而是需要循序渐进,一点点学习,下面北大青鸟南京中博可以为你举出一些学习JAVA的步骤和方法:
1.首先要知道学习JAVA有哪些方向,做桌面程序、做游戏、写服务端、android、嵌入式、大数据等方向;
2.了解学习内容:第一要学的,是基础!(要不断的学)其次,现在互联网每天都在不断前进。无论是网站还是app都需要有服务端才能运行的起来(单机的和静态网站还是不多的)。所以,不管你以后会不会从事java后台的工作,我觉得了解一下还是很有好处的。而且,一般的大学应该也会开javaweb这门课吧。
3.学习途径:我把Java 的学习过程分为4个阶段:理论阶段、开发阶段、进阶阶段以及实战阶段。可以通过完成一些算法题目,来巩固Java语法学习的成果;好记性不如烂笔头:多做笔记,勤练习;作为一名程序员,遇到未知问题是很正常的事情,关键利用好google,社区、论坛;最后,通过大量的项目实战训练,才能够使自己成为比较优秀的程序员。
当然,如果是0基础的话,也可以选择一些比较靠谱的培训机构进行系统学习,如果你还有与java相关的问题,可以私信北大青鸟中博学院~
今年30岁,开始自学java,大概多长时间能出去找工作?会有公司要吗?
只有你努力 坚持 坚持 就们没有问题。我本人33岁转Java开发从hello world开始 。10年过去已经是加拿大一家公司CTO 但天天仍然写代码。为了第一份开发工作 把整本英文版java core,设计模式,算法 oracle oca 全部背下来 手机里也装了 没事就背诵 理解 。不理解的立马上机写代码。天天白板手写算法。没有工作就到处求人免费帮人做系统。激情燃烧的岁月。所谓岁数精力不够我个人觉得是伪命题。一个奔五的程序员仍然感觉比公司90后精力还充沛,算下来总结一下比起年轻人 最大优势就是学习能力和解决问题能力强。真心感觉成功人在于99%努力和120%的坚持。
作为一名从业多年的程序员,也出版过Java编程书籍,所以我来回答一下这个问题。
Java语言经过多年的发展已经建立了一个庞大的生态体系,在Web开发、大数据开发、Android开发等领域都有广泛的应用,而且Java语言凭借稳定的性能表现和较强的扩展能力也是不少大型互联网平台的重要选择,所以当前学习Java是不错的选择。30岁开始学习Java虽然不算早,但也不算太晚,还是具备一定岗位竞争力的。
由于Java语言有不同的应用方向,不同的方向需要具备的知识结构也并不相同,所以相应的学习时间也有一定的区别。对于自学者来说,以Web方向来制定学习计划是比较现实的,一方面Web开发容易学习,另一方面Web开发的相关岗位也比较多。
Web开发通常需要学习三部分内容,第一部分是Java的基础语法部分,这部分内容是学习的重点,涉及到大量的抽象概念,这部分学习时间通常在2到4周左右。第二部分是Web开发基础,这部分内容涉及到后端开发(数据库开发等),同时也涉及到一部分前端开发内容(Html、CSS和JavaScript),虽然前端开发不算重点,但是也需要有一个系统的了解,这部分学习时间通常需要4周左右。第三部分是开发框架的学习,目前比较流行的开发框架是Spring系列,包括Spring Boot、SpringMVC、SpringCloud等,这部分的学习时间大概也在4周左右。总的来说,如果顺利的话,大部分自学者在3个月左右能够完成Web开发的学习。
在完成Java基础部分学习之后,如果想从事开发工作,最好先进行一段时间的项目实习,通过实习一方面可以积累大量的开发经验,另一方面也不会有太大的工作压力,不少程序员都有过实习的经历。
我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。
如果有互联网方面的问题,或者考研方面的问题,都可以咨询我,谢谢!
我做了十年的java给你提点建议,想学好任何一门编程语言牵扯到的知识体系是相当庞大的,如果你之前对操作系统、数据结构和基本的算法完全没有基础,学习编程是比较困难的。
java入门会比C简单一点,因为不涉及到操作系统层面,不用关心底层的知识,跟硬件也无关,但这样学完一个基础可以说是什么都写不出来,即使能写也是写出来和毕业生差不多的代码,可能还不如,代码质量跟你的计算机知识体系和经验挂钩。如果日后想往技术深度方向发展,就必须学习底层的东西,否则永远都是拧螺丝的层面,做个几年到了瓶颈又得转行,到时候估计也转不动了。说到这里你可能会说不往技术方向发展往管理方向发展?我告诉你技术方面的管理对管理者的技术要求更高,达到一定技术深度是最基本的要求。
不要相信培训机构的速成,多数好一点的大学毕业生都不会选择去培训,培训只是教个基础,工作才是真正实践的东西,从去年开始互联网寒冬之后,现在java岗的招聘要求是越来越高了,先不说你有大批毕业生和你竞争,30以上找开发岗位是有一定难度的,除非你技术特别牛逼,否则企业宁愿要毕业生,因为成本低精力还旺盛,30岁在精力方面比不过毕业生的,还有学历也是一道门槛,现在互联网公司基本本科起步,好一点的需要985和211,必须是第一学历,不知道你学历上有没有优势。
如果你决定选择这条路那就必须辛苦沉淀几年好好学习并研究下深层的东西才有可能站稳脚跟,如果你不反感外包公司当我没说,想学东西的就往互联网公司发展,技术时刻在变,革新太快,今年用的东西明年可能就被淘汰,保持不断的学习才能站稳,希望你选择之前慎重考虑。
首先、如果没有特别强的爱好,不建议。从零开始的话还是需要一点时间的,编程是个体力活,从0到能独立开发一个项目大概需要半年的专业学习,期间还要学习数据库、网络编程等基础知识
真的去找工作的话,现在公司的招人面试的基本知识也要具备,没有对算法,计算机网络,操作系统的了解是不行的,这些知识的了解也要1个月,尤其是一些基本算法,这部分知识的学习是没底线的,如果就算能通过面试的学习,大概需要1个月的刷题
所以从现在开始到能找到工作要每天保持5个小时的学习时间,大概8个月可以找到一份工作
但是你要和公司24、25的年轻人竞争,要提现出一个30岁的资深程序员品质,没有2年的历练是不可能的,所以30岁之后0基础出道是几乎不可能的,但如果是相关专业转行的话,还是有一定希望的
不建议,别相信鸡汤。除非你自己有兴趣钻研着玩,或者有益于你主业的发展,又或者你天赋极高,否则28岁就很难有面试机会了,更别说30。你跟培训机构出来的刚毕业的本科生相比,没有任何竞争优势,而他们的培训周期也就几个月,所以初级人才产量大,市场需求小。我自认为智商还行,天赋也不错,结果28岁转行失败。
请问有没有那种在线的Python练习题库?
推荐一个在线编程网站,HackerRank,看名字就知道很牛,Hacker排行榜。其实里面有很多针对初学者的编程练习题。
1,注册账号,登录,选择要学习的编程语言
2,选择题目
3,编写代码,测试,提交
网站功能还有成绩查询、排名、竞赛等。
我是工作多年的Web应用架构师,欢迎关注我,了解更多IT专业知识。