首先,你是一个大一的新生,你有用充足的时间,但你要考虑好,选择自学还是培训班?学习Java会不会与你的本专业产生冲突?你需要调整好这两者的时间安排,避免产生不必要的麻烦。
公司主营业务:成都网站建设、成都网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出乌兰免费做网站回馈大家。
对于零基础学习java的小伙伴,可以试试下面这套学习路线:
请点击输入图片描述
第一步:对于java的基本认知
学习Java,首先要明白java是什么,其未来大发展方向和应用场景有哪些?很多从业主和求学者往往看重的是Java行业的薪资水平,这样考虑固然无错,但是对于深刻理解java却并无实际意义。可以多看看专业分析java的书籍资料,这对于后期的学习有着巨大的助力作用。
第二步:理论知识学习
这一过程尤为重要,毕竟这是学习java的关键,而且,这一过程对于系统化的要求更高,如何循序渐进,有方式有目的的学习,将是小白更快速的学懂java的关键。所以给大家分享一个学习java知识点的先后顺序安排,希望对大家有所帮助。
1、Java基础以及Web开发基础——小程序项目阶段,让学员可以掌握java基本面向对象知识、java常用集合的使用、JDBC与MySQL基础、HTML/CSS/JavaScript前端基础技术、Servlet编写服务端程序等,同时熟练使用IDEA开发工具,能实现简单的小程序。
2、Java高级基础、SSM 前端框架、代码管理、持续集成,是进阶阶段,让学员可以深入理解Java面向对象相关知识点,可以胜任Java 初级软件工程师、Web 初级前端开发工程师、初级 BI 工程师等岗位。
3、服务与分布式解决方案,让学员掌握Linux、Docker、Vue、SpringBoot、Shiro、分布式事务的使用等,可以熟练使用Docker 完成项目部署,胜任Java 中级开发工程师等岗位;
4、大型互联网解决方案,让学员掌握JUC、Zookeeper、Dubbo、MySQL 高级、MyCat和微信小程序以及微信支付的开发等内容,可以胜任Java 高级软件工程师等岗位。
第三步、真实实训项目、培养实操能力
如今互联网上关于Java的应用案例有很多,也有很多的实训项目,大家可以去进行独立的实操。
Java300集零基础适合初学者视频教程_Java300集零基础教程_Java初学入门视频基础巩固教程
请点击输入图片描述
这套课程是由B站高淇老师录制开讲的Java300集! 为初学者而著! 适合准备入行开发的零基础员学习Java。基于最新JDK13、IDEA平台讲解的,视频中穿插多个实战项目。每一个知识点都讲解的通俗易懂,由浅入深。不仅适用于零基础的初学者,有经验的程序员也可做巩固学习。
java学习中需注意的几点:
1、自己敲出来的代码才是自己的
有一部分的小伙伴,学习编程还是采用学校教科书的方式,对着教材看代码,做课后的编程练习题。甚至还有用学历史政治一样的方法,一本书勾勾圈圈,死记硬背。整本教材学下来,还是写不出任何代码。哪怕你照着书上的代码敲一遍,也比你看代码、识记代码来的强。
2、不要急于求成
学编程必须讲究循序渐进,切忌浮躁。零基础学Java,前面很长一段时间都是在入门,你可能自学了一个月还是感觉自己什么都不会,这是正常的。学编程一开始都是这样,过了这个阶段,后面就一通百通了。不要基础都没学会,就想着学框架。
3、不要钻牛角尖
自学java肯定会遇到问题,学习过程中肯定会有不懂的问题,这个很正常。即使你对着视频敲的代码,或者直接把老师写的代码copy过来,还是有报错,自己还找不出来,很沮丧。这都很正常,不要怕,一个个解决。
遇到解决不了的问题,先百度,因为你遇到的问题大家都遇到过,网上都有答案,或者请教大神。但一些牛角尖的问题,不要去死钻,因为你可能真的弄不懂,只要知其然就可以了,不要被它影响情绪。等你掌握的知识多起来的时候,你就自然而然的理解了。大神还有一天都解决不了的BUG呢,况且你这个自学的新手。
4、不要老是一种方法学到死
编程学习方式一定是多样化的,比如书本+视频+敲代码+和别人讨论交流,如果你一直只用看视频或者单纯看书的方式学编程,效率都是很低的。
5、三天打鱼两天晒网
如果是用业余的时间学编程,一定要固定学习的时间,比如晚上8点到10点这样子,然后坚持下去。
如果是三天打鱼两天晒网,你一旦停止学习编程,你需要去找寻之前的学习进度,有可能就重复学习,造成不必要的时间浪费。还有要坚定目标,不要一会想学java,一会学python,然后又想搞小程序。专心搞一门,学出来再说。
希望这个回答对你有所帮助,望采纳~
作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从。我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水平的Java程序员们。
一、Java编程入门类
对于没有Java编程经验的程序员要入门,随便读什么入门书籍都一样,这个阶段需要你快速的掌握Java基础语法和基本用法,宗旨就是“囫囵吞枣不求甚解”,先对Java熟悉起来再说。用很短的时间快速过一遍Java语法,连懵带猜多写写代码,要“知其然”。
1、《Java编程思想》
在有了一定的Java编程经验之后,你需要“知其所以然”了。这个时候《Java编程思想》是一本让你知其所以然的好书,它对于基本的面向对象知识有比较清楚的交待,对Java基本语法,基本类库有比较清楚的讲解,可以帮你打一个良好的Java编程基础。这本书的缺点是实在太厚,也比较罗嗦,不适合现代人快节奏学习,因此看这本书要懂得取舍,不是每章每节都值得一看的,挑重点的深入看就可以了。
2、《Agile Java》中文版
这本书是出版社送给我的,我一拿到就束之高阁,放在书柜一页都没有翻过,但是前两天整理书柜的时候,拿出来一翻,竟然发现这绝对是一本好书!这本书一大特点是以单元测试和TDD来贯穿全书的,在教你Java各种重要的基础知识的过程中,潜移默化的影响你的编程思维走向敏捷,走向TDD。另外这本书成书很新,以JDK5.0的语法为基础讲解,要学习JDK5.0的新语法也不错。还有这本书对于内容取舍也非常得当,Java语言毕竟类库庞大,可以讲的内容太多,这本书选择的内容以及内容的多寡都很得当,可以让你以最少的时间掌握Java最重要的知识,顺便培养出来优秀的编程思路,真是一本不可多得的好书。
二、Java编程进阶类
打下一个良好的Java基础,还需要更多的实践经验积累,我想没有什么捷径。有两本书值得你在编程生涯的这个阶段阅读,培养良好的编程习惯,提高你的代码质量。
1、《重构 改善既有代码的设计》
这本书名气很大,不用多介绍,可以在闲暇的时候多翻翻,多和自己的实践相互印证。这本书对你产生影响是潜移默化的。
2、《测试驱动开发 by Example》
本书最大特点是很薄,看起来没有什么负担。你可以找一个周末的下午,一边看,一边照做,一个下午就把书看完,这本书的所有例子跑完了。这本书的作用是通过实战让你培养TDD的思路。
还有一些比较基础的入门书籍推荐给你
《Head First java开发》java开发入门书籍
《Head First java开发》是本完整的面向对象(object-oriented,OO)程序设计和java开发的学习指导。此书是根据学习理论所设计的,让你可以从学习程序语言的基础开始一直到包括线程、网络与分布式程序等项目。最重要的,你会学会如何像个面向对象开发者一样去思考。但如果你真地想要好好地学习java开发,你会需要《Head First java开发》。这本书可是Amazon编辑推荐的十大好书之一!强烈推荐学习此书,非常适合初学者入门。
《java开发从入门到精通》
《java开发从入门到精通》这本书主要针对java开发基础,对于没有学过java开发的人才说,是一个不错的选择。通过这本书,大家可以从零开始,慢慢来学习,而且实操很多,不会让你看到最后出现只会理论的情况。
《Thinking in java开发》(中文名:《java开发编程思想》)
《java开发编程思想》可以说是最经典的java开发着作,是所有java开发程序员必备教科书。这本书不管是正在学习还是已经工作许多年的程序员,都可以从这本书中得到你想要的东西。这本书具有教材和工具书的作用,就像一本字典,想知道什么都可以从中查询。虽然这本书很好,但并不建议初学者学习,对于初学者难度较大。
《疯狂java开发讲义》
《疯狂的讲义》这本书比较适合自学者,内容比较项目化,实操方法很多,如果你想进行java开发的深入学习,不妨看看这本书。
《java开发核心技术》
这本书分为两个部分,第一个部分讲的是基础知识,第二个部分讲的是高级特性。由于内容非常有层次,所以非常适合自学的同学学习。
《java开发开发实战经典》
这本书比较适合自学者学习,里面有很多小案例,可以边学边练,巩固知识。
PS:温馨提示,光看不练假把式,跟着视频教程练项目也是必不可少的!相关教程指路B站尚学堂官方号!都是免费滴!
一、标识符
java对各种变量、方法和类等要素命名时使用的字符序列成为标识符;通俗点,凡是自己可以起名字的地方都叫标识符,都遵守标识符的规则
1.标识符命名规则:
1)标识符由字符、下划线、美元符或数字组成。
2)标识符应以字符、下划线、美元符开头
3)java标识符大小写敏感,长度无限制
4)约定俗成,java标识符选取应该注意“见名知意”且不能与java语言的关键字(eclipes中带颜色的基本都是关键字)重名
二、关键字
java中一些赋以特定含义,用作专门用途的关键的字符串成为关键字(keyword);且大多数编辑器都会将关键字用特殊方式标出 所有java关键字都是小写英文
一些常用关键字:
三、java的基本数据类型
1.java常量
java的常量值用字符串表示,区分为不同的数据类型。如:整型常量:1234实型常量:3.14字符常量:’a’逻辑常量:true、false字符串常量:”HelloWorld”
注意:
1)区分字符常量和字符串常量
字符常量是单引号引起来的单个,字符串常量是双引号引起来的不限长度
由于java采用Unicode编码,每个字符占两个字节,因而可用天十六进制编码形式表示,当然也可以用一个中文表示(单个中文占用两个字节)
2)”常量”这个名次还会用在另外其他语境中表示值不可变的变量
2.java变量
java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。java程序中每一个变量都属于特定的数据类型,在使用前必需对其进行声明,声明格式为:type varName [=value]例如:int i =100;foloat f=12.3f;double d1,d2,d3=0.123;(声明了三个变量,其中d1,d2是默认值,d3=0.123)String s=”hello”
从本质上讲,变量其实是内存中的一小块区域,使用变量名来访问这块区域,因此,每一个变量使用前必需先声明,然后必需进行赋值,才能使用。
1)java变量分类
按被声明的位置划分:
局部变量:方法或语句块内部定义的变量,只能在被定义的方法或语句块内使用
成员变量:方法外部、类的内部定义的变量,可以在整个类中使用,包括类里的方法或语句块内也可以使用
注意:类外面是不能有变量的声明的
按所属的数据类型划分:
基本数据类型变量
引用数据类型变量
四、运算符
java语言支持如下运算符:
算术运算符:+ - * / % ++ --
关系运算符: = = == !=
逻辑运算符:! | ^ ||
位运算符: | ^ ~
赋值运算符:=
拓展赋值运算符:+ = -= *= /=
字符串链接运算符:+
三目条件运算符 ? :
1.算数运算符
注意:
1)
位运算符中的!、、|、^跟罗技运算符相同,只是位运算符是对变量的二进制进行操作,我个人是用不到的,所以不在这里多做介绍
2)
++(—)
在前时先运算再取值
在后时先取值再运算
2.逻辑运算符
例如:
3.扩展赋值运算符
4.字符串连接符
“ + ”运算符两侧的操作数中只要有一个是字符串类型,系统会自动将另一个操作数转换为字符串然后进行连接,例如:
4 + 5 = 94 + “ab” = “4ab”
5.三目条件运算符
语法格式: x ? y : z 其中x为boolean类型表达式,先计算x的值,若为true,则整个三目运算的结果为表达式y的值,否则整个运算结果为表达式z的值。
五、表达式和语句
1.表达式
表达式是符合一定语法规则的运算符和操作数的序列,例如:a5.0 + a(a – b) * c – 4i 30 i %10 !=0
1)表达式的类型和值
表达式中的操作数进行运算得到的结果称为表达式的值
表达式值的数据类型即为表达式的类型
2)表达式的运算顺序
应按照运算符的优先级从高到低的顺序进行
优先级相同的运算符按照实现约定的结合方式进行
我个人觉得运算顺序这块是可以忽略的,首先我的逻辑思维能力不是特别强,另外我的记性也不是特别好,所以如果我需要在表达式中区分优先级的话我会选择加括号。但是我觉得对于一些比较复杂且关键的逻辑运算,如果个人逻辑运算能力加记忆都比较好可以保证不出错的话,善用罗技运算符优先级未尝不是一种不让别人看懂你代码copy的手段。算是一种小小的防护吧,反正我这种人是不会去尝试分析这种代码的,太累
2.分支(条件)语句
ifif … elseif … else if … else ifif … else if … else if …else
switch () {case xx:
……………case xx:
……………default:
……………}
1.java中switch语句只能探测int类型的值(char类型的值也可以,因为他可以转换城int类型)
2.小心case穿透,所以最好与break连用
3.多个case可以连用,如下的示例代码也可以这样写(当i=1,2,18都会输出18):
3.循环语句
for(…;…;…){……}while(…){……}先判断再执行大括号里面的内容,然后再判断是否要继续执行do{……} whille(…); 先执行大括号里面的内容再判断是否要继续执行
4.break continue语句
break语句用于终止某个语句块的执行。用在循环体语句中么可以强行退出循环continue语句用在循环体语句中,用于终止某次循环过程,跳过循环中continue语句下面未执行的循环,开始下一次循环过程
八、方法
java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段,声明格式:[修饰符1 修饰符2 …] 返回值类型 方法名 (形式参数列表) {
java语句}
形式参数:在方法被调用时用于接受外界输入的数据
实参:调用方法时实际纯给方法的数据
返回值:方法在执行完毕后返回给调用他的环境的数据
返回值类型:实现约定的返回值的数据类型,如无返回值,必需给出返回值类型void
java语言中调用方法:对象名.方法名(实参列表)
实参的数目、数据类型和次序必需和所调用方法声明的形参列表匹配
return语句终止方法的运行并指定要返回的数据
java中进行函数调用传递参数时,遵循值传递的原则:
基本类型传递的是该数据值本身,引用累心美国传递的是对对象的引用,而不是对象本身
例子中的方法1,前面定义的数据类型为void, 所以方法中不能有return返回值,方法4中因为有return返回值,所以前面必需定义为返回值的类型,也就是m4前面那个int
九、递归调用
递归调用是指在方法执行过程中出现该方法本身的调用
先看一个例子,这是一个简单的递归调用:
简单分析下:
1.首先main主方法中输出字符串,内容是test方法当参数等于5的时候的返回值2.然后将参数5传入test方法,返回值是:5 * test(4)3.再次将参数4传入test方法中,返回值是:4 * test(3)4.再将参数3传入test方法中,返回值是:3 * test(2)5.再讲参数2传入test方法中:返回值是:2 * test(1)6.再将参数1传入到方法中:返回值是:1然后程序开始往回走,返回值传入test(1)中得到2*1再往回走,将刚刚得到的2*1传入到test(2)中得到3*2*1还要往回走,将刚刚得到的3*2*1传入到test(3)中得到4*3*2*1还要往回走,将刚刚得到的4*3*2*1传入到test(4)中也就是test(5)的返回值,得到5*4*3*2*1最后将test5的返回值传入到我们的主方法输出于语句中5*4*3*2*1=120,那么我们的输出语句输出的应该为120
这就是简单的递归调用的例子了
再来看一个例子:
非递归的写法:
请自行领悟
最后奉上java基础语法完整学习路线图,除此之外还有精心整理的其他java学习路线图,学习书籍电子书,阿里巴巴手册,视频教程等即可点此领取:
学习Java之前,先别急,静下心来好好想想:自己对学习Java是否有兴趣?自己是否能静下心来坚持不懈地学习?这是个容易但又绝对不应该忽略的问题,必须确信自己对Java感兴趣、而且又有吃苦的准备,那才可能学好Java。
首先找一个Java的基础教程去学习,不管是视频还是书籍都可以。学习Java基础的时候,最重要的就是代码量。一定要多敲,不要眼高手低。往往敲代码的时候才可以发现问题。应该尽量多动手,很多时候,想当然的事情,等写出来运行一下,就会发现不是这么回事儿,Java学习贵在坚持,如果你的耐力和野心不相匹配,那么你最多也就是一个笑话。学完基础教程的内容以后,应该对Java有一个基本的了解了,可以用Java语言写出一些简单的程序,并且用的是最简单的编辑器,比如记事本。这时你往往会比较迷茫,因为你写的东西似乎看起来毫无用处,比如实现一个简单的计算器,读取一个文件等。不要急于进入下一部分,留下几天好好写一些程序,尽可能熟悉这些基础内容。
如果基础内容都掌握熟练了你就应该去学着写一些让你觉得有意思的东西了,所以你应该学习更多的知识。去找一些深入学习的书籍与视频,一步一步去练习,相信经过长期的实践与学习你一定可以学好Java。
其实自始至终,实践是学习Java技术历程中极其重要的一环。脱离了实践,是学不好技术的!
那首先来了解一下什么是java:
Java是SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级编程语言,是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。
那么为什么要使用这个语言呢,Java语言的特点跨平台性,通过Java语言编写的应用程序在不同的系统平台上都可以运行。原理是只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行。
下面对java学习进行一次史无前例的剖析,细致的讲解零基础的人怎么学习Java。先看下Java在基础阶段的知识点路线图。
内容多吗?不要被吓到了,知识点剖析的比较细,所以看着比较多。不要害怕学不会,经过下面的详解,你就会明白这些知识点都是干嘛的了。
入门阶段,主要是培养Java语言的编程思想。了解Java语言的语法,书写规范等,掌握Eclipse、MyEclipse等开发工具,编写Java代码的能力。学完这个阶段你应该可进行小型应用程序开发并且可以对数据库进行基本的增删改查管理。注意:此阶段知识点的学习,会有真实的项目进行驱动学习,让你轻松理解各知识点。
1计算机基础知识
针对零基础学习的人,从对计算机操作等知识的了解,延伸到Java语言的发展与开发工具的使用上。主要是让你知道怎样执行计算机命令,认识Java这门语言,感受编程语言Java怎么开发程序。
1) 计算机基础
让零基础学习的人先了解计算机相关知识,进而再去了解Java语言。
2) DOS常用命令
了解什么是DOS,并掌握DOS控制台的打开方式,同时熟悉常用的DOS命令,例如:盘符切换、进入指定目录、删除文件等,完成使用DOS命令对计算机进行操作和控制。
3) Java概述
了解Java语言的发展史、Java语言平台版本、Java语言的特点,以及JRE与JDK。JRE是Java的运行环境,JDK是Java开发工具包,它包含了Java的开发工具以及JRE。所以安装了JDK就不用再单独安装JRE了。
4) JDK环境安装配置
了解了什么是JDK,以及JDK的重要性,下一步我们就来学习如何安装和配置JDK环境。在安装JDK之前,我们首先需要下载JDK,针对不同的系统,我们需要下载不用版本的JDK。
5) 环境变量配置
了解path、classpath环境变量,理解path变量和classpath变量的作用,并掌握path变量和classpath变量的配置方式。
6) Java程序入门
当JDK、环境变量配置完毕,我们就可以开始 编写Java程序。编写Java程序可以使用如下几种工具:notepad(微软操作系统自带)、Editplus、Notepad++、Eclipse、MyEclipse,sublime等等。
IntelliJ IDEA工具的使用(重点)
2编程基础
此模块学习是让你了解编程的具体流程,学习Java基础语法的格式等。具体要掌握不同数据类型的变量定义与使用,掌握不同运算符的运算规则,掌握流程控制语句的执行流程,编写方法的声明与调用,创建数组并访问数组元素等知识。
1) 注释
在程序开发工程中,用于解释和说明程序的文字我们称之为注释,Java中的注释分为以下几种:单行注释、多行注释、文档注释。
2) 关键字
了解Java关键字的含义及特点,掌握关键字使用的注意事项。
3) 标识符
了解什么是标识符,标识符的组成规则,以及标识符使用时的注意事项。
4) 常量与变量
理解常量与变量的含义,并掌握常量与变量的区别、变量的定义格式以及变量的赋值。
5) 数据类型
掌握Java语言的数据类型,如基本数据类型:byte、short、int、long、float、double、char、boolean,以及引用类型:类、接口、数组。
6) 运算符
熟练掌握Java中的运算符:算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三目运算符。
7) 流程控制语句
了解什么是流程控制语句,掌握以下流程控制语句:顺序结构、选择结构、循环结构,并能够通过流程控制语句实现特定的功能。
8) 方法
掌握方法的定义及格式,并能正确的调用方法,理解方法的调用过程,同时清楚方法的注意事项;掌握方法重载及其特点。
9) 数组
了解数组的概念,掌握数组的定义格式、静态初始化、动态初始化,并能够理解Java中数组的内存图解。熟练掌握数组的遍历、获取最值、数组元素逆序、数组元素查找、数组排序和二分查找,以及二维数组的定义格式及初始化。
3面向对象
现实世界中,随处可见的一种事物就是对象,对象是事物存在的实体,如人类、书桌、计算机、高楼大厦等。人类解决问题的方式总是将复杂的事物简单化,于是就会思考这些对象都是由哪些部分组成的。通常都会将对象划分为两个部分,即动态部分与静态部分。静态部分,顾名思义就是不能动的部分,这个部分被称为“属性”,任何对象都会具备其自身属性,如一个人,它包括高矮、胖瘦、性别、年龄等属性。然而具有这些属性的人会执行哪些动作也是一个值得探讨的部分,这个人可以哭泣、微笑、说话、行走,这些是这个人具备的行为(动态部分),人类通过探讨对象的属性和观察对象的行为了解对象。
1) 面向对象思想
了解面向过程编程思想,能够通过案例理解Java的面向对象编程思想,了解面向对象开发、设计、特征。
2) 类与对象
了解什么是类,什么是对象,并理解类与对象之间的关系;熟练掌握类的定义、对象内存图等。
3) 成员变量和局部变量
了解什么是成员变量,什么是局部变量,以及从他们在类中的位置、内存中的位置、生命周期、初始化值等方面掌握他们的区别。
4) 匿名对象
了解什么是匿名对象,掌握匿名对象的两种使用情况。
5) 封装
清楚的了解什么是封装,并能够理解封装的优点与缺点,同时掌握封装的原则。
6) this关键字
掌握this关键字的含义与使用。
7) 构造方法
了解什么是构造方法,构造方法的作用,以及与构造方法相关的注意事项。
8) 继承
理解什么是继承,继承的好处以及java中继承的特点和注意事项,继承中成员变量的关系、构造方法的关系、成员方法的关系,方法重写与方法重载的区别。
9) 多态
理解什么是多态,掌握多态案例及成员访问的特点,多态的优点和缺点,多态中的转型问题。
10) 抽象类
了解什么是抽象类,抽象类的特点,抽象类成员的特点。
11) 接口
了解什么是接口,接口的特点,接口成员的特点,类与类、类与接口的关系,以及抽象类与接口的区别。
12) 内部类
什么是内部类,内部类的访问特点,内部类的位置,什么是成员内部类、局部内部类、匿名内部类,以及匿名内部类在开发中的使用。
4、常用类
类库就是Java API(Application Programming Interface,应用程序接口),是系统提供的已实现的标准类的集合。在程序设计中,合理和充分利用类库提供的类和接口,不仅可以完成字符串处理、绘图、网络应用、数学计算等多方面的工作,而且可以大大提高编程效率,使程序简练、易懂。
学习内容:掌握Object类、Scanner类、String类、StringBuffer类、StringBuilder类、Arrays类、基本包装类、正则表达式、Math类、Random类、System类、Date类、DateFormate类、Calendar类,及其常用方法。
5、集合
集合类存放的都是对象的引用,而非对象本身,出于表达上的便利,我们称集合中的对象就是指集合中对象的引用。简单一点就是说,集合是存放数据的容器。
学习内容:什么是集合?数组与集合有什么区别,集合类的特点,掌握Collection接口、Iterator接口、List接口、ListIterator接口、ArrayList类、Vector类、LinkedList类、泛型、Set接口、HashSet类、Map接口、HashMap类、LinkedHashMap类等。
6、IO
IO(Input/Output)是计算机输出/输出的接口。Java的核心库提供了全面的IO接口,包括:文件读写,标准设备输出等等。Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。
1) 异常
了解什么是异常,异常的由来,常见的异常,异常的分类,掌握jvm对异常的默认处理方案,异常的处理方案:try…catch…finally、throws,什么是编译时异常,什么是运行时异常,掌握它们两的区别,throws关键字、throw关键字,以及这两个关键字的区别,熟练掌握自定义异常,异常注意事项。
2) File类
了解什么是File类,File类的用途,掌握File类的方法:createNewFile()、mkdir()、mkdirs()、delete()、renameTo(File dest)、isDirectory()、isFile()、exists()、等方法,以及File类的基本获取功能方法和高级获取功能方法。
3) IO流
了解什么是IO流,IO流的用途;熟练掌握输入流、输出流、字符流、字节流、IO流的常用基类;如何使用字节流读写数据、复制数据;什么是字节缓冲流,如何使用字节缓冲流读写数据;什么是转换流,如何使用转换流更加高效的读写数据,内存操作流、打印流、标准输入输出流、序列化流、Properties集合。
4) IO流练习
(1) 复制文本文件;
(2) 复制图片;
(3) 把ArrayList集合中的字符串数据存储到文本文件;
(4) 从文本文件中读取数据(每一行为一个字符串数据)到集合中,并遍历集合;
(5) 复制单极文件夹;
(6) 复制单极文件夹中指定文件并修改文件名称;
(7) 复制多极文件夹;
(8) 已知s.txt文件中有这样的一个字符串:“hcexfgijkamdnoqrzstuvwybpl”;
(9) 请编写程序读取数据内容,把数据排序后写入ss.txt中;
(10) 获取每次读取数据的行号;
(11) 登录注册IO版。
7、多线程
是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。具有这种能力的系统包括对称多处理机、多核心处理器以及芯片级多处理(Chip-level multithreading)或同时多线程(Simultaneous multithreading)处理器。在一个程序中,这些独立运行的程序片段叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理(Multithreading)”。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程(台湾译作“执行绪”),进而提升整体处理性能。
1) 多线程
了解什么是线程,什么是多线程,理解java程序的运行原理,掌握多线程的实现方案,如何获取和设置线程名称、线程的生命周期、如何解决线程安全问题、线程同步、Lock锁、死锁问题、线程间通信、线程的状态及状态转换、线程池。
2) 多线程面试题
(1) 多线程有几种实现方案,分别是哪几种?
(2) 同步有几种方式,分别是什么?
(3) 启动一个线程是run()还是start()?它们的区别?
(4) sleep()和wait()方法的区别;
(5) 为什么wait(),notify(),notifyAll()等方法都定义在Object类中;
(6) 线程的生命周期图。
3) 设计模式
了解什么是设计模式,设计模式的分类,熟练掌握单例设计模式(懒汉式、饿汉式)。
8 、网络编程
网络编程最主要的工作就是在发送端把信息通过规定好的协议进行组装包,在接收端按照规定好的协议把包进行解析,从而提取出对应的信息,达到通信的目的。
9、反射
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
Java新特性:(重点及理解)
Java7特性重点:
switch支持String、泛型自动类型推断
理解:可catch多个异常,异常之间使用“|”分隔
Java8特性重点:Lambda表达式、接口中的默认方法和静态方法、新的Date API。
大家凑合着看看吧。
视频教程你可以去B站上看一下老杜的159集的视频教程,这套视频教程在B站上的播放量是140多万,你说这套视频教程好不好呢?