关于我们
![]() ![]() |
从零开始学Java 读者对象:本书适合Java初学者、软件开发入门者自学使用,也可用作高等院校相关专业的教材及参考书。
本书从零基础读者的角度出发,通过通俗易懂的语言、丰富多彩的实例,循序渐进地让读者在实践中学习Java编程知识,并提升自己的实际开发能力。
全书共分为4篇20章,内容包括搭建开发环境、第一个Java程序、变量和基本数据类型、运算符、流程控制语句、数组、方法、面向对象编程、字符串、Java常用类、异常处理、枚举与泛型、集合、I/O流、Swing程序设计、AWT绘图、线程、使用JDBC操作数据库、像素鸟游戏、咸鱼快递打印系统等。书中知识点讲解细致,侧重介绍每个知识点的使用场景,涉及的代码给出了详细的注释,可以使读者轻松领会Java语言程序开发的精髓,快速提高开发技能。同时,本书配套了大量教学视频,扫码即可观看,还提供所有的程序源文件,方便读者实践。 本书适合Java初学者、软件开发入门者自学使用,也可用作高等院校相关专业的教材及参考书。
第1篇 基础知识篇
第1章 搭建开发环境 2 视频讲解:7节,25分钟 1.1 Java概述 3 1.1.1 Java的两个常用版本 3 1.1.2 Java的主要特点及其用途 3 1.2 JDK和Eclipse 4 1.2.1 JDK的下载与安装 4 1.2.2 Eclipse的下载与启动 9 1.3 Eclipse的窗口和菜单 12 1.3.1 Eclipse的窗口说明 12 1.3.2 Eclipse的菜单说明 12 本章知识思维导图 13 第2章 第一个Java程序 14 视频讲解:11节,30分钟 2.1 编写Java程序的5个步骤 15 2.1.1 第1步:新建Java项目 15 2.1.2 第2步:新建Java类 16 2.1.3 第3步:编写Java代码 17 2.1.4 第4步:保存Java代码 17 2.1.5 第5步:运行Java应用程序 17 2.2 Java程序的组成部分 18 2.2.1 类 18 2.2.2 主方法 19 2.2.3 关键字 20 2.2.4 标识符 22 2.2.5 注释 22 2.2.6 控制台的输出操作 24 2.3 编码规范 25 本章知识思维导图 26 第3章 变量和基本数据类型 27 视频讲解:8节,39分钟 3.1 变量和常量 28 3.1.1 变量 28 3.1.2 常量 28 3.2 基本数据类型 29 3.2.1 整数类型 29 3.2.2 浮点类型 31 3.2.3 字符类型 32 3.2.4 布尔类型 34 3.3 类型转换 34 3.3.1 自动类型转换 34 3.3.2 强制类型转换 35 本章知识思维导图 36 第4章 运算符 37 视频讲解:10节,52分钟 4.1 赋值运算符 38 4.2 算术运算符 39 [实例4.1] 计算两个数字的和、差、积、商和余数 39 4.3 自增和自减运算符 41 [实例4.2] 计算两个数字的和、差、积、商和余数 41 4.4 关系运算符 42 [实例4.3] 比较两个数字的关系 42 4.5 逻辑运算符 43 [实例4.4] 判断逻辑表达式的是与非 44 4.6 位运算符 44 4.6.1 位逻辑运算符 45 [实例4.5] 判断位逻辑表达式的是与非 46 4.6.2 移位运算符 46 4.7 复合赋值运算符 49 4.8 三元运算符 50 4.9 圆括号 50 4.10 运算符优先级 51 本章知识思维导图 52 第5章 流程控制语句 53 视频讲解:9节,106分钟 5.1 分支结构 54 5.1.1 if语句 54 [实例5.1] 模拟拨打电话场景 55 5.1.2 if…else语句 55 5.1.3 if…else if多分支语句 56 [实例5.2] 根据用餐人数入座 57 5.1.4 判断语句嵌套 58 [实例5.3] 判断输入的年份是不是闰年 58 5.1.5 switch多分支语句 59 [实例5.4] 判断输入的分数属于哪类成绩 60 5.2 循环结构 62 5.2.1 while循环语句 62 [实例5.5] 使用while循环语句将1~10相加 62 5.2.2 do…while循环语句 63 [实例5.6] 判断用户输入的密码是否正确 63 5.2.3 for循环语句 63 [实例5.7] 使用for循环完成1~100相加的运算 64 5.2.4 foreach语句 65 [实例5.8] 使用foreach语句遍历数组 65 5.2.5 循环语句的嵌套 66 [实例5.9] 打印乘法口诀表 66 5.3 控制循环结构 67 5.3.1 break语句 67 [实例5.10] 打印1~20中的偶数 67 [实例5.11] 控制内层循环的循环次数 68 5.3.2 continue语句 68 [实例5.12] 打印1~20中的偶数 69 本章知识思维导图 70 第6章 数组 71 视频讲解:9节,48分钟 6.1 数组概述 72 6.2 一维数组 72 6.2.1 创建一维数组 73 6.2.2 给一维数组赋值 74 6.2.3 获取数组长度 75 [实例6.1] 调用length属性获取班级总人数 75 6.2.4 遍历一维数组 75 [实例6.2] 打印1~12月份各个月份的天数 75 6.3 二维数组 76 6.3.1 创建二维数组 77 6.3.2 给二维数组赋值 78 [实例6.3] 使用3种方法分别为3个二维数组赋值 78 6.3.3 遍历二维数组 78 [实例6.4] 分别用横版和竖版两种方式输出古诗 79 6.4 不规则数组 80 [实例6.5] 不规则二维数组每行的元素个数和各元素的值 80 本章知识思维导图 81 第7章 方法 82 视频讲解:8节,44分钟 7.1 定义方法 83 7.2 返回值 83 7.2.1 返回值类型 84 7.2.2 无返回值 85 [实例7.1] 使用return语句结束循环语句 86 7.3 参数 86 7.3.1 值参数 87 [实例7.2] 计算两个数之和的add()方法 87 7.3.2 引用参数 87 [实例7.3] 修改一维数组中各个元素的值 87 7.3.3 不定长参数 88 [实例7.4] 求多个int型值之和 88 7.4 重载 89 [实例7.5] 编写add()方法的多个重载形式 89 7.5 递归 90 本章知识思维导图 91 第8章 面向对象编程 94 视频讲解:22节,132分钟 8.1 面向对象概述 95 8.1.1 对象 95 8.1.2 类 95 8.1.3 面向对象程序设计的特点 96 8.2 面向对象基础 96 8.2.1 成员变量 97 8.2.2 成员方法 97 8.2.3 构造方法 98 8.2.4 this关键字 99 [实例8.1] 打印参数的值 99 [实例8.2] 购买鸡蛋灌饼时加几个蛋 100 8.3 static关键字 101 8.3.1 静态变量 101 [实例8.3] 修改静态成员变量的值 101 8.3.2 静态方法 102 [实例8.4] 打印衬衫、牛仔裤和皮鞋的产地 102 8.3.3 静态代码块 103 [实例8.5] 类成员的执行顺序 103 8.4 类的继承 104 8.4.1 extends关键字 104 [实例8.6] 父、子类中的构造方法的执行顺序 105 8.4.2 方法的重写 105 [实例8.7] 子类重写父类中的方法 105 8.4.3 super关键字 106 [实例8.8] 子类调用父类属性 106 [实例8.9] 子类调用并重写父类方法 107 [实例8.10] 使用super调用父类构造方法 108 8.4.4 所有类的父类——Object类 108 [实例8.11] 重写并自动调用toString()方法 109 8.5 类的多态 110 8.5.1 向上转型 110 [实例8.12] 有一个人是一名教师 110 8.5.2 向下转型 111 [实例8.13] 不能说某只鸟是一只鸽子 111 8.5.3 instanceof关键字 112 [实例8.14] 判断以下说法正确与否 113 8.6 抽象类 114 8.6.1 abstract关键字 114 8.6.2 抽象类的使用 114 [实例8.15] 输出鸡的繁殖和移动方式 115 [实例8.16] 输出老鹰的繁殖和移动方式 116 [实例8.17] 九尾狐变成了人形 117 [实例8.18] 输出鸵鸟的体重和繁殖方式 117 8.7 接口 118 8.7.1 interface关键字 119 8.7.2 类实现接口 121 [实例8.19] 输出土拨鼠的两个发声方式 121 [实例8.20] 孩子喜欢做的事和爸爸、妈妈喜欢做的一样 122 8.7.3 接口继承接口 123 [实例8.21] 一个接口继承另外3个接口 123 8.8 final关键字 124 8.8.1 final类 124 [实例8.22] 把五星红旗类创建为final类 125 8.8.2 final方法 125 [实例8.23] 判断子类方法是不是重写父类方法后的方法 126 8.8.3 final变量 127 8.9 内部类 128 8.9.1 成员内部类 128 [实例8.24] 外部类调用内部类的方法 128 [实例8.25] 在其他类中使用成员内部类 129 8.9.2 静态内部类 130 [实例8.26] 内部类访问外部类的静态成员 130 [实例8.27] 外部类调用静态内部类的方法 130 8.9.3 局部内部类 131 [实例8.28] 只能在代码块中使用的局部内部类 131 本章知识思维导图 132 第9章 字符串 133 视频讲解:15节,97分钟 9.1 字符串与String类型 134 9.1.1 字符串 134 9.1.2 创建字符串 134 9.2 操作字符串 136 9.2.1 拼接字符串 136 [实例9.1] 用两种形式打印两个整数相加的结果 137 9.2.2 获取字符串长度 138 9.2.3 获取指定位置的字符 138 [实例9.2] 找到索引位置是4 的字符 138 9.2.4 查找子字符串索引位置 139 [实例9.3] 找到指定字符首次和末次出现的索引值 139 [实例9.4] 找到指定字符串首次出现的索引值 140 9.2.5 判断字符串首尾内容 140 [实例9.5] 打印海尔品牌的电器名称 140 [实例9.6] 打印所有MP4视频文件 141 9.2.6 获取字符数组 141 [实例9.7] 将一个字符串转换成字符数组 142 9.2.7 判断字符串是否包含指定内容 142 [实例9.8] 字符串是否包含指定内容 142 9.2.8 截取字符串 143 [实例9.9] 截取身份证号中的出生年月日 143 9.2.9 字符串替换 143 [实例9.10] 把“张三”改成“李四” 144 [实例9.11] 清除字符串中的内容 144 [实例9.12] 清除字符串中所有的字母 144 [实例9.13] 清除字符串中的空白内容 145 [实例9.14] replace()比replaceAll()更好用 145 9.2.10 字符串分隔 146 [实例9.15] 按照“,”分隔字符串 146 9.2.11 大小写转换 146 [实例9.16] 将大写字母转为小写字母 147 [实例9.17] 将小写字母转为大写字母 147 9.2.12 去除空白内容 148 [实例9.18] 删除字符串首尾的空格 148 [实例9.19] 删除字符串首尾的转义字符 148 9.2.13 比较字符串是否相等 148 [实例9.20] 判断两个String对象的文字内容是否相等 149 9.3 可变字符串StringBuilder类 149 9.3.1 创建StringBuilder类 150 9.3.2 拼接 150 [实例9.21] 拼接儿歌 151 9.3.3 重设字符 151 [实例9.22] 对手机号中间的四位数字作打码处理 151 9.3.4 插入 151 [实例9.23] 在字符串指定索引处插入一个新的字符串 152 9.3.5 删除 152 [实例9.24] 删除字符串中的指定内容 152 [实例9.25] 删除字符串中的首字母 153 9.3.6 替换 153 9.3.7 反转 154 [实例9.26] 将“123456789”作翻转处理 154 本章知识思维导图 155 第10章 Java常用类 156 视频讲解:9节,75分钟 10.1 包装类 157 10.1.1 Integer类 157 [实例10.1] 转换进制格式 158 [实例10.2] 把字符串转换为int型值 158 [实例10.3] 字符串形式的十六进制转换成int型十进制 159 [实例10.4] int型十进制转换成字符串形式的二进制 159 [实例10.5] int型十进制转换成字符串形式的八进制 160 [实例10.6] int型十进制转换成字符串形式的十六进制 160 10.1.2 Double类 160 [实例10.7] Double类一些常用方法的使用方式 162 10.1.3 Boolean类 162 10.1.4 Character类 165 [实例10.8] 判断是否为大写英文字符。如果是,转小写 166 10.1.5 Number类 167 10.2 Math类 169 10.2.1 三角函数 169 10.2.2 指数函数 170 10.2.3 取整 171 10.2.4 取最大值、最小值、绝对值 172 10.2.5 随机数 172 10.3 Random类 173 [实例10.9] 随机打印四个小写英文字母 174 10.4 Date类 174 [实例10.10] 打印当前日期及其毫秒数 175 10.5 日期格式化 176 本章知识思维导图 179 第11章?异常处理 180 视频讲解:8节,40分钟 11.1 什么是异常 181 [实例11.1] 除数为0 181 11.2 异常的分类 181 11.2.1 错误——Erro/ 181 11.2.2 异常——Exception 183 [实例11.2] 空指针异常 183 [实例11.3] 读取某个不存在的文件 184 11.3 捕捉异常 185 11.3.1 try-catch代码块 185 [实例11.4] 数组下表越界异常 186 11.3.2 finally代码块 187 11.4 抛出异常 187 11.4.1 使用throws关键字抛出异常 188 [实例11.5] 读取某个不存在的文件 188 11.4.2 使用throw关键字抛出异常 189 [实例11.6] 年龄小于0? 189 本章知识思维导图 190 第12章 枚举与泛型 191 视频讲解:3节,29分钟 12.1 枚举 192 [实例12.1] 判断枚举值是否相等 193 12.2 泛型 194 12.2.1 定义泛型类 195 [实例12.2] 使用泛型定义成员变量和成员方法参数 196 12.2.2 定义泛型方法 197 [实例12.3] 创建带泛型的成员方法和静态方法 198 本章知识思维导图 198 第13章 集合 199 视频讲解:8节,42分钟 13.1 集合类概述 200 13.2 Set集合 200 13.2.1 Set接口 200 13.2.2 Set接口的实现类 201 [实例13.1] 查看HashSet集合中的元素值和排列顺序 201 13.2.3 Iterator迭代器 202 [实例13.2] 使用Iterator迭代器遍历集合中的元素 203 13.3 List队列 204 13.3.1 List接口 204 13.3.2 List接口的实现类 204 [实例13.3] 使用ArrayList类实例化List接口 205 [实例13.4] 删除队列中的元素 205 [实例13.5] 在13张牌中随机抽取不重复的10张牌 207 13.4 Map键值对 208 13.4.1 Map接口 208 13.4.2 Map接口的实现类 209 本章知识思维导图 211 第14章 I/O流 214 视频讲解:10节,81分钟 14.1 流概述 215 14.2 输入/输出流 215 14.2.1 输入流 216 14.2.2 输出流 217 14.3 File类 219 14.3.1 创建文件对象 219 14.3.2 文件操作 220 [实例14.1] 创建、删除文件和读取文件属性 221 14.3.3 文件夹操作 223 [实例14.2] 操作文件夹 223 [实例14.3] 批量重命名文件 224 [实例14.4] 批量删除文件 225 14.4 文件输入/输出流 225 14.4.1 FileInputStream类与FileOutputStream类 225 [实例14.5] 避免乱码的出现 226 14.4.2 FileReader类与FileWriter类 227 [实例14.6] 把控制台上的内容写入文件 228 14.5 带缓冲的输入/输出流 229 14.5.1 BufferedInputStream类与BufferedOutputStream类 229 [实例14.7] 缓冲流能够提升效率 230 14.5.2 BufferedReader类与BufferedWriter类 231 [实例14.8] BufferedReader和BufferedWriter的常用方法 232 [实例14.9] 转换字节流时指定字符编码 233 [实例14.10] 移动文件 234 本章知识思维导图 236 第15章 Swing程序设计 237 视频讲解:24节,184分钟 15.1 Swing概述 238 15.2 Swing常用窗体 239 15.2.1 JFrame窗体 239 [实例15.1] 创建第一个窗体 240 15.2.2 JDialog对话框 240 [实例15.2] 创建第一个对话框 241 15.3 常用布局管理器 242 15.3.1 绝对布局 242 [实例15.3] 设置布局管理器为绝对布局 242 15.3.2 流布局管理器 243 [实例15.4] 设置布局管理器为流布局 243 15.3.3 边界布局管理器 244 [实例15.5] 设置布局管理器为边界布局 245 15.3.4 网格布局管理器 245 [实例15.6] 设置布局管理器为网格布局 246 15.4 常用面板 246 15.4.1 JPanel面板 247 [实例15.7] 为4个面板设置布局管理器 247 15.4.2 JScrollPane滚动面板 248 [实例15.8] 把文本域组件添加到JScrollPane面板 248 15.5 标签组件与图标 249 15.5.1 JLabel标签组件 249 15.5.2 图标的使用 249 [实例15.9] 为标签设置图标 250 15.6 按钮组件 250 15.6.1 按钮组件 251 [实例15.10] 按钮组件 251 15.6.2 单选按钮组件 252 [实例15.11] 单选按钮组件 253 15.6.3 复选框组件 254 [实例15.12] 复选框组件 254 15.7 列表组件 255 15.7.1 JComboBox下拉列表框组件 255 [实例15.13] 下拉列表框组件 256 15.7.2 JList列表框组件 256 [实例15.14] 列表框组件 257 15.8 文本组件 258 15.8.1 JTextField文本框组件 258 [实例15.15] 文本框组件 258 15.8.2 JPasswordField密码框组件 259 15.8.3 JTextArea文本域组件 260 [实例15.16] 文本域组件 260 15.9 事件监听器 260 15.9.1 动作事件 261 [实例15.17] 为按钮组件添加动作监听器 261 15.9.2 键盘事件 262 15.9.3 鼠标事件 263 本章知识思维导图 266 第16章 AWT绘图 267 视频讲解:11节,77分钟 16.1 Java绘图基础 268 16.1.1 Graphics绘图类 268 16.1.2 Graphics2D绘图类 268 16.1.3 Canvas画布类 268 16.2 绘制几何图形 269 [实例16.1] 绘制图形 270 16.3 设置颜色与画笔 271 16.3.1 设置颜色 272 [实例16.2] 绘制两条不同颜色的线条 273 16.3.2 设置画笔 273 [实例16.3] 使用不同的画笔绘制直线 274 16.4 图像处理 275 16.4.1 绘制图像 275 [实例16.4] 绘制文件夹下的图像 276 16.4.2 图像缩放 277 [实例16.5] 放大与缩小图像 277 16.4.3 图像翻转 278 [实例16.6] 翻转图像 280 16.4.4 图像旋转 282 [实例16.7] 旋转图像 282 16.4.5 图像倾斜 283 [实例16.8] 倾斜图像 284 本章知识思维导图 285 第17章 线程 286 视频讲解:9节,35分钟 17.1 线程简介 287 17.2 实现线程的两种方式 287 17.2.1 继承Thread类 287 [实例17.1] 继承Thread类创建一个线程输出数字0~9 288 17.2.2 实现Runnable接口 289 [实例17.2] 实现Runnable接口创建一个线程输出数字0~9 290 17.3 线程的生命周期 290 17.4 操作线程的方法 291 17.4.1 线程的休眠 291 [实例17.3] 模拟电子时钟 291 17.4.2 线程的加入 292 [实例17.4] 绘制进度条 292 17.4.3 线程的中断 293 [实例17.5] 设置线程正确的停止方式 293 [实例17.6] 使用“异常法”中断线程 294 17.5 线程的同步 295 17.5.1 线程安全 295 [实例17.7] 打印每销售一件衣服后的剩余库存情况 295 17.5.2 线程同步机制 296 [实例17.8] 同步块的作用 297 [实例17.9] 同步方法的实现效果等同于同步块 298 [实例17.10] 线程的暂停和恢复 299 本章知识思维导图 301 第18章 使用JDBC操作数据库 302 视频讲解:11节,47分钟 18.1 JDBC概述 303 18.2 JDBC中常用的类和接口 303 18.2.1 DriverManager类 303 18.2.2 Connection接口 304 18.2.3 Statement接口 305 18.2.4 PreparedStatement接口 305 18.2.5 ResultSet接口 306 18.3 数据库操作 307 18.3.1 数据库基础 307 18.3.2 连接数据库 308 [实例18.1] 连接MySQL数据库 308 18.3.3 数据查询 310 [实例18.2] 查询数据表中的数据并遍历查询的结果 310 18.3.4 动态查询 311 [实例18.3] 动态获取编号为4的同学的信息 312 18.3.5 添加、修改、删除记录 313 [实例18.4] 动态添加、修改和删除数据表中的数据 313 本章知识思维导图 315 第19章 像素鸟游戏 318 视频讲解:1节,4分钟 19.1 开发背景 319 19.2 系统结构设计 319 19.2.1 系统功能结构 319 19.2.2 系统业务流程 319 19.3 项目目录结构预览 320 19.4 工具类设计 320 19.4.1 图片工具类 321 19.4.2 刷新帧线程类 321 19.5 游戏模型设计 322 19.5.1 飞行物体 322 19.5.2 障碍 324 19.6 视图模块设计 326 19.6.1 主窗体 326 19.6.2 图标按钮 326 19.6.3 游戏面板 327 19.7 打包移植 331 19.7.1 打包CLASS文件 332 19.7.2 打包JAR文件 333 19.7.3 注意事项 335 本章知识思维导图 336 第20章 咸鱼快递打印系统 337 视频讲解:5节,24分钟 20.1 开发背景 338 20.2 系统功能设计 338 20.2.1 系统功能结构 338 20.2.2 系统业务流程 338 20.2.3 系统预览 339 20.3 数据库设计和文件夹结构 340 20.3.1 数据库概要说明 340 20.3.2 数据库E-R图 341 20.3.3 数据表结构 341 20.3.4 文件夹结构 342 20.4 公共模块设计 343 20.4.1 公共类DAO 343 20.4.2 公共类SaveUserStateTool 344 20.5 添加快递信息模块设计 344 20.5.1 添加快递信息模块概述 344 20.5.2 添加快递信息界面设计 345 20.5.3 快递信息的保存 345 20.6 修改快递信息模块设计 348 20.6.1 修改快递信息模块概述 348 20.6.2 修改快递信息界面设计 348 20.6.3 保存修改后的快递信息 349 20.6.4 快递信息的浏览 351 20.7 打印快递单与打印设置模块设计 352 20.7.1 打印快递单与打印设置模块概述 352 20.7.2 设计打印快递单与打印设置窗体 353 20.7.3 打印快递单功能的实现 354 本章知识思维导图 357 附录:MySQL数据库基础 358
你还可能感兴趣
我要评论
|