首页 > 编程语言 >Java零基础学习方法总结

Java零基础学习方法总结

时间:2023-06-01 14:31:38浏览次数:40  
标签:总结 结论 Java 回顾 老师 代码 编程 学习

系统的整理了我自学Java的学习方法,希望对大家自学Java有帮助~

首先,需要一套系统完整的学习教程,这里推荐可以到b站,我看的动力节点老杜的Java基础课,现在更新了最新版Java17的,可直接看最新版,小白无脑入,详细且全面

学习地址:https://www.bilibili.com/video/BV1ig4y1c7kP

Java小白学习方法

程序员需要提升的两个方面


  1. 提升敲代码的速度
  2. 提升用编程思维解决现实生活中问题的意识(其实就是提升动手能力)

怎么提升敲代码速度


提升指法速度是比较简单的,只要具备以下两点即可:

  1. 标准的键盘手势
  1. 左手:a s d f
  2. 右手:j k l ;
  3. 需要按shift键的时候最好左右手同时开工
  4. 可以你之前已经使用某种错误的方式多年了,很难改过来,但一定要改过来
  1. 不断的使用盲打的方式大量敲代码
  1. 刚开始是不习惯的,只要你有恒心,坚持不懈,必然会有重大的变化,你慢慢会发现自己不再需要看键盘了,而且速度也大大提升了。
  2. 不需要专门使用金山打字通练习,只要敲Java代码即可,每天都要大量的练习。

怎么提升编程思维


所谓的编程思维就是使用编程的方式解决现实生活中问题的一种能力,编程思维的提升是很困难的,是一个漫长的过程,在这个过程中又需要你去进行大量的实战才能锻炼出来的。经常会有同学这样问:老师,我现在能听懂,但是一到做题的时候就懵了,不知道该从何开始。像这样的同学就是严重缺乏编程思维,导致这个问题的原因主要包括两方面:

  1. 平时只听理论,很少动手敲代码。
  2. 敲代码时机械性照抄别人的代码。

综合以上两方面,其实根本原因就是:采用自己思维方式敲代码的量太少。如何解决这个问题,给出以下解决方案:

  1. 不要机械性照抄老师代码,只有HelloWorld可以照抄,因为HelloWorld是为了测试本地的Java环境是否正常。
  2. 把老师课堂上的代码总结出中文的核心步骤,例如:
public class BankActTest {
	public static void main(String[] args){
    	// 第一步:判断A账户余额是否充足
        // 第二步:判断B账户是否正常
        // 第三步:更新A账户
        // 第四步:更新B账户
    }
}

然后强行将老师的代码关闭,根据自己总结的中文思路一行一行实现自己的代码。刚开始很慢,很容易放弃,但是随着自己慢慢积累,就会发现编程思维慢慢具备了。

  1. 使用结论验证法敲属于自己的代码
  • 有很多同学在课下的时候会说:老师没有给布置练习题,我们课下该干啥?有这样问题的同学那一定没有找到很好的学习方法。其实课下大家应该花费大量的时间去验证课堂上的结论,验证结论的好处包括:
  • 第一:验证结论的代码一定是属于自己敲的代码,没有抄袭任何人的代码,这个可以很好的提升编程思维。
  • 第二:结论验证之后,可以让你对这个结论记忆更加深刻。
  • 应该如何使用结论验证法
  • 假设老师课堂上讲了这样一个语法:if后面有一个小括号,小括号中只能是boolean类型的数据。这个时候的你,应该持有怀疑的态度,尝试给一个非boolean类型的数据试一试,想尽一切办法去推翻这个结论,如果通过多次测试,无法推翻,那这个结论就是正确的。这就是结论验证法。

一天的学习流程


  1. 回顾最近3天的内容:
  • 这个回顾要快,通过笔记回顾课堂上的重点结论
  • 如果能保证每天回顾的是最近5天的内容,这样每天的内容就等于回顾了5遍。目的是更容易记住、不忘。
  1. 课堂上专心听课截图、记笔记:
  • 集中精力听课,能够有效的捕捉课堂上的重点。有很多情况下,老师在讲授某个知识点的时候,为了让大家很好的理解,可能会有很长时间的铺垫,最后的结论可能很短就会结束。所以学生必须集中精力,能够有效的捕捉重点结论,并将重点结论记录到笔记当中。切记:课堂上的笔记一定是简笔。
  • 听课的过程中思考一些问题,如果问题无法解决的记录下来,课下研究,或者向老师寻求帮助。
  • 听课过程中应伴有截图。
  • 不要跟着老师敲代码,你跟不上。
  1. 定一个闹铃,一个小时,让自己休息15分钟:
  • 休息
  • 喝热水
  • 上洗手间
  1. 中午:
  • 午休很重要,最好能睡着10分钟。
  1. 晚上:
  • 第一件事:花费最多30分钟的时间整理当天笔记。(整理笔记不是绣花,不要花费太长时间。)
  • 第二件事:采用结论验证法,验证当天的所有结论。
  • 第三件事:完成老师布置的作业。
  • 第四件事:不要太晚,以免影响第二天听课效率。

