自学 Java 怎么入门?

article/2025/8/22 10:50:19

自学会碰到的问题

自学可以省不少的钱, 可是自学会碰到很多问题。 我再自学的过程中找到了一个Java自学的网站(Java全栈工程师 | 以实例驱动学习 | how2j.cn),试图解决一些自学中会碰到的问题。

1. 框架、思路、原理 一下子涌进来太多,弄不明白

不管是刚开始学习Java,或是去学习新知识,大家第一反应都会去百度,拿到资料去学。 但是Baidu来的学习资料有一个很明显的缺点,即从开头开始就站在很高的角度讲思路,框架原理,曲高和寡,。 很明显,对于小白来说,刚刚开始学习和了解编程,还没有多少实践,是很难领会这些高深的思路、原理和框架的,这不仅仅对快速上手没有帮助,同时还给初学者形成了一种暗示和心里压力:这个东西非常难学,在无形中反而加大了学习的难度。

个人偏爱的学习方式是,不要说太多原理,先让我跑出结果。 只要跑出结果了,我非常自然的就可以慢慢领悟,之后自己再细细浏览每一行代码,同时仔细琢磨含义,这样肯定能慢慢消化并理解每行代码的含义,对整体也有了认识。

推己及人,所以我在做Java教程的时候,也是采用这种方式,在每个知识点的讲解,都是一来就给出了可以运行的代码,并且提供便捷的复制手段,这样大家一上手就是跑一个可以看到效果的代码:

代码跑起来了,看到效果了,才会有兴趣往下学嘛

 

2. 自己写不知道错误在哪里

经过上一步跑起来了,真的可以看到效果呢,可是代码是复制粘贴来的,那可不行,得自己敲出来才行。 这个想法当然是好的,所以就开始一个个关键字,一行行的敲代码起来。

可是因为初学者不熟练,也许是某一个字母出错,或者少写了一个分号,程序就跑不起来,而且这种细微的差别,很有可能找上大半天去了。 为了提高这部分的学习效率,在教程每个代码右边都提供了代码比较功能

如图所示,通过高亮提醒,很容易就可以定位到错误的位置是哪里,减少差错时间,提高学习效率。

 

3. 运行某个代码,需要第三方jar包,手里却没有,怎么办

Java代码运行有个特点,常常需要用到第三方类,而这些类都放在.jar这种格式的文件里。如果这些jar包,让初学者自己去找, 一个是不知道在哪里下载,再一个同样的jar包会有各种不同的版本,有些版本与当前代码是不兼容的,所以这里也是容易掉进坑里,花很多很多时间才会找到对的那个jar包。

所以在需要用到jar包的地方,都直接在教程相关下载区域提供了当前代码正在使用的jar包,点击即可下载使用,方便快捷~

不仅如此,还提供了指导,如何把这个jar包导入到项目中,以便正确地使用它

 

 

4. 这个知识点涉及的部分真多,有个思路图,原理图捋一下就好多了

现在好了,照着教程自己做了一边,做出来了,效果也看到了,那么就有了感性的认识。 不仅做出来了,心中还产生了更多问题,这个时候,就处于一个饥渴的状态了。 那么此时此刻,开始讲原理图,思路图,就能够听得懂了,并且通过思路图也能把刚才所学整理,总结,更好的消化吸收。

5. 光是图文我还是看不懂,想看看视频怎么讲的

有部分的知识点还是挺复杂的,比如算法,hashcode 原理什么的。 光是看图文和代码,还是有些稀里糊涂的。

虽然有些稀里糊涂,但是经过自己敲过一遍,是带着针对性问题的稀里糊涂。 那么这个时候,带着问题来看视频讲解,效果就会非常好了。

 

 

这里提供的视频,都是解读性视频,是建立在已经动手做过了,带着疑问再来看的视频。那么比起看着敲代码风格的视频,学习效率就会提高很多啦

