关于我们
书单推荐
新书推荐
|
码解Java:让初学者读懂代码的入门书 读者对象:Java初学者,以及从事Java开发工作的人员。
本书主要通过代码案例帮助读者学习Java基础部分的相关知识,大部分内容都是以代码的形式呈现的,讲解部分也融入了代码注释中。通过阅读本书,读者可以更轻松、高效地掌握Java语言的语法结构与编程思维。本书首先介绍了Java语言中的基础语法结构,比如常量、变量、流程控制、数组、方法(函数)、面向对象、封装、继承、多态、抽象、接口、异常等,还介绍了日常开发中常见的一些工具类的相关使用方法。每个知识点都配备了相应的实操案例,包括具体的使用场景。本书内容以实操案例为主,对以实操为出发点的读者会更加友好。笔者(老邪)认为,可以通过搜索引擎轻松了解的知识,比如Java语言的概念、理论、历史、定义等相关内容,没有必要在本书中占用过多的篇幅。并且笔者认为,一切没有实操结果支撑的概念、理论都过于抽象,一些专业技术名词更加难以理解。所以在本书中,笔者整理了近百个实操案例,帮助读者快速地上手Java。
王冰,笔名为IT老邪,T教培行业从业十余年,累计授课时长超过两万小时,从业期间经手学员数以万计授课内容涵盖、C/C++ 语言、嵌入式开发、JavaWeb全栈开发、Web前端开发、PHP全栈开发、以及 Python 等主流开发语言。曾获得高校毕业生就业协会颁发的双师型导师认证,也曾任多个高校的牌品专业课讲师。抖音自媒体平台中粉丝量十余万。
目 录
第 1 章 小肆的第一个 Java 程序...........................................................1 1.1 Java 开发工具 ..................................................................................................... 1 1.1.1 编码工具 ....................................................................................1 1.1.2 IDE 集成开发工具 ....................................................................1 1.2 环境搭建 ............................................................................................................. 2 1.2.1 JVM、JRE、JDK 介绍 .............................................................2 1.2.2 JDK 的下载与安装 ....................................................................2 1.2.3 IntelliJ IDEA 的安装与使用 .....................................................5 第 2 章 常量与变量.......................................................................... 11 2.1 常量 ................................................................................................................... 11 2.2 数据类型的分类 ............................................................................................... 12 2.2.1 基本数据类型 ..........................................................................13 2.2.2 引用数据类型 ..........................................................................13 2.3 变量 ................................................................................................................... 14 2.3.1 变量的定义 ..............................................................................14 2.3.2 变量的输出 ..............................................................................15 2.3.3 使用变量的注意事项 ..............................................................17 X | 码解Java:让初学者读懂代码的入门书 2.3.4 数据类型转换 ..........................................................................17 2.4 本章思考 ........................................................................................................... 19 第 3 章 运算符 ................................................................................ 21 3.1 运算符的分类 ................................................................................................... 21 3.1.1 算术运算符 ..............................................................................21 3.1.2 逻辑运算符 ..............................................................................22 3.1.3 关系运算符 ..............................................................................23 3.1.4 三元运算符 ..............................................................................24 3.1.5 位运算符(了解) ..................................................................24 3.1.6 赋值运算符 ..............................................................................26 3.1.7 自增 / 自减运算符 ...................................................................27 3.2 思考 ................................................................................................................... 28 3.3 运算符优先级 ................................................................................................... 28 第 4 章 流程控制之判断结构............................................................. 29 4.1 程序运行流程(顺序) ................................................................................... 29 4.2 程序运行流程(可控) ................................................................................... 29 4.3 if 判断 ................................................................................................................ 30 4.3.1 if 的单独使用 ...........................................................................30 4.3.2 if 与 else 的配合使用 ..............................................................32 4.3.3 else if 的使用 ...........................................................................33 4.4.4 if 的嵌套使用 ...........................................................................38 4.4 思考 ................................................................................................................... 38 4.4.1 判断奇数 / 偶数 .......................................................................39 4.4.2 判断平闰年 ..............................................................................39 第 5 章 流程控制之分支 ................................................................... 40 5.1 标准语法 ........................................................................................................... 40 5.2 语法规则 ........................................................................................................... 41 5.3 案例 ................................................................................................................... 42 目 录 | XI 5.3.1 成绩等级划分 ..........................................................................42 5.3.2 使用键盘进行输入 ..................................................................43 5.3.3 计算器的基本功能 ..................................................................44 5.3.4 用户输入一个年份和月份,输出其对应的天数 ..................45 5.3.5 恺撒日期 ..................................................................................46 第 6 章 流程控制之循环 ................................................................... 49 6.1 循环的种类及标准写法 ................................................................................... 49 6.1.1 while 循环 ................................................................................49 6.1.2 do while 循环 ...........................................................................50 6.1.3 for 循环 ....................................................................................51 6.2 break 和 continue ............................................................................................... 52 6.2.1 break 的用法 ............................................................................52 6.2.2 continue 的用法 .......................................................................54 6.3 案例 ................................................................................................................... 55 6.3.1 输出 1-10 ..................................................................................55 6.3.2 输出 1 ~ 100 累加和 ..............................................................55 6.3.3 输出 1 ~ 100 的偶数和 ..........................................................56 6.3.4 输出所有水仙花数 ..................................................................56 6.3.5 输出 9 行 9 列星号组成的矩形 ..............................................57 6.3.6 输出 9 行星号组成的直角三角形 ..........................................57 6.3.7 九九乘法表 ..............................................................................58 6.3.8 输出 7 行 * 号组成的等腰三角形 ..........................................59 6.3.9 输出 1000 以内的素数 ............................................................60 第 7 章 数组 ................................................................................... 61 7.1 数组的概念 ....................................................................................................... 61 7.2 数组的使用 ....................................................................................................... 61 7.2.1 数组的定义 ..............................................................................61 7.2.2 数组的初始化 ..........................................................................62 7.2.3 数组成员的访问 ......................................................................62 XII | 码解Java:让初学者读懂代码的入门书 7.2.4 数组的特性 ..............................................................................62 7.3 案例 ................................................................................................................... 63 7.3.1 数组的遍历 ..............................................................................63 7.3.2 求最值 ......................................................................................63 7.3.3 查找数组中指定元素的所在位置 ..........................................64 7.3.4 数组逆序存储 ..........................................................................65 7.3.5 向有序数组中插入元素后保证数组仍有序 ..........................66 7.3.6 数组元素排序(升序、降序)——冒泡法 ..........................68 7.3.7 二维数组——矩阵转置(了解即可) ..................................70 7.3.8 二维数组——杨辉三角(了解即可) ..................................72 第 8 章 方法(函数)....................................................................... 74 8.1 方法的概念 ....................................................................................................... 74 8.1.1 方法的用途 ..............................................................................74 8.1.2 名词解析 ..................................................................................74 8.1.3 使用方法时的注意事项 ..........................................................75 8.1.4 方法的定义 ..............................................................................75 8.1.5 方法示例 ..................................................................................75 8.2 案例 ................................................................................................................... 78 8.3 方法的重载 ....................................................................................................... 80 8.3.1 方法的重载的特点 ..................................................................80 8.3.2 案例 ..........................................................................................81 第 9 章 面向对象............................................................................. 82 9.1 面向对象中类与对象的概念 ........................................................................... 82 9.2 类的定义 ........................................................................................................... 83 9.3 对象的使用 ....................................................................................................... 83 9.3.1 对象的使用步骤 ......................................................................83 9.3.2 成员变量与局部变量 ..............................................................85 9.3.3 成员方法与普通方法 ..............................................................85 9.3.4 对象间的赋值 ..........................................................................86 目 录 | XIII 9.3.5 方法中对象的使用 ..................................................................86 9.3.6 this 的用法 ...............................................................................87 9.4 封装 ................................................................................................................... 87 9.5 构造方法 ........................................................................................................... 89 9.6 案例 ................................................................................................................... 90 第 10 章 继承.................................................................................. 94 10.1 继承的作用(意义) ..................................................................................... 94 10.2 继承的特点 ..................................................................................................... 94 10.3 继承的格式 ..................................................................................................... 95 10.4 继承间成员的访问 ......................................................................................... 95 10.4.1 父类、子类、局部变量名重复、冲突时访问规则 ............95 10.4.2 方法名重复时的访问规则——方法的重写 ........................96 10.5 继承中的权限 ................................................................................................. 98 第 11 章 抽象和接口 ........................................................................ 99 11.1 抽象(abstract) ............................................................................................. 99 11.1.1 abstract 修饰符 .......................................................................99 11.1.2 举例说明 ................................................................................99 11.1.3 案例 ......................................................................................100 11.2 接口(interface) .......................................................................................... 101 11.2.1 接口的定义 ..........................................................................102 11.2.2 接口中的成员 ......................................................................102 11.3 接口的实现 .................................................................................................... 103 11.3.1 实现接口的格式 ..................................................................103 11.3.2 一个类可以同时实现多个接口 ..........................................103 11.3.3 接口的多继承 ......................................................................104 11.3.4 一个类可以在继承其他类的同时实现一个或多个接口 ...104 11.4 final 的使用.................................................................................................... 104 11.5 案例 ................................................................................................................ 105 11.5.1 Demo01 ................................................................................105 XIV | 码解Java:让初学者读懂代码的入门书 11.5.2 Demo02 ................................................................................109 11.5.3 Demo03 ................................................................................ 110 第 12 章 多态................................................................................ 113 12.1 格式 ............................................................................................................... 113 12.2 多态调用成员方法 ....................................................................................... 113 12.3 多态调用成员属性 ....................................................................................... 114 12.4 对象的上下转型 ........................................................................................... 114 12.5 案例 ............................................................................................................... 114 12.5.1 动物案例 .............................................................................. 114 12.5.2 USB 设备实例 ..................................................................... 117 第 13 章 内部类............................................................................. 120 13.1 内部类的概述 ............................................................................................... 120 13.1.1 内部类的定义格式 ..............................................................120 13.1.2 内部类的访问特点 ..............................................................120 13.2 内部类的分类 ............................................................................................... 121 13.2.1 成员内部类 ..........................................................................121 13.2.2 局部内部类 ..........................................................................122 13.2.3 匿名内部类 ..........................................................................123 第 14 章 常用类............................................................................. 127 14.1 包装类 ........................................................................................................... 127 14.2 String .............................................................................................................. 130 14.2.1 字符串类的特点 ..................................................................130 14.2.2 常用构造方法 ......................................................................130 14.2.3 String 对象的特点 ...............................................................131 14.2.4 String 的比较 .......................................................................131 14.2.5 常用方法 ..............................................................................132 14.2.6 示例 ......................................................................................133 14.3 StringBuilder & StringBuffer ........................................................................ 137 目 录 | XV 14.4 String 和 StringBuilder 的相互转换 ............................................................. 139 14.5 Arrays ............................................................................................................. 139 14.6 Math ............................................................................................................... 141 14.7 Object ............................................................................................................. 142 14.8 System ............................................................................................................ 146 14.9 Date ................................................................................................................ 147 14.10 SimpleDateFormat ....................................................................................... 148 14.11 Calendar ....................................................................................................... 150 14.11.1 获取对象 ............................................................................150 14.11.2 常用方法 ............................................................................150 第 15 章 File ................................................................................. 152 15.1 构造方法 ....................................................................................................... 152 15.2 File 类的创建功能 ........................................................................................ 153 15.3 File 类的判断和获取功能 ............................................................................ 153 15.4 File 类的删除功能 ........................................................................................ 154 15.5 递归遍历目录 ............................................................................................... 155 第 16 章 I/O 流............................................................................. 157 16.1 I/O 流的分类 ................................................................................................. 157 16.2 字节流 ........................................................................................................... 158 16.2.1 字节流写数据 ......................................................................158 16.2.2 字节流输出异常处理 ..........................................................160 16.2.3 字节流读数据 ......................................................................160 16.2.4 字节输入 / 输出流缓冲区 ...................................................163 16.3 字符流 ........................................................................................................... 166 16.3.1 字符流写数据 —— write() .................................................168 16.3.2 字符流读数据—— read() ...................................................169 16.3.3 复制文件 ..............................................................................170 16.3.4 缓冲区(高效读写) ..........................................................171 16.4 标准输入流和标准输出流 ........................................................................... 173 XVI | 码解Java:让初学者读懂代码的入门书 第 17 章 序列化............................................................................. 174 17.1 对象序列化 ................................................................................................... 174 17.2 对象序列化流 ............................................................................................... 174 17.3 对象反序列化流 ........................................................................................... 175 17.4 案例(读写) ............................................................................................... 175 17.5 序列化过程中的问题 ................................................................................... 177 第 18 章 异常................................................................................ 178 18.1 异常处理方式 ............................................................................................... 178 18.2 异常类 ........................................................................................................... 178 18.3 异常的解决方案 ........................................................................................... 179 18.4 异常的抛出 ................................................................................................... 180 18.5 自定义异常类 ............................................................................................... 181 第 19 章 Java 中的集合................................................................... 184 19.1 集合概述 ....................................................................................................... 184 19.2 ArrayList ........................................................................................................ 184 19.2.1 ArrayList 构造方法和添加方法 .........................................185 19.2.2 ArrayList 集合中的常用方法 .............................................185 19.3 Collection ....................................................................................................... 201 19.3.1 Collection 集合概述 ............................................................201 19.3.2 Collection 集合常用方法 ....................................................202 19.3.3 Collection 集合的遍历 ........................................................202 19.4 List ................................................................................................................. 203 19.4.1 List 集合概述 .......................................................................203 19.4.2 List 集合特有方法 ...............................................................204 19.4.3 List 集合的遍历 ...................................................................204 19.4.4 并发修改异常 ......................................................................205 19.4.5 ListIterator ............................................................................206 19.4.6 数据结构 ..............................................................................208 19.4.7 List 集合子类 .......................................................................212 目 录 | XVII 19.4.8 LinkedList ............................................................................213 19.5 Set .................................................................................................................. 214 19.5.1 Set 集合概述 ........................................................................214 19.5.2 Hash 值 .................................................................................215 19.5.3 Hash 表 .................................................................................217 19.5.4 HashSet .................................................................................217 19.5.5 LinkedHashSet .....................................................................218 19.5.6 TreeSet ..................................................................................219 19.6 泛型 ............................................................................................................... 224 19.6.1 泛型定义格式 ......................................................................224 19.6.2 泛型的优点 ..........................................................................224 19.6.3 泛型类 ..................................................................................225 19.6.4 泛型方法 ..............................................................................227 19.6.5 泛型接口 ..............................................................................229 19.6.6 泛型通配符 ..........................................................................230 19.6.7 可变参数 ..............................................................................231 19.6.8 可变参数的使用 ..................................................................232 19.7 Map ................................................................................................................ 233 19.7.1 Map 集合概述和使用 ..........................................................233 19.7.2 Map 集合的常用方法 ..........................................................234 19.7.3 Map 集合的获取功能 ..........................................................236 19.7.4 Map 集合的遍历 ..................................................................237 19.7.5 集合嵌套 ..............................................................................239 19.7.6 Map 集合案例 ......................................................................240 19.7.7 Collections ............................................................................241 19.8 Properties ....................................................................................................... 244 第 20 章 Java 中的反射................................................................... 247 20.1 类加载器(了解) ....................................................................................... 247 20.1.1 类加载 ..................................................................................247 20.1.2 类加载器 ..............................................................................248 20.2 反射 ............................................................................................................... 249 XVIII | 码解Java:让初学者读懂代码的入门书 20.2.1 概述 ......................................................................................249 20.2.2 获取 Class 类的对象 ...........................................................250 20.2.3 通过反射获取构造方法 ......................................................250 20.2.4 通过反射创建对象 ..............................................................251 20.2.5 反射获取成员变量 ..............................................................252 20.2.6 反射获取成员方法 ..............................................................253 20.2.7 反射抑制泛型检查 ..............................................................254 20.2.8 通过配置文件实现反射 ......................................................255 第 21 章 Java 中的多线程................................................................ 258 21.1 实现多线程 ................................................................................................... 258 21.1.1 多线程的实现:方式一 ......................................................258 21.1.2 设置和获取线程名称 ..........................................................259 21.1.3 线程调度 ..............................................................................260 21.1.4 线程控制 ..............................................................................261 21.1.5 线程生命周期 ......................................................................265 21.1.6 多线程的实现:方式二 ......................................................265 21.2 线程同步 ....................................................................................................... 267 21.2.1 线程同步概述 ......................................................................267 21.2.2 线程同步的优势与弊端 ......................................................270 21.2.3 线程同步方法 ......................................................................270 21.2.4 线程安全的类 ......................................................................272 21.2.5 Lock ......................................................................................273 21.3 生产者、消费者模型 ................................................................................... 274 21.4 Timer 定时器 ................................................................................................. 277 第 22 章 Lambda 表达式 ................................................................ 279 22.1 Lambda 概述 ................................................................................................. 279 22.1.1 简单案例:通过 Lambda 创建并启动线程 .......................279 22.1.2 Lambda 表达式的基本格式 ................................................280 22.1.3 Lambda 表达式案例 ............................................................280 目 录 | XIX 22.1.4 Lambda 的省略模式 ............................................................281 22.1.5 Lambda 的注意事项 ............................................................284 22.1.6 Lambda 与匿名内部类 ........................................................284 22.2 Lambda 支持的方法引用 ............................................................................. 284 22.1.1 常见的引用方式 ..................................................................284 22.1.2 案例 ......................................................................................284 22.3 函数式接口 ................................................................................................... 290 22.3.1 函数式接口作为方法的参数 ..............................................291 22.3.2 函数式接口作为方法的返回值 ..........................................291 22.4 常用的函数式接口 ....................................................................................... 292 22.4.1 Supplier ................................................................................292 22.4.2 Consumer ..............................................................................294 22.4.3 Predicate ...............................................................................295 22.4.4 Function ................................................................................297 22.5 Stream 流 ....................................................................................................... 298 22.5.1 流的不同状态 ......................................................................298 22.5.2 Stream 流的生成方式 ..........................................................299 22.5.3 Stream 中间流的操作方式 ..................................................300 22.5.4 Stream 结束流的操作方式 ..................................................303 22.5.5 案例 ......................................................................................304 第 23 章 网络编程 ......................................................................... 306 23.1 网络编程概述 ............................................................................................... 306 23.2 UDP 通信程序 .............................................................................................. 308 23.2.1 UDP 通信原理 .....................................................................308 23.2.2 使用 UDP 发送数据 ............................................................309 23.2.3 使用 UDP 接收数据 ............................................................310 23.2.4 案例:使用 UDP 收 / 发数据 ............................................. 311 23.2.5 模拟聊天室 ..........................................................................313 23.3 TCP 通信程序 ............................................................................................... 319 23.3.1 TCP 通信原理 ......................................................................319 23.3.2 使用 TCP 发送数据 .............................................................319 XX | 码解Java:让初学者读懂代码的入门书 23.3.3 使用 TCP 接收数据 .............................................................320 23.3.4 案例 ......................................................................................320 第 24 章 Java 中的枚举类型 ............................................................ 329 24.1 枚举类型的概述 ........................................................................................... 329 24.2 语法结构 ....................................................................................................... 329 24.2.1 基本语法结构示例 ..............................................................329 24.2.2 完整语法结构示例 ..............................................................330 24.2.3 枚举的 set 方法与 get 方法 .................................................332 24.2.4 枚举的常用方法 ..................................................................333 24.3 应用场景 ....................................................................................................... 333 24.4 注意事项 ....................................................................................................... 335
你还可能感兴趣
我要评论
|