java该怎么自学?

我最近在自学java,自己也有一些c的基础,现在想请教各位编程高手,从学习Java语言到真正的能够利用java进行web开发与软件开发,在这中间的学习步骤有哪些?还有能不... 我最近在自学java,自己也有一些c的基础,现在想请教各位编程高手,从学习Java语言到真正的能够利用java进行web开发与软件开发,在这中间的学习步骤有哪些?还有能不能推荐一些比较好的从基础到高级的java书籍和比较系统的教学视频? 展开
 我来答
帐号已注销
2019-12-29
知道答主
回答量:6
采纳率:0%
帮助的人:3670
展开全部
其实自学的话,很简单,即:找一本入门书,如《Head First Java》,耐心点,搞懂里面每一行、所有的字。然后你才算半个脚入门,因为你发现你还是完全不会做任何东西。接下来就是web和企业级开发的那些框架。当然,我觉得你半只脚入门了的话,基本会自己找到接下来该学哪些知识点了。

不过,如果你还是并不知道怎么入门,并且已经打算了要报班,那么你可以看过来。我这里正好在开展一元团课的活动,是的,整个se+web近两个月的课程你免费学,哦,不,是一块钱学。
大纲如下,当然,这个大纲也可以用于指导你自学,它包括整个JavaEE即企业级开发的完整技术。
第一阶段:JavaSE核心技术
Day01:开学典礼与Java概述
1、开学典礼与计算机基础
2、Java编程语言概述
3、Java编程语言发展简史
4、Java编程语言主要特征
5、Java技术体系平台
6、Java核心机制与JVM运行原理
7、搭建 Java开发环境与JDK 的安装与配置
8、Java程序分类
9、第一个 Java 应用程序HelloWorld
10、Java 程序文件、编译和执行
11、Java代码的风格与注释
Day02:Java程序基本语法
1、Java标识符与关键字
2、变量的声明与使用
3、变量内存空间分配与原理
4、进制与位运算
5、变量的数据类型
6、数据类型之间的转换
7、变量的运算与作用域
Day03:流程控制之选择结构
1、顺序结构概述
2、分支结构之if 分支结构
3、分支结构之switch 选择结构与相关规则
Day04:流程控制之循环结构(一)
1、循环结构之for 循环
2、循环结构之while 循环
3、do-while 循环语句
Day05:跳转语句与流程控制语句的综合应用
1、跳转语句的使用
2、流程控制语句场景的选择
3、流程控制语句的综合练习
Day06:Java中方法的声明与调用
1、方法的声明与使用
2、方法调用的过程分析
3、调用其它类的方法
4、参数的值传递
5、方法的重载
6、可变个数参数的方法以及命令行参数
7、阶段案例:猜拳游戏与万年历或其他
Day07:Java数组
1、 数组概述
2、 数组语法定义
3、 数组元素操作
4、 数组元素排序
5、数组元素查找
6、数组的默认初始化与内存分析
7、数组综合应用数独与布局算法
8、数组作为方法参数和返回值类型
Day08:面向对象编程概述
1、面向对象编程思想概述
2、类和对象概念及关系
3、类的语法定义、对象的属性和方法
4、类的实例化
Day9:面向对象编程进阶
1、构造方法
2、this关键字
3、类的封装性
4、static关键字
5、动态块与静态块
6、Java对象的内存管理与垃圾回收
7、单例模式
Day10:类的继承与多态
1、对象的关联关系
2、继承的基本概念
3、类继承的语法实现
4、final关键字与super关键字
5、继承的优缺点
6、继承中类中各个成员特点
7、方法重写
8、继承的综合案例
Day11:多态性
1、多态概述
2、多态实现
3、对象类型的转换
4、instanceof 运算符
5、抽象类
6、面向对象综合案例
Day12:内部类、接口和包
1、接口
2、包 (package) 的管理与作用
3、类成员访问权限的讨论
4、内部类
5、Factory
Method 设计模式
6、阶段测试(安排在自习时间进行)
Day13:异常处理
1、异常的概念与原理
2、异常的结构体系
3、运行时异常与非运行时异常
4、异常的处理
5、try-catch 示例
6、使用finally回收资源
7、throw与throws关键字
8、自定义异常
9、实战中自定义异常的应用解析
10、异常链与异常信息的访问
Day14:内部类与Java API(一)
1、字符串类概述
2、String 类的使用与内存原理
3、String 类的算法分析
4、StringBuffer 与 StringBuilder
Day15:Java API(二)
1、Object类详解
2基本数据类型包装类
3、装箱与拆箱
4、System类
5、Date类
6、SimpleDateFormat类
7、Calendar类
8、Math类
9、BigInteger类与BigDecimal类
Day16:集合与泛型(一)
1、集合框架概述
2、Collection 系列集合层次结构
3、Map集合的层次结构
4、Iterator 与 ListIterator
5、List 系列集合与Set系列集合
Day17:集合与泛型(二)
1、Map 系列集合与数据结构分析
2、HashMap与Hashtable
3、TreeMap
4、Properties
5、Collections 工具类、Arrays工具类
Day18:集合与泛型(三)
1、集合中使用泛型
2、自定义泛型类、泛型接口、泛型方法
3、泛型中使用通配符
Day19:Java IO流(一)
1、流的概念
2、IO流结构体系
3、IO流原理分析
4、File类详解
Day20:Java IO流(二)
1、IO流的分类
2、字节IO流操作
3、字节IO流的装饰模式与缓冲流
4、文件的复制与性能对比
5、对象流实现对象的序列化与反序列化
Day21:Java IO流(三)
1、控制台IO的标准输入流与标准输出流
2、字符IO流操作
3、桥接器与流的转换
4、RandomAccessFile 类
5、IO流综合案例:学生管理系统
Day22:Java多线程(一)
1、线程与进程概述
2继承 Thread 类与实现 Runnable 接口创建线程
3、线程的启动
4、线程的生命周期
5、用户线程与守护线程
6、线程的调度
7、线程的优先级
8、线程通信
Day23:Java多线程(二)
1、多线程的安全问题与解决办法
2、线程的同步
3、线程同步案例——票务业务实现
3、互斥锁
4、线程的死锁问题
5、生产者与消费者案例
6、TheadLocal与线程间数据共享
7、线程池
Day24:网络编程
1、网络编程基础知识
2、网络编程的主要问题
3、如何实现网络中主机的相互通讯
4、网络通讯要素
5、网络通信协议
6、TCP/IP参考模型(或TCP/IP协议)
7、数据的封装与拆封
8、InetAddress 类解析
9、TCP 协议与UDP协议
10、Socket 的TCP编程
11、了解UDP协议的网络编程
12、URL与URI详解
13、URL编程针对HTTP协议的URLConnection
14、URLDecoder与URLEncoder类
15、项目案例:简易版的网络聊天室
Day25:Java 反射与代理(一)
1、Java 反射机制的研究与应用
2、反射的原理分析
3、JVM 与类
4、类的加载、初始化
5、类初始化的时机
6、类加载器
ClassLoader简介
7、类加载机制
8、创建并使用自定义的类加载器
9、Class类详解
10、获取 Class 实例的方式
11、从 Class 中获取信息
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
尚学堂java学院
2020-07-21 · 百度认证:北京尚学堂科技有限公司官方账号
尚学堂java学院
向TA提问
展开全部