6. 虽然也写出来了,但是个别细节还是有疑问,该问谁呢

在每个知识点下面,都有一个提问区域,里面有和你学习同样知识点的同学的疑问,或许你可以在别人提问的答案里找到自己需要的,也可以通过看别人的提问,启发自己做扩展性的思考。

7. 需要练习巩固理解帮助消化

知识点掌握了,但是好像就是抄教程上的代码,最好给我个小挑战,基于这个知识点做点什么练习,能够自己把这个知识点运用起来,就能更好的理解和消化了。 为此,挺用心地设计了194个Java 练习,几乎每个Java课程的知识点下面都有练习题

 

对这194个Java 练习有一个详细的介绍,如果有兴趣,请移步:
Java全栈工程师 | java基础
 

8. Java 框架代码怎么都跑不成功

学习Java是绕不开框架的,可是框架要成功地运行起来是有比较苛刻的条件的,比如特定版本的jar包,严格的配置,必须提供的实体类,控制类,服务类,框架之间不同版本的兼容性等等,任何一步除了差错都会出问题。而无法运行起来,是很难有信心和兴趣学下去的。

所以为了便于同学们学习框架,在每个框架知识点的学习部分,都有当前知识点的 可运行项目 (什么都配置好了,需要的jar包都准备好了的)提供,确保可以跑起来。

 

不仅如此,还引导以先运行,看到效果,再学习的风格用由终至始的方式,降低框架学习的难度。

 

 

9. 记录下心得体会

终于把要运行的代码跑起来了,该理解的思路图也掌握了,此时此刻能够自己总结一下就最好了。如果写在自己电脑上,零零散散的,也容易遗失,所以在页面上也提供了当前知识点的笔记功能

把这时的想法,思路,研究都记录下来,等全部学完了,再回过头来巩固和理解,学习效果就会很好,知识点掌握得也牢固

 

10. 实践项目

陆陆续续把各种JAVA,前端,服务端,框架的知识都掌握了,练习都做了,但是没有串起来,心里面也比较心虚,真正做项目的话,不知道该如何下手。 这个时候,就需要各种项目来练手了。

截至目前提供了4个实践项目练手

一:JAVA 桌面项目,虽然SWING桌面应用在工作里用的并不广泛,不过刚刚把JAVA基础学完,也没有其他好的视图展示方式(此时还没有开始学习HTML,JSP)。 好在SWING也不复杂,还是可以通过这个项目把JAVA基础里的各个知识点好好串一串的。

 

二: 前端项目。 现在前端有很多现成的框架,很容易就可以做出漂亮的界面。可是要对这些漂亮的界面做点修改,那就需要有较好的前端基础功底了。 这个项目呢,就是用纯HTML, CSS 和 JS做一个模仿天猫官网的页面,讲得比较细,对每个页面的布局,以及每个样式的讲解都有细致的说明。 比较适合又对前端比较感兴趣的同学,夯实前端的基础。


11. 刷一刷面试题

该学的知识点都差不多了,项目也撸过了,接下来就要去笔试面试了,那么刷一刷面试题,笔试题,零时抱抱佛脚,总归是有好处滴:

 

 

学习的路线规划

上面列罗出了自学过程中可能会碰到的问题,以及相应的解决办法,算是战术层面吧。 接下来说说整体学习路线的规划。 以下的规划,是假设当前是零基础的状态给出的:

1. Java 基础

2. Java 中级

 

3. 前端基础

 

4. J2EE 服务端

 

5. Java 框架

 

 

学习时间预计

要学习的内容还真不少,那么需要多长时间呢? 根据较多同学的反馈,约莫预计个如下的时间:

 

不计算桌面实和前端实践项目,需要3.5个月的时间。

大概需要每天投入6-8个小时的学习时长,并且要有相当的自律性。 既然想省略培训机构的万把块钱,那么自己管好自己总是必须的了喔


