《项目驱动零起点学Java》是由清华大学出版社出版的一本关于Java方面的书籍,作者是马士兵、赵珊珊,主要介绍了关于Java方面的知识内容,目前在Java类书籍综合评分为:8.3分。
书籍介绍
百万程序员Java学习经验总结,116小时视频专栏讲解,手把手分解教学坦克大战项目,赠送学习笔记和代码、学习路线图4K壁纸,专业答疑团队入驻读者群
编辑推荐
《项目驱动零起点学Java》贯穿6个完整项目,经过作者多年教学经验提炼而得,项目从小到大、从短到长,可以让读者在练习项目的过程中,快速掌握一系列知识点。
作者是国内知名Java教学者和传播者,一路披荆斩棘,兢兢业业20余年。积累了丰富的“培”“训”经验,也产出了很多优质的教学理论。
Java语言经过数十年的发展,体系逐渐变得庞大而复杂,本书芟繁就简,提炼出了为重要的知识点,可以让读者轻松上手。本书配套有专栏课程,课程中提供了扩展内容。
内容简介
《项目驱动零起点学Java》共分13章,围绕6个项目和258个代码示例,分别介绍了走进Java的世界、变量与数据类型、运算符、流程控制、方法、数组、面向对象、异常、常用类、集合、I/O流、多线程、网络编程相关内容。《项目驱动零起点学Java》总结了马士兵老师从事Java培训十余年来经受了市场检验的教研成果,通过6个项目以及每章的示例和习题,可以帮助读者快速掌握Java编程的语法以及算法实现。扫描每章提供的二维码可观看相应章节内容的视频讲解。
作者简介
马士兵,马士兵教育创始人,毕业于清华大学,著名IT讲师,所讲课程广受欢迎,学生遍布全球大厂,擅长用简单的语言讲授复杂的问题,擅长项目驱动知识的综合学习。马士兵教育获得在线教育“名课堂”奖、“受欢迎机构”奖。
赵珊珊,从事多年一线开发,曾为国税、地税税务系统工作。拥有7年一线教学经验,多年线上、线下教育的积累沉淀,培养学员数万名,讲解细致,脉络清晰。
目录
- 第1章走进Java的世界1
- 1.1Java简史1
- 1.2Java的特点2
- 1.3Java跨平台原理3
- 1.4Java开发环境的搭建4
- 1.4.1什么是JDK4
- 1.4.2JDK的安装4
- 1.4.3环境变量的配置6
- 1.4.4开发环境测试8
- 1.5编写和运行个Java程序8
- 1.6注释10
- 1.6.1单行注释10
- 1.6.2多行注释10
- 1.6.3文档注释11
- 1.7使用IDEA开发Java程序11
- 1.7.1IDEA的下载11
- 1.7.2IDEA的安装12
- 1.7.3使用IDEA开发Java程序16
- 本章小结23
- 练习题23
- 第2章变量与数据类型25
- 2.1标识符25
- 2.2关键字26
- 2.3变量26
- 2.3.1变量的声明和赋值26
- 2.3.2变量的使用27
- 2.3.3变量的内存分析27
- 2.3.4变量的作用域28
- 2.4数据类型29
- 2.5基本数据类型之间的转换31
- 2.5.1自动类型转换31
- 2.5.2强制类型转换32
- 2.6获取用户终端输入32
- 2.7常量33
- 本章小结34
- 练习题34
- 第3章运算符36
- 3.1算术运算符36
- 3.2赋值运算符和扩展赋值运算符37
- 3.3关系运算符37
- 3.4逻辑运算符38
- 3.5条件运算符39
- 3.6位运算符40
- 3.7运算符的优先级别41
- 本章小结42
- 练习题42
- 第4章流程控制44
- 4.1分支结构44
- 4.1.1if分支44
- 4.1.2switch分支49
- 4.2项目驱动——小鲨鱼收支记账软件50
- 4.3循环结构51
- 4.3.1while循环52
- 4.3.2for循环57
- 4.3.3do…while循环58
- 4.4循环控制关键字59
- 4.4.1break59
- 4.4.2continue60
- 本章小结62
- 练习题62
- 第5章方法64
- 5.1方法的定义64
- 5.2方法的调用65
- 5.3方法的定义、调用小结66
- 5.4方法的参数传递67
- 5.5方法的重载69
- 5.6递归70
- 本章小结71
- 练习题71
- 第6章数组73
- 6.1数组的介绍73
- 6.2数组的声明和赋值73
- 6.3项目驱动——双色球彩票系统176
- 6.4数组的常用操作78
- 6.4.1遍历操作78
- 6.4.2项目驱动——双色球彩票系统279
- 6.4.3查找元素83
- 6.4.4插入元素84
- 6.4.5删除元素85
- 6.4.6值问题86
- 6.4.7排序算法88
- 6.5Arrays工具类的使用89
- 6.6二维数组90
- 本章小结93
- 练习题94
- 第7章面向对象96
- 7.1面向对象和面向过程的关系96
- 7.2类和对象96
- 7.2.1类的编写97
- 7.2.2对象的创建和使用97
- 7.3成员变量和局部变量99
- 7.4构造器99
- 7.4.1构造器的定义100
- 7.4.2构造器的重载101
- 7.5this关键字102
- 7.6static关键字104
- 7.6.1static修饰属性104
- 7.6.2static修饰方法106
- 7.6.3static修饰代码块107
- 7.6.4static静态导包108
- 7.7代码块108
- 7.7.1普通代码块108
- 7.7.2构造代码块109
- 7.8包110
- 7.9封装111
- 7.10继承114
- 7.10.1继承的原理114
- 7.10.2继承的特性116
- 7.10.3方法的重写117
- 7.10.4权限修饰符117
- 7.10.5super关键字118
- 7.10.6项目驱动——比萨自助点餐系统120
- 7.10.7Object类125
- 7.11多态128
- 7.11.1多态的实现128
- 7.11.2多态的表现形式130
- 7.11.3类型转换131
- 7.11.4instanceof运算符132
- 7.12final关键字133
- 7.12.1final修饰变量133
- 7.12.2final修饰方法134
- 7.12.3final修饰类134
- 7.13抽象方法和抽象类134
- 7.14接口135
- 7.14.1接口的定义135
- 7.14.2接口的特性137
- 7.15内部类138
- 7.15.1成员内部类138
- 7.15.2静态内部类139
- 7.15.3局部内部类140
- 7.15.4匿名内部类141
- 7.16项目驱动——坦克大战之分解1141
- 本章小结149
- 练习题149
- 第8章异常151
- 8.1异常的引入151
- 8.2利用try-catch-finally机制捕获异常154
- 8.3多重catch156
- 8.4异常的分类158
- 8.5throws关键字158
- 8.6throw关键字160
- 8.7throw和throws的区别161
- 8.8自定义异常162
- 本章小结163
- 练习题163
- 第9章常用类165
- 9.1File类165
- 9.1.1操作文件165
- 9.1.2操作目录167
- 9.2包装类169
- 9.2.1包装类的引入169
- 9.2.2包装类的使用169
- 9.3Math类171
- 9.4Random类172
- 9.5枚举类174
- 9.6日期时间类176
- 9.6.1Date类176
- 9.6.2SimpleDateFormat类178
- 9.6.3Calendar类181
- 9.6.4LocalDateTime类184
- 9.6.5DateTimeFormatter类185
- 9.7字符串类186
- 9.7.1String类186
- 9.7.2StringBuilder类189
- 9.7.3StringBuffer类192
- 本章小结193
- 练习题193
- 第10章集合195
- 10.1使用集合的原因195
- 10.2集合的体系结构195
- 10.3Collection接口196
- 10.4List接口197
- 10.4.1List接口中常用方法197
- 10.4.2List接口实现类之ArrayList类197
- 10.4.3List接口实现类之Vector类201
- 10.4.4List接口实现类之LinkedList类201
- 10.5泛型204
- 10.6Set接口206
- 10.6.1Set接口实现类之HashSet类206
- 10.6.2Set接口实现类之TreeSet类213
- 10.7Map接口220
- 10.7.1Map接口实现HashMap类221
- 10.7.2Map接口实现TreeMap类226
- 10.8Collections类的使用231
- 10.9项目驱动——坦克大战之分解2232
- 本章小结244
- 练习题244
- 第11章I/O流246
- 11.1I/O流介绍246
- 11.2I/O流的分类247
- 11.3字节流248
- 11.3.1字节输入流249
- 11.3.2字节输出流252
- 11.3.3利用字节流完成文件的复制操作253
- 11.4字节缓冲流253
- 11.5字符流255
- 11.5.1字符输入流255
- 11.5.2字符输出流257
- 11.5.3利用字符流完成文件的复制操作257
- 11.6字符缓冲流258
- 11.7转换流259
- 11.7.1OutputStreamWriter类259
- 11.7.2InputStreamReader类260
- 11.8打印流261
- 11.8.1PrintStream类261
- 11.8.2PrintWriter类262
- 11.9数据流263
- 11.10对象流、序列化、反序列化264
- 本章小结270
- 练习题270
- 第12章多线程272
- 12.1程序、进程、线程272
- 12.2创建线程的三种方式273
- 12.2.1继承Thread类方式273
- 12.2.2实现Runnable接口方式276
- 12.2.3实现Callable接口方式276
- 12.3线程的生命周期278
- 12.4线程的常用方法279
- 12.5线程安全问题285
- 12.5.1同步代码块287
- 12.5.2同步方法288
- 12.5.3Lock锁289
- 12.5.4线程同步的优缺点290
- 12.6项目驱动——生产者消费者模型292
- 12.7项目驱动——坦克大战之分解3300
- 12.8线程池302
- 本章小结303
- 练习题303
- 第13章网络编程306
- 13.1网络编程之网络通信三要素306
- 13.1.1IP地址306
- 13.1.2端口号307
- 13.1.3网络参考模型与通信协议307
- 13.2TCP协议与TCP通信308
- 13.2.1TCP协议308
- 13.2.2TCP通信309
- 13.3项目驱动——模拟网站登录310
- 13.4UDP协议与UDP通信319
- 13.4.1UDP协议319
- 13.4.2UDP通信320
- 本章小结322
-
练习题322