有编程基础,那应该学起来很轻松呀!

给你推荐下我们的java学习路线吧!希望对你有所帮助!

另推荐几本书籍,应该对你有用!

1、Head First java

这本适合初学者,与国内计算机类教材果然有很大差异。生动的例子、细致的讲述、风趣的配图,各种难度不同的练习,很棒。

2、JAVA核心技术 卷1 基础知识

一直以来,《Java核心技术》都被认为是面向高级程序员的经典教程和参考书,它内容翔实、客观准确,不拖泥带水,是想为实际应用编写健壮Java代码的程序员的首选。

希望这些对你有所帮助!望采纳!

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
宇望s6
推荐于2017-09-22 · TA获得超过317个赞
知道小有建树答主
回答量:155
采纳率:0%
帮助的人:146万
展开全部
首先,需要一本基础的语法书,就是普通大学里面用的就可以了。学习完语法后买本Think in Java看几遍。
其次,在学习的过程中注重自己多编写代码。自己动手编写代码对于学习程序语言来说太重要了。比如可以编点俄罗斯方块,或者一个简单的学生管理系统这些的。
最后,学完了Java SE的知识后,你可以选择Java EE方向 或者Java Me方向,一个搞企业级应用开发,一个是手机方向,现在Java手机方向还是不错的哟 。