http://chatgpt.dhexx.cn/article/PkbUuhnA.shtml

相关文章

Java 技术新手入门

Java 技术新手入门 什么是 Java 技术?Java 技术为什么重要?什么是 Java 组件技术?Java 技术如何与 Web 服务联系起来?如何提高 Java 编程技巧?Java 编程人员可以使用哪些 IBM 工具和产品? developerWorks J…

java基础编程入门教程,2022最新

Java学习到什么程度可以找第一份工作自己买了本Java从入门到精通。以为可以很快地学完,非CS专业。现在我想说所有系列的从入门到精通都是垃圾,一年多来,我每天白天看视频,晚上敲代码到凌晨,我是一个很倔的人,我认为天下没有任何东西是人类学不会的,所以我就付出高三一样的时间去…

新手小白入门编程第3讲 JAVA入门案例

1 HelloWorld案例 1.1 工作空间设置 工作空间就是一个文件夹,用来保存我们所有的开发文件和代码等等. 工作空间也是可以切换的,但是切换了工作空间,我们对于eclipse的设置就重置了. 后续我们自己写的代码可以去这个位置找到.可以如下图,选择工作空间的存放目录 1.2 eclipse…

Java编程学习入门、Java语言学习、Java入门必看

一、初识Java 1.生活中的程序: 从起床到教室上课的过程 穿衣打扮》起床》洗漱》出宿舍》》吃早餐》到教室 按照特定的顺序去完成某一件事的过程我们叫做生活中的程序 2.计算机中的程序: 一组有序指令的集合,需要和计算机交流就要使用计算机语言,ja…

关于1970年之前的时间要怎么转换成时间戳啊 负数要怎么处理

在这里有的人可能有疑问? 大家都知道java时间戳是从1970年1月1日0时0分0秒开始计算的,那么假如1960年的时间戳应该是多少呢? 下面是答案,负数,通过负数一样可以转化成正常的时间 年月日。 -3026880001960-05-30 00:00

moment.JS时间戳转换总是1970年问题

把时间戳 ✖1000 即可解决 例子moment(date * 1000).format(‘YYYY-MM-DD’); 还可以这样

mysql查询1970年以后出生的人_阴阳五行分析:1970年出生的人是什么命?

农历1970年出生的人属狗,此年出生的人不应好高骛远,把握当下幸福的生活。我们常说“听天由命”,所谓的命运早就已经刻画在了你的五行中,五行算命也就有迹可循。 那么,本期一起来看看1970年出生的人是什么命&#xff1f…

mysql 日期 1970_Mysql中处理1970年前的日期(unixtime为负数的情况)负数时间戳格式化...

客户扔过来一个bug,说是一个系统中对42岁以上的人的统计不正确,而41岁以下的人没有问题。眼睛瞟了一下托盘区里的日期,2012年3月26日,嗯,今年42岁的话,那么应该就是出生在1970年左右,马上就把问…

C语言里的fabs()和sqrt()的含义

fabs()其实是指绝对值&#xff0c;例如fabs(a)就是指a的绝对值&#xff0c;在程序中使用的时候需要包含头文件<math.h>。而sqrt()是指开根号&#xff0c;例如sqrt(a)就是指根号a。 举个例子&#xff1a; 假如从键盘任意输入a&#xff0c;b&#xff0c;e的值&#xff0c;编…

求绝对值指针c语言,C语言实现abs和fabs绝对值

C语言 abs() 函数用于求整数的绝对值。 头文件&#xff1a;math.h 或者 stdlib.h 语法/原型&#xff1a; int abs(int n); n 表示要求绝对值的数。 返回值&#xff1a;参数的绝对值。 【实例1】使用 abs() 函数求整数 3 和 -4 的绝对值。 #include #include int main() { int a…

c语言中fabs是什么意思,c语言fabs是什么意思_后端开发

