| 作者 |
| 孙卫琴 |
| 丛书名 |
| 出版社 |
| 电子工业出版社 |
| ISBN |
| 9787121349300 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 本书采用由浅入深、与实际应用紧密结合的方式,利用大量典型生动的范例,详细讲解了 Java 编程的各种基本技术。本书的范例全部基于最新的JDK9 版本。本书内容包括:创建和运行Java 程序的基本方法、Java语言的基本语法、数据类型和变量、操作符、流程控制、继承、Java语言中的修饰符、接口、异常处理、对象的生命周期、内部类、多线程、数组、集合、输入输出、图形用户界面和访问数据库。本书还介绍了JDK9 的一些新特性,包括JShell 命令及Java类库的模块化等。 |
| 目录 |
| 第 1 章编程入门一点通...........................1 1.1 初识高级编程语言......................1 1.2 跨越平台无障碍,Java语言 显身手..........................................3 1.3 编写面向对象的Java 源程序.....5 1.3.1 定义 Monkey类......................... 5 1.3.2 创建 Monkey对象..................... 6 1.3.3 程序入口 main()方法................ 8 1.4 编译和运行Java程序.................9 1.4.1 JDK简介.................................... 9 1.4.2 本范例的结构.................. 11 1.4.3 编译 Java源程序..................... 11 1.4.4 运行 Java程序......................... 12 1.4.5 创建用于编译和运行 Java程序 的批处理文件.......................... 13 1.5 用JDeveloper软件来开发Java 应用............................................13 1.6 小结............................................15 1.7 编程实战:八戒用餐怀感恩....16 第2 章基本语法了如指掌.....................19 2.1 Java 源文件结构........................19 2.2 关键字........................................20 2.3 标识符........................................21 2.4 Java 语言大小写敏感................22 2.5 包声明语句................................22 2.6 包引入语句................................24 2.7 方法的声明................................26 2.8 注释语句....................................27 2.9 编程规范....................................28 2.10 JavaDoc文档...........................28 2.11 直接用JDK来编译和运行 本章范例....................................29 2.12 用JDeveloper来编译和运行 本章范例....................................31 2.13 用Eclipse来编译和运行 本章范例....................................33 2.14 Java 类库模块化......................36 2.15 使用JShell交互式编程界面..38 2.16 小结......................................... 40 2.17 编程实战:八戒吃瓜 美滋滋....................................... 41 第3 章数据类型齐争艳......................... 43 3.1 基本类型.................................... 44 3.1.1 boolean类型.............................44 3.1.2 byte、short、int和long 类型..........................................45 3.1.3 char类型与字符编码...............46 3.1.4 float和double类型.................47 3.2 引用类型.................................... 47 3.3 基本类型与引用类型的区别.... 48 3.4 直接数........................................ 50 3.4.1 直接数的类型..........................50 3.4.2 直接数的赋值..........................51 3.5 小结........................................... 51 3.6 编程实战:金箍棒的 电子档案................................... 52 第4 章千姿百态话变量......................... 55 4.1 变量的作用域............................ 55 4.1.1 实例变量和静态变量..............57 4.1.2 用静态变量统计实例的 个数..........................................59 4.1.3 成员变量和局部变量同名.......60 4.2 对象的默认引用:this.............. 60 4.3 参数传递.................................... 61 4.4 变量的初始化及默认值............ 63 4.4.1 成员变量的初始化..................64 4.4.2 局部变量的初始化..................65 4.4.3 用new关键字创建对象..........65 4.5 小结........................................... 67 4.6 编程实战:人参果树妙回春.... 69 第5 章操作符号显身手......................... 71 5.1 操作符的优先级........................ 72 5.2 整型操作符................................ 73 5.2.1 一元整型操作符......................73 5.2.2 二元整型操作符......................73 5.3 浮点型操作符............................ 74 5.4 比较操作符和逻辑操作符........75 5.4.1 比较操作符.............................. 75 5.4.2 逻辑操作符.............................. 76 5.5 特殊操作符“?:” .......................78 5.6 变量的赋值................................78 5.7 基本数据类型转换....................79 5.7.1 自动类型转换.......................... 79 5.7.2 强制类型转换.......................... 80 5.8 小结............................................81 5.9 编程实战:判断年份是否为 闰年............................................82 5.10 编程实战:数字加密..............83 第6 章运筹帷幄控流程.........................85 6.1 分支语句....................................86 6.1.1 if...else语句............................. 86 6.1.2 switch 语句.............................. 87 6.2 循环语句....................................91 6.2.1 while语句................................ 93 6.2.2 do...while 语句......................... 94 6.2.3 for语句.................................... 95 6.3 流程跳转语句............................96 6.4 小结............................................98 6.5 编程实战:实现常用 数学运算....................................98 6.6 编程实战:打印金字塔............99 6.7 编程实战:考试分数和等级 转换..........................................100 6.8 编程实战:数兔子..................101 6.9 编程实战:寻找水仙花数......103 第7 章代码重用靠继承.......................105 7.1 继承的基本语法......................107 7.2 方法重载(Overload)...........108 7.3 方法覆盖(Override)............109 7.4 方法覆盖与方法重载的 异同.......................................... 111 7.5 super关键字............................112 7.6 多态..........................................113 7.7 小结..........................................115 7.8 编程实战一:运用方法的重载 和覆盖..................................... 115 7.9 编程实战二:演绎孙悟空与 二郎神斗法............................. 116 第8 章引用类型操作符....................... 121 8.1 字符串连接操作符“+”.......... 121 8.2 操作符“==”与对象的 equals()方法............................. 122 8.2.1 操作符“==” ..........................122 8.2.2 对象的 equals()方法...............123 8.3 操作符“!=” ............................ 125 8.4 引用变量的赋值和类型 转换......................................... 126 8.5 instanceof操作符.................... 127 8.6 小结........................................... 128 8.7 编程实战:辨别真假 孙悟空..................................... 129 第9 章公私分明设权限....................... 131 9.1 封装类的部分属性和方法...... 132 9.2 4种访问控制级别................... 133 9.3 小结......................................... 136 9.4 编程实战:模拟自动 洗衣机..................................... 136 第10章abstract:虚拟抽象画蓝图.... 141 10.1 abstract修饰符的 修饰内容................................. 141 10.2 abstract修饰符的 语法规则................................. 142 10.3 抽象类不能被实例化............ 143 10.4 小结....................................... 144 10.5 编程实战:金、银角大王的 魔法宝物................................. 144 第11章final:一锤定音恒不变......... 147 11.1 final类................................... 148 11.2 final方法............................... 148 11.3 final变量............................... 149 11.4 小结........................................ 151 11.5 编程实战:无法伪造篡改的 生死簿......................................152 第12章static:静态家当共分享.........155 12.1 static 变量...............................156 12.2 static 方法...............................156 12.2.1 静态方法可访问的内容...... 157 12.2.2 实例方法可访问的内容...... 158 12.2.3 静态方法必须被实现.......... 159 12.3.4 作为程序入口的 main()方法 是静态方法............................ 159 12.3 static代码块...........................160 12.4 小结........................................161 12.5 编程实战:灵活配置绘制 图形..........................................161 第13章对外开放靠接口.....................165 13.1 接口的概念和语法规则........167 13.2 比较抽象类与接口................169 13.3 小结........................................171 13.4 编程实战:紧箍圈降伏诸 顽劣..........................................172 第14章出生入死话对象.....................175 14.1 对象的构造方法....................176 14.1.1 重载构造方法...................... 177 14.1.2 默认构造方法...................... 178 14.1.3 子类调用父类的构造 方法........................................ 179 14.2 垃圾回收................................182 14.2.1 垃圾回收的时机.................. 183 14.2.2 对象的 finalize()方法........... 184 14.3 小结........................................185 14.4 编程实战:玩转垃圾回收....186 14.5 编程实战:独一无二 玉净瓶......................................188 第15章类型封装内部类.....................189 15.1 内部类的种类........................191 15.2 成员内部类............................191 15.2.1 实例内部类.......................... 192 15.2.2 静态内部类..........................195 15.3 局部内部类............................ 196 15.4 匿名类.................................... 197 15.5 用Lambda表达式代替 内部类..................................... 199 15.6 小结....................................... 200 15.7 编程实战:内部类回调 外部类..................................... 201 第16章降伏异常有策略..................... 203 16.1 Java 异常处理机制概述........ 204 16.2 运用Java异常处理机制....... 207 16.2.1 try...catch 语句:捕获 异常........................................207 16.2.2 finally语句:任何情况下 必须执行的代码....................208 16.2.3 throws 子句:声明可能会 出现的异常............................209 16.2.4 throw语句:抛出异常........210 16.2.5 异常处理语句的语法 规则........................................210 16.2.6 异常流程的运行过程..........213 16.3 Java 异常类........................... 214 16.3.1 运行时异常..........................217 16.3.2 受检查异常 (Checked Exception).........217 16.3.3 区分运行时异常和 受检查异常............................217 16.4 用户定义异常........................ 219 16.5 小结....................................... 220 16.6 编程实战:囧途开车遇 异常......................................... 221 第17章数组元素排排座..................... 225 17.1 数组简介................................ 227 17.2 数组变量的声明.................... 227 17.3 创建数组对象........................ 227 17.4 访问数组的元素和长度........ 229 17.5 数组的初始化........................ 230 17.6 数组排序................................ 231 17.7 多维数组................................232 17.8 用符号“…”声明数目 可变参数..................................233 17.9 小结........................................234 17.10 编程实战:多位数字 加密..........................................235 17.11 编程实战:用数组实现 堆栈..........................................236 第18章集合元素大操练.....................239 18.1 Java 集合的类框架................240 18.2 集合的基本用法....................240 18.2.1 包装类的自动装箱和 拆箱........................................ 241 18.2.2 Set(集)和List(列表) 的各种具体实现类的特点.... 241 18.2.3 集合的静态of()方法........... 243 18.3 List(队列)..........................245 18.4 Map(映射).........................245 18.5 用Lambda表达式遍历 集合..........................................247 18.6 小结........................................248 18.7 编程实战:计算数学 表达式......................................248 18.8 编程实战:计算带括号的 数学表达式..............................252 18.9 编程实战:用集合工具对 数字排序..................................255 18.10 编程实战:按月份先后 顺序数兔子..............................256 18.11 编程实战:用映射来存放 学生信息..................................257 18.12 编程实战:圆桌报数 游戏..........................................259 第19章数据出入靠I/O.......................261 19.1 输入流和输出流概述............262 19.2 输入流....................................263 19.3 FilterInputStream (过滤输入流)......................264 19.3.1 BufferedInputStream类........265 19.3.2 DataInputStream类..............265 19.4 输出流.................................... 267 19.5 FilterOutputStream (过滤输出流)..................... 267 19.5.1 DataOutputStream................267 19.5.2 BufferedOutputStream..........268 19.5.3 PrintStream类......................268 19.6 Reader/Writer概述................ 269 19.7 Reader类............................... 271 19.7.1 InputStreamReader 类..........271 19.7.2 FileReader类........................271 19.7.3 BufferedReader 类................272 19.8 Writer类................................ 272 19.8.1 OutputStreamWriter 类.........273 19.8.2 FileWriter 类.........................273 19.8.3 BufferedWriter 类.................273 19.8.4 PrintWriter 类.......................273 19.9 读写文本文件的范例............ 274 19.10 随机访问文件类: RandomAccessFile .................. 276 19.11 File 类.................................. 277 19.12 用java.nio.file类库来 操纵文件系统......................... 279 19.13 小结...................................... 282 19.14 编程实战:替换文本文件中 的字符串................................. 283 19.15 编程实战:批量修改 文件名..................................... 285 第20章并发运行多线程..................... 287 20.1 Java 线程的运行机制............ 288 20.2 线程的创建和启动................ 289 20.2.1 扩展 java.lang.Thread 类......289 20.2.2 实现 java.lang.Runnable 接口........................................291 20.3 线程的状态转换.................... 293 20.3.1 新建状态(New)...............293 20.3.2 就绪状态(Runnable).......293 20.3.3 运行状态(Running).........293 20.3.4 阻塞状态(Blocked)......... 294 20.3.5 等待状态(Waiting).......... 294 20.3.6 死亡状态(Terminated).... 294 20.3.7 线程状态转换举例.............. 294 20.4 线程调度................................295 20.4.1 调整各个线程的优先级...... 296 20.4.2 线程睡眠:Thread.sleep() 方法........................................ 297 20.4.3 线程让步:Thead.yield() 方法........................................ 298 20.4.4 等待其他线程结束: join()....................................... 299 20.5 获得当前线程对象的引用....300 20.6 小结........................................301 20.7 编程实战:孙悟空偷吃 蟠桃..........................................302 第21章同步通信多线程.....................305 21.1 线程的同步............................307 21.1.1 同步代码块.......................... 310 21.1.2 线程同步的特征.................. 312 21.2 线程的通信............................314 21.3 小结........................................318 21.4 编程实战:悟空保唐僧打 群妖..........................................319 21.5 编程实战:运动员赛跑........322 21.6 编程实战:秒针、分针和 时针的通信..............................324 第22章图形界面俏容颜.....................327 22.1 图形用户界面的构建机制....327 22.2 容器类组件............................329 22.3 布局管理器............................331 22.3.1 FlowLayout 流式布局 管理器....................................333 22.3.2 BorderLayout 边界布局 管理器....................................334 22.3.3 GridLayout网格布局 管理器....................................336 22.3.4 CardLayout 卡片布局 管理器....................................338 22.4 事件处理................................ 340 22.5 AWT绘图.............................. 343 22.6 创建动画................................ 346 22.7 菜单....................................... 348 22.8 小结....................................... 350 22.9 编程实战:创建数学 计算器..................................... 352 22.10 编程实战:创建BMI指数 计算器..................................... 353 第23章轻松访问数据库..................... 359 23.1 安装和配置MySQL 数据库..................................... 360 23.2 JDBC API简介...................... 362 23.3 JDBC API的基本用法.......... 365 23.4 获得新插入记录的主键值.... 368 23.5 封装连接数据库的细节........ 369 23.6 处理SQLException............... 374 23.7 设置批量抓取属性................ 375 23.8 可滚动及可更新的 结果集..................................... 376 23.9 小结....................................... 383 23.10 编程实战:创建客户 管理器..................................... 383 |