我是做JavaEE方向的,如果你要做这个方向的话你需要对数据库这块好好弄下,JDBC编程要做到相当熟悉,Servlet是很能代表JavaEE方向的技术,更是要熟悉。可以选择性的学习SSH框架,现在貌似很流行,但很多人只会用,不知道人家是怎样实现的,这样还不行,建议你在会用的基础上看这些框架的源码实现(这需要你对Java基础相当熟悉),理解了浙西底层实现原理,你在找工作的时候,跟面试官谈这些,人家会很欣赏你。

另外在学的过程中根据需要可以看点视频这些,对于初学者有帮助。可以学到些东西的。

你搞手机开发建议你到<a href=http://www.javaeye.com target=_blank>www.javaeye.com</a>这个技术论坛和里面的人多交流下,这个论坛比较专业,很多高手的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沉稳又淡泊丶小猫v
2018-12-10 · TA获得超过3564个赞
知道小有建树答主
回答量:1367
采纳率:80%
帮助的人:117万
展开全部

作为一家IT培训机构,上海优就业几乎每天都在和想要入行却不得其法的朋友们交流,知道对于小白来说,想要入门却找不到门的入口的感觉有多难受。

而Java是当前世界颇为流行的编程语言之一,代表着很高的薪资和很好的待遇。

U妹请到了我们Java交流群中的老司机来为大家解答,零基础小白如何入门。

第一步 了解市场

当然,我们搞技术,把基础打牢是根本。但就算要学基础,也需要了解当前的市场需求。

了解如今市场上的需求,需要掌握怎样的技术,现在公司更喜欢招募什么样的人才,找准你的方向,才能把握机会,找到好工作。

第二步 系统规划

之前接触了不少新人,看到很多人都在简单询问过我后就还是选择纯自学,后来很多人都放弃了。

因为他们都没有一个合理的计划。这样是一定学不会Java的,学习Java必须要知道每天学什么,什么时候该实践案例、完成项目。

第三步 开始学习

在了解了市场需求并做出合理规划后,就要开始从头踏踏实实学习了。

那么,我们刚刚所说的合理规划是什么样的计划呢?接下来我来解答这个问题:

JavaEE基础

在这一阶段,要学习的内容都是基础,包括:

基础语法、面向对象、核心类库、异常、集合、IO、线程、网络编程、反射等。

Jabaweb开发

学习后端不是说就要抛弃前端,如今前后端交互非常热门,很多企业都在招募全栈开发工程师。所以,学习前端知识非常重要。

这一阶段的内容包括:

HTML+CSS 静态布局、JavaScript和jQuery、前后端数据交互(JSP、ALAX等)、Struts前端框架等。

Java高级框架

框架就不必多说了,主流框架是招聘时面试官必问的内容,重要性可想而知。

这一阶段里,你需要了解以下几个主流框架:

spring、Mybatis、springMVC、Maven、Oracle等

但这些框架,自己来学习的话,已经是近乎不可能完成的任务了。

项目实战

任何理论基础都是为实战做准备,所以在学习过程中,最好结合项目进行实践。

当然,这一点更难在自学中实现。

通过以上学习规划,相信你也看到了,很多进阶性质的内容都不是自学就可以完全实现的。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
白釺cl
2019-03-12 · TA获得超过153个赞
知道答主
回答量:14
采纳率:0%
帮助的人:9631
展开全部

