给一些想要学习Java同学的一些建议

最近在授课过程中,发现了各式各样学生在学习Java时遇到的问题。有同学会问我:“杨老师,Java可以自学吗”,这就好像一千个人心中有一千个哈利波特一样,这个答案不绝对也不唯一,Java在我看来是好学,但自学的确阻力有些大,作为一门编程类型的技术语言,它所蕴含的智慧绝对不是靠几本从入门到精通,某某疯狂讲义之类的书所能概括,自学Java你要做好一种英语零基础达到四级水平的准备,在这里我简单说一些自学Java可能遇到的问题,希望会对你的学习有所促进和帮助。

自学Java可能遇到的问题有哪些?

  一方面是:对Java了解不够深刻,缺乏灵活应用的本领就好像我们学会了26个英文单词,但仍旧不能写出一串正确的句子;

  另一方面是:缺乏独立查找错误的能力、这个能力是伴随所有程序的,无论你有多少丰富的项目经验,你必须能写代码,还能发现bug并且能够解决这个bug,对于自学者而言因为没有基础的沉淀,对Java各种编程属性的不了解,往往会遇到“能正着写,却不能倒着推”的思想习惯。在平时我们更多是三分时间写代码、七分时间找bug,同时也将我们的学习或者工作效率大打折扣。

  耗尽了所有的耐力,学到这里才是Java课程的基础, 你可能用了3个月、5个月甚至更久才勉强消化这些知识,对以后学好框架几乎成了奢望。所以自学Java还是一种奢望,现在生活的诱惑越来越大,自学Java或者死记烂背代码只会浪费时间,最后还会成为徒劳,什么都学习不会。

        很多学生和零基础朋友们想要学习Java的同学都会面临一个问题,那就是Java课程知识点多而杂,面对庞大而复杂的Java学习体系不知从何下手。所以在这里杨老师进行整理了一份Java的学习路线体系图给那些想要自学的新手,希望你一步一个脚印把基础打好。

第一阶段:Java基础语法

1开发环境搭建

1、计算机编程及开发语言

2、常用的DOS命令和操作

3、Java跨平台原理

4、JDK的安装于卸载

5、配置环境变量

2Java基本语法

1、Java开发基本语法和编程规范

2、常量与变量

3、数据类型

4、运算符

3选择结构

1、if

2、switch

4循环结构

1、while

2、do-while

3、for

4、for-each

5方法

1、语法结构和特点

2、返回值类型

3、方法重载

4、可变参数

6数组

1、数组的声明与创建

2、数组的基本使用

3、遍历数组

4、多维数组

5、打印、搜索、排序

6、Arrays工具类

本阶段主要是编程规范与思路的培养;掌握基本的逻辑算法;熟悉Java底层的一些语法规定。

第二阶段:面向对象编程思想

1类与对象

1、面向对象编程思想

2、类和对象的基本概念

3、构造方法

2包

1、包的作用

2、包的定义

3、包的导入

3面向对象特点

1、封装

2、继承

3、多态

4抽象类与接口

1、抽象方法

2、抽象类

3、接口

5其它

1、static-this-super【关键字】

2、final

3、访问权限修饰符

4、代码块

5、内部类

6、枚举

7、设计模式

此阶段主要是培养面向对象编程思想;熟悉面向对象编程相关语法;

第三阶段:GUI-图形界面编程-项目实战

1MyEclipse或Eclipse工具

1、MyEclipse或Eclipse的安装与使用

2、MyEclipse或Eclipse中的常用快捷键

3、MyEclipse或Eclipse上插件的安装

2AWT与SWING

1、AWT与SWING的区别

2、常用组件

3、布局模式

4、事件监听机制

3项目实战

1、图形界面编程的思路与流程

2、需求分析

3、原型设计

4、编码实现

5、测试

6、发布

次阶段主要是为以后项目实战打下基础,能够设计出企业应用所需要的实体类、工具类、模板、接口等基础部分。

第四阶段:高级进阶

1异常

1、异常机制

2、异常体系

3、处理异常方式

4、自定义异常

2常用类

1、字符串相关类

2、日期相关类

3、数学算法相关

4、系统相关类

5、随机数

3多线程

1、多线程的创建与启动

2、线程同步

3、线程通信

4、线程池

5、定时器

4集合框架

1、数据结构

2、List/Set/Map

3、Collection/Collections/Properties

4、迭代器

5、比较器

5IO流

1、File文件

2、IO流操作的多种分类和方式

3、方法递归调用

4、正则表达式

6网络编程

1、IP/端口/URL等网络基础

2、HTML编码解码工具

3、TCP/UDP网络协议

7反射机制

1、反射的概念

2、各种Class实例的获得方式

3、Constructor/Field/Method

学完上面这些知识便能够使用Java提供的基本功能,结合Swing编程做一些桌面应用程序及游戏,如:贪吃蛇、俄罗斯方块、打飞机、推箱子、棋牌类游戏、模拟开发类似Editplus或者NotePad++的小型编辑器等。赶紧去动动手指尝试一下吧。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏阿杜的世界

《重构》阅读笔记-代码的坏味道

开发者必须通过实践培养自己的经验和直觉,培养出自己的判断力:学会判断一个类内有多少个实例变量算是太大、学会判断一个函数内有多少行代码才算太长。

7620
来自专栏晨星先生的自留地

一道小CTF

38840
来自专栏青玉伏案

代码重构(六):代码重构完整案例

无论做什么事情呢,都要善始善终呢。前边连续发表了5篇关于重构的博客,其中分门别类的介绍了一些重构手法。今天的这篇博客就使用一个完整的示例来总结一下之前的重构规则...

38970
来自专栏take time, save time

你所能用到的数据结构(六)

八、数据结构不一定很枯燥   正如我现在实习的公司的一个同事说的那样,数据结构是一本催眠的书,我想对于大多数人应该是这样的,当然对我也是,看着一大堆的算法,结...

34450
来自专栏Java帮帮-微信公众号-技术文章全总结

Java基础-day05-超市收银系统案例题

Java基础-day05-超市收银系统案例题 案例描述 将超市购物小票案例中,键盘录入部分封装为方法。 将switch语句完成的三个分支代码逻辑封装为3个方法 ...

62840
来自专栏程序员互动联盟

【答疑释惑】最小存储单元是什么?

学习编程,要从基础学起,bit和byte有很大区别,最主要别搞混。 ? bit是位,byte是字节。 有问题就问题,不要害羞,不要怕被笑话,最重要的搞清楚自己要...

35890
来自专栏AzMark

Python函数的介绍

16560
来自专栏企鹅号快讯

教您最简单粗暴的MATLAB入门级爬虫2

感谢吴老师的《数据新闻与网络数据挖掘》课程 感谢各位捧场的小伙伴们 本文适用对象为编程零基础者 仅供学习交流使用,请勿用于商业用途。 通过这样的方法,可以类似得...

26860
来自专栏大数据钻研

如何设计优雅的类结构

注:正文中的引用是直接引用作者作者的话,两条横线中间的段落的是我自己的观点,其他大约都可以算是笔记了。 「Clean Code」这本书从这一章开始文风有些变化,...

28860
来自专栏编程

浅谈Java学习方法和后期面试技巧 含学习笔记

下面简单列举一下大家学习java的一个系统知识点的一些介绍: 一、java基础部分:java基础的时候,有些知识点是非常重要的,比如循环系列。For,while...

20780

扫码关注云+社区

领取腾讯云代金券