C语言sqrt函数的用法_后端开发 C语言中sqrt函数用于计算一个非负实数的平方根&#xff0c;使用时需要在头部引入math.h文件&#xff0c;用法示例&#xff1a;sqrt(25)&#xff0c;程序将返回5。 c语言fabs是什么意思&#xff1f; fabs函数是一个求绝对值的函数&#xff0c;求出…

c语言中fabs是什么意思,c语言fabs是什么意思

c语言fabs是什么意思&#xff1f; fabs函数是一个求绝对值的函数&#xff0c;求出x的绝对值&#xff0c;和数学上的概念相同&#xff0c;函数原型是extern float fabs(float x)&#xff0c;用法是#include 。 推荐学习&#xff1a;c语言视频教程 fabs()函数的声明&#xff1a;d…

c语言fabs函数的返回值,fabs()函数

fabs函数是一个求绝对值的函数&#xff0c;求出x的绝对值&#xff0c;和数学上的概念相同&#xff0c;函数原型是extern float fabs(float x)&#xff0c;用法是#include 。 C语言中fabs()函数&#xff1a; (1)描述&#xff1a;C库函数double fabs(double x) &#xff0c;返回浮…

CSS overflow 属性(琐碎知识点整理)

本文详细的介绍了 CSS overflow 属性的 ‘定义和用法’ ‘属性效果’ 废话不多说, 直接上代码以及图例 (为了让大家方便阅读, 都有自己验证过程的一些图片作为分享) 。 一. overflow 定义和用法: 1. overflow 属性规定当内容溢出元素框时发生的事情 。2. 这个属性定义溢出元…

CSS 处理溢出 overflow属性

在CSS中&#xff0c;如果设置了一个盒子的宽度与高度&#xff0c;则盒子中的内容就可能超过盒子本身的宽度或高度。此时&#xff0c;可以使用 overflow 属性来控制内容溢出时的处理方式。 overflow属性的可选值有 visible | hidden | scroll | auto&#xff0c;除了body 和 te…

text-overflow属性的使用

text-overflow属性的使用 text-overflow属性规定了当文本溢出包含元素时所发生的事情。 取值&#xff1a; 当遇到标题过长&#xff0c;影响页面效果的情况时&#xff0c;text-overflow属性发挥它的作用&#xff0c;如下图所示&#xff1a; 重点&#xff1a; 利用text-overflo…

CSS中overflow属性介绍

原文地址&#xff1a;http://blog.sina.com.cn/s/blog_51048da701017yyp.html overflow属性规定当内容溢出元素框时发生的事情&#xff0c;有四个参数&#xff0c;分别是&#xff1a; visible&#xff1a;内容不会被修剪&#xff0c;会呈现在元素框之外&#xff0c;这是默认的值…

CSS的overflow属性简析

overflow定义:设定如果内容溢出元素设定范围后该怎么做. overflow:visible;默认属性,就是毫不作为,让内容跑到元素外面去.overflow:hidden;常用属性,超出的部分给他隐藏了.overflow:auto;常用属性,父元素中内置滚动条来处理,根据内容的具体宽高生成上下或左右滚动条.overflow:…

css overflow属性及使用方法(场景)

overflow这个属性还是挺实用的比如&#xff0c;一个div展示文字&#xff0c;想让超出部分隐藏就可以使用overflow:hidden,想让显示的画就用overflow:scroll; 1.overflow的属性 值描述visible默认值。内容不会被修剪&#xff0c;会呈现在元素框之外。hidden内容会被修剪&#…

CSS 溢出overflow属性的使用

作者:WangMin 格言:努力做好自己喜欢的每一件事 CSDN原创文章 博客地址 &#x1f449; WangMin 在CSS中&#xff0c;如果给一个盒子设置了固定的宽度与高度&#xff0c;但内容过多就会溢出盒子本身的宽度或高度。此时&#xff0c;就可以使用 overflow 属性来控制内容溢出时的处…