首先告诉你的是,零基础学习开始学习Java开发肯定难,Java开发的专业程度本身就不简单,学习这事本来就是一件非常煎熬的事情,人都不愿意学习,可是没办法,为了生存掌握一个技能,你必须学,如果你认真的对待,你就找不到高薪水的工作,所以首先学习Java开发意志,坚持非常重要,很多人放弃的原因根本就是缺乏这些素质。

零基础学习Java开发必须明确的几点:

1.明确你将来是做什么工作的,需要掌握哪些技能,很多人连这个就不知道就盲目的学,你首先清楚,现在公司需要什么人才,你应该奔着什么目标努力。

2.系统的学习规划,规划好你每天学习的新知识和每天做的作业和练习,很多人想自学Java开发,两个就看完了,这样的能找到工作算是出奇了,现在学习Java开发想找到工作,没有4-6个月的根本不行,所以规划是一定要有的,我建议半年时间。

3.注意学习方法,很多人在学习Java开发的时候,开始学那一刻起就选择了错误的学习方法,所以最后注定会放弃,回到原来的岗位继续做着自己不喜欢的事情,学习Java开发需要一定的技巧,在开始学之前多跟别人问问,不要自己盲目的自学,浪费时间。

关于培训:

富裕的,或者想少走弯路的,可以选择培训,但是培训不一定就能找到工作
有的培训机构说包就业,这些本身就是骗人的,不要信
但是我目前是不建议选择那种速成的培训,因为学习时间短,而且学费太高,成本太大,培训之后还不一定能找到工作,现在的选择我更加建议大家选择在线上进行培训,成本低,还方便。

开始学注意几点:

1.代码规范,这本身就是一个非常好的习惯,如果开始不养好好的代码规划,以后会很痛苦

2.多动手,少看书,很多人学Java开发就一味的看书,这不是学数学物理,你看例题可能就会了,学习Java开发主要是学习编程思想。

3.勤练习,学完新的知识点,一定要记得如何去应用,不然学完就会忘,学我们这行主要都是实际操作。

4.学习要有效率,如果自己都觉得效率非常低,那就停不停,找一下原因,去问问过来人这是为什么

这是我给大家提供的Java开发学习路线:

Java基础:Java基础语法、数组、类与对象、继承与多态、异常、范型、集合、流与文件、反射、枚举、自动装箱和注解。

数据库:mysql、oracle

Javaweb:HTML与CSS网页开发基础、JavaScript脚本语言、搭建开发环境、JSP基本语法、JSP内置对象、JavaBean技术、Servlet技术、Ajax技术。

框架:Struts2、Hibernate、Spring、SpringMVC、mybatis。

学不好的几个原因,希望大家引以为戒:

1.很多人虽然说想做Java开发开发,想要从另一个职业到互联网,但是他们的态度只能说他们不想,目前这个行业只有那些愿望非常强烈的人才能转行成功,所以对这件事情的态度就决定了你能不能转行成功。

2.不要说学,就对于行业的基本了解都不知道,就想去学,我见过很多这样的人,学的非常快,别人用30天学完的知识,他可能就用了一周,而且你跟他说专业是没用的,他就像按照他的方式,所以你对于这个行业的基本的常识都不懂,更不要开始学。

3.自己盲目的学,就连自己学的什么都不知道,还硬着头皮往下学,最后只能浪费时间。

4.在校的学生,其他专业的,大学四年什么本领没学,毕业之后着急了,在心里着急就想快点找一份工作,但是他从来没有想过找工作是靠的什么,不是靠嘴说,但是这样的人往往有一个共同点,他不会脚踏实地,他认为半年,四个月的时间太长了,永远在着急中,最后都要失败。

以上的总结,学Java开发的人很多,但是剩下的人都是通过自己的努力胜任属于他自己那份属于他的工作,这个行业永远不会存在饱和,只是会不断的淘汰一些能力不行的人,优胜劣汰。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式