强烈不建议


  • 不建议钻牛角尖
  • 不会的问题先放一放,有的时候学着后面的内容,再看前面的就会豁然开朗。
  • 钻牛角尖会浪费大量时间,而且有可能你把时间浪费在一个不重点的问题上。先学会用,其它的再说。

知识屏蔽法


先从简单入手,学会简单的,复杂的先放一放,要学会屏蔽。因为学着后面的内容前面慢慢就理解了。

关于知识点周期性回顾


回顾的作用就是帮助你记忆。学习的知识点要不断反复的回顾才能记住。而且最好能够制定有规律的回顾。为了帮助大家记忆,可以按照以下的回顾方式进行:

  1. 每天回顾最近5天的内容。可以保证每天内容回顾5遍。
  2. 每15天回顾一次最近15天的内容。
  3. 每30天回顾一次最近30天的内容。

可以提前制定好一个计划,定个闹铃,按部就班的完成回顾。

建议的电脑配置

  1. 操作系统:win10/11
  2. CPU:Intel 酷睿 i7 10代+
  3. 内存:32G内存+
  4. 硬盘:建议固态硬盘

当然,有条件的话,也可以使用苹果本开发。

标签:总结,结论,Java,回顾,老师,代码,编程,学习
From: https://blog.51cto.com/u_15973769/6393888

相关文章

  • couldn't clear tomcat cache java.lang.NoSuchFieldException: resourceEntries
    2015-09-2500:17:11,435WARN[dqapp24http-nio-8002-exec-22]com.opensymphony.xwork2.util.LocalizedTextUtilcouldn'tcleartomcatcachejava.lang.NoSuchFieldException:resourceEntriesatjava.lang.Class.getDeclaredField(Class.java:2062)~[na:1.8......
  • 软件工程个人总结
    这是软件工程的最后一次作业,在此写上我本学期以来的体会和总结。   从二月末至六月初,学习软件工程将近三个月的时间。从一开始的个人项目到后来结对编程再到团队项目,期间经历了太多的困难与挫折,当然也有成功收获。有时会熄灯后继续熬到一两点还在修改程序,当提交成功后心里还......
  • java 批量数据插入数据库时,加上@Transactional注解后太慢,导致卡死
    这里推荐一个可行的处理方式:新建一张temp表,读取文件先插入temp表,不加注解进行事务处理,这样报错也不会导致正式表的数据被更新掉;数据到插入进temp表后,将temp表数据插入正式表,加上注解,这样可以满足插入大量数据的要求 有更好的方式欢迎评论分享......
  • [Java] try catch finally注意点
    trycatchfinaly注意点finaly块中有return语句publicstaticvoidmain(String[]args){System.out.println(throwException());}publicstaticintthrowException(){try{inti=1/0;}catch(Exceptione){e.printStackTrace();......
  • java -jar XXX.jar 没有主清单属性以及找不到或无法加载主类的问题
    <skip>true</skip>一定要去掉每个插件都有一个< skip ></skip>属性,maven在调用插件的时候判断这个属性的值是否是true,是true的话就跳过。<plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</ar......
  • 前端学习路线图roadmap(转)
    前端学习路线这份学习路线并不完美,也不会有最终形态,正如前端不可预见、永无止境的未来。......
  • Dlib——C++机器学习库,有传统机器学习的,也有深度学习的
    Dlib的目标用户并没有Hyperopt-sklearn细分,它是一个基于C++语言的通用的机器学习和数据分析库。值得一提的是,虽然Dlib的确是由C++实现的,但它却提供了针对Python语言的API。Dlib的官网称:Dlib是一个现代的C++工具包,实现了大量机器学习的相关算法和工具,可用于在C++环境下创建复杂的软......
  • linux 性能自我学习 ———— cpu 切换带来的性能损耗 [二]
    前言我们知道现在操作系统,都是多进程和多线程,那么会有一个操作系统帮助我们去切换进程和线程,这个是要消耗cpu资源的,那么就来了解一下cpu资源消耗情况。正文一般是下面几个场景切换:进程上下文切换线程上下文切换中断上下文切换在了解进程切换的时候,需要了解另外一个......
  • JS垃圾回收——和其他语言一样,JavaScript 的 GC 策略也无法避免一个问题:GC 时,停止响应
    JavaScript内存管理&垃圾回收机制标记清除js中最常用的垃圾回收方式就是标记清除。当变量进入环境时,例如,在函数中声明一个变量,就将这个而变量标记为“进入环境”。从逻辑上讲,永远不能释放进入环境的变量所占用的内存,因为只要执行流进入相应的环境,就可能会用到它们。而当变量离......
  • Base64学习理解
    Base64是用64个可打印的字符来描述数据的编码方式为什么要整这个Base64呢,那是因为有的时候我们需要以可打印的字符串的形式传递数据,比如url传递之类的假设有个4字节的数据[97,32,245,0],我们要把它转成可打印的字符串的形式,首先不能直接把它转成字符串,因为ASCII中有不可打印......