图书简介:
目 录 第1部分 Java实用教程 第1章 Java语言及编程环境 11.1 Java语言简介 11.1.1 Java语言特点 11.1.2 Java运行机制 21.1.3 从Java 5到Java 11 31.2 Java编程环境 41.2.1 JDK 11 41.2.2 Eclipse集成开发环境 6第2章 Java语法基础 192.1 常量和变量 192.1.1 数据类型 192.1.2 标识符和关键字 192.1.3 常量 202.1.4 变量 222.1.5 类型转换 232.2 运算符和表达式 252.2.1 运算符 252.2.2 表达式 302.3 流程控制 302.3.1 分支语句 302.3.2 循环语句 332.3.3 流程跳转语句 362.4 数组 372.4.1 一维数组 372.4.2 多维数组 392.4.3 数组的访问 422.5 综合实例 44第3章 Java类与对象 473.1 Java语言的类 473.1.1 面向对象程序设计概念 473.1.2 类的定义 483.1.3 变量初始化 493.1.4 类的方法 513.2 创建对象 553.2.1 构造方法 553.2.2 默认构造方法 573.2.3 构造方法重载 583.3 this引用 593.4 静态成员 613.4.1 静态变量 613.4.2 静态方法 623.4.3 main()方法 633.4.4 静态代码块 653.5 内部类 653.5.1 实例内部类 663.5.2 匿名内部类 683.5.3 static内部类 693.5.4 局部内部类 703.6 类的打包或封装 703.6.1 包(package)机制 703.6.2 创建JAR文件 74第4章 Java面向对象编程 764.1 继承 764.1.1 继承的定义 764.1.2 初始化基类 774.1.3 方法的重写 784.1.4 super关键字 804.2 多态 814.2.1 对象的类型转换 814.2.2 多态的实现 844.3 抽象类和接口 864.3.1 抽象方法与抽象类 864.3.2 接口概念及特性 874.4 终止继承 894.4.1 final类 904.4.2 final方法 904.4.3 final变量 914.5 修饰符的适用范围 934.5.1 修饰符及访问权限 934.5.2 类内部 934.5.3 同一个包的类 944.5.4 不同包的子类 954.5.5 任意类 964.5.6 继承规则 974.6 Java编程规范 974.6.1 代码书写规范 974.6.2 文档的使用 984.7 综合实例:航班管理 994.7.1 需求分析 994.7.2 程序设计 1004.7.3 文档编制 109第5章 Java常用类 1115.1 Object类 1115.1.1 equals()方法 1115.1.2 hashCode()方法 1125.1.3 toString()方法 1135.2 字符串类 1145.2.1 String类 1145.2.2 StringBuffer类 1185.3 包装类 1195.4 Math类 1215.5 Random类 1225.6 日期时间类 1235.6.1 新日期时间包 1235.6.2 日历应用 1245.7 正则表达式 1255.7.1 基础知识 1255.7.2 正则表达式的应用 1285.8 数组实用类 1315.8.1 复制数组 1315.8.2 数组排序 1325.8.3 数组元素的查找 133第6章 Java语言新特性 1356.1 枚举 1356.1.1 定义枚举类型 1356.1.2 enum构造方法 1366.1.3 使用EnumMap 1376.2 注解 1386.2.1 内置注解 1386.2.2 自定义注解 1426.2.3 元注解 1426.3 lambda表达式 1456.3.1 lambda表达式简介 1456.3.2 函数式接口 1466.3.3 lambda表达式与匿名内部类 1476.3.4 方法引用 149第7章 容器和泛型 1507.1 Collection与Iterator接口 1507.2 Collections实用类 1527.3 Set(集合) 1537.3.1 HashSet类 1537.3.2 TreeSet类 1557.4 List(列表) 1587.4.1 ArrayList类 1587.4.2 LinkedList类 1617.4.3 栈的实现 1627.5 Queue(队列) 1637.5.1 LinkedList类实现 1637.5.2 PriorityQueue类 1637.5.3 双向队列 1657.6 Map(映射) 1667.6.1 HashMap 1667.6.2 TreeMap 1677.7 泛型 1697.7.1 泛型的基本概念 1697.7.2 泛型方法 1717.7.3 受限泛型 1737.7.4 通配符与受限通配符 1747.7.5 子类泛型 1757.7.6 泛型数组 1777.8 Java增强容器特性 1787.9 综合实例 180第8章 异常处理 1838.1 异常概述 1838.2 异常处理机制 1848.2.1 异常的捕获与处理 1848.2.2 声明抛出异常子句 1868.2.3 抛出异常 1868.3 自定义异常类 187第9章 Java输入/输出系统 1909.1 字节流 1909.1.1 字节数组输入流 1919.1.2 字节数组输出流 1929.1.3 文件输入流 1929.1.4 文件输出流 1939.1.5 管道流 1949.2 过滤流 1959.2.1 缓冲流类 1969.2.2 数据流类 1979.2.3 PrintStream类 1999.3 字符流 2009.3.1 转换流类 2019.3.2 FileReader和FileWriter类 2029.3.3 BufferedReader和BufferedWriter类 2039.3.4 PrintWriter类 2049.4 标准I/O 2059.4.1 重新包装标准I/O 2069.4.2 标准I/O流重定向 2069.5 随机访问文件类 2079.6 对象序列化 2109.7 File类 2119.8 综合实例 213第10章 多线程 21510.1 线程的创建与启动 21510.1.1 继承java.lang.Thread类 21510.1.2 实现Runnable接口 21710.2 线程的状态转换 21810.3 线程调度 21910.3.1 调整线程优先级 21910.3.2 线程让步 22010.3.3 合并线程 22110.4 后台线程 22210.5 线程互斥 22310.5.1 临界区 22310.5.2 对象锁机制 22510.5.3 显式Lock对象 22810.6 线程同步 23010.7 综合实例 233第11章 AWT图形用户界面编程 23811.1 AWT容器 23811.1.1 Window和Frame 23911.1.2 Panel 23911.2 布局管理器 24111.3 事件处理机制 24311.3.1 AWT事件与监听器 24311.3.2 窗口事件 24411.3.3 鼠标事件 24611.3.4 键盘事件 24711.3.5 内部类实现监听器接口 24911.3.6 类自身实现监听器接口 25011.3.7 外部类实现监听器接口 25111.3.8 采用事件适配器 25311.4 在AWT中绘图 25511.4.1 Graphics类 25511.4.2 AWT绘图实现原理 25711.5 综合实例 259第12章 Swing组件及应用 26412.1 窗口(JFrame) 26412.2 Swing基本组件 26512.2.1 按钮(JButton) 26512.2.2 文本框(JTextField) 26712.2.3 复选框(JCheckBox)和单选按钮(JRadioButton) 26912.2.4 列表框(JList) 27212.3 Swing菜单程序设计 27412.3.1 菜单条(JMenuBar) 27412.3.2 弹出式菜单(JPopupMenu) 27712.3.3 页签面板(JTabbedPane) 27912.3.4 工具栏(JToolBar) 28112.4 Swing数据管理组件 28312.4.1 表格(JTable) 28412.4.2 树状视图(JTree) 28612.5 Swing标准对话框 28712.5.1 对话框(JDialog) 28712.5.2 消息框(JOptionPane) 28912.5.3 文件对话框(JFileChooser) 29112.6 综合实例 293第13章 Java基础开发综合实习 29713.1 设计思路 29713.2 汉诺塔上盘子模拟 29713.3 对象定位及盘子的存放 29813.4 创建汉诺塔及实现手工搬运盘子 29913.5 自动搬运盘子 305第14章 Java网络编程 31214.1 网络程序设计基础 31214.1.1 TCP与UDP 31214.1.2 端口和套接字 31214.2 TCP网络编程 31314.2.1 TCP通信模型 31314.2.2 Socket编程相关类 31314.2.3 TCP通信程序 31614.3 UDP网络编程 31914.3.1 UDP相关类 31914.3.2 UDP通信程序 32114.3.3 组播 32414.4 URL网络编程 32714.4.1 URL类 32714.4.2 URLConnetction类 32914.5 综合实例 331第15章 Java数据库编程 33615.1 SQL语言简介 33615.2 JDBC原理 33715.3 访问数据库 33915.3.1 加载并注册数据库驱动 33915.3.2 建立到数据库的连接 34015.3.3 执行数据库操作 34115.4 JDBC操作MySQL 34215.4.1 获取和加载驱动 34215.4.2 创建数据库和表 34515.4.3 操作数据库 34715.4.4 事务处理 34915.4.5 存储过程 35115.5 JDBC操作其他数据库 35315.5.1 JDBC操作SQL Server 35415.5.2 JDBC操作Oracle 35515.6 综合实例 356
第2部分 实 验 实验1 Java语言及编程环境 362实验2 Java语法基础 363实验3 Java类与对象 365实验4 Java面向对象编程 368实验5 Java常用类 371实验6 Java语言新特性 373实验7 容器和泛型 374实验8 Java异常处理 377实验9 Java输入/输出系统 378实验10 多线程 379实验11 AWT图形用户界面编程 380实验12 Swing组件及应用 383实验13 Java网络编程 386实验14 Java数据库编程 392
第3部分 习 题 集 第1章 Java语言及编程环境 399第2章 Java语法基础 399第3章 Java类与对象 402第4章 Java面向对象编程 402第5章 Java常用类 403第6章 Java语言新特性 403第7章 容器和泛型 403第8章 异常处理 404第9章 Java输入/输出系统 404第10章 多线程 404第11章 AWT图形用户界面编程 405第12章 Swing组件及应用 405第14章 Java网络编程 405第15章 Java数据库编程 406
展开
前 言Java是计算机领域中最主流的编程语言之一,其简单、面向对象、多线程、跨平台等特性深受人们的喜爱。Java语言拥有全球最为庞大的开发者队伍,在互联网开发、移动开发、大数据、人工智能等众多领域中都具有广泛的应用。2005年,为了满足教学和应用开发实践的要求,我们编写了《Java实用教程》一书,把学习和应用相结合,收到了较好的效果。2009年,修订、出版了第2版。2015年,根据当时发布的Java 8对上一版进行全面修改后出版了第3版。如今,因Java最新稳定版为Java 11,它具有很多新特性,故需要对上一版进行及时更新。本书以甲骨文公司发布的最新长期支持(Long Term Support,LTS)稳定版本Java 11为基础,对第3版进行了升级;除保留原版内容的循序渐进、深入浅出等诸多优点外,还精心设计每个实例,加入了Java的最新语言特性;增强了Java数据库编程部分的内容,涉及操作MySQL 8、SQL Server 2019、Oracle 19c等多种最新主流数据库的关键技术,也可供从事Java跨平台异构系统开发的读者参考。本书由Java实用教程、实验、习题集这三个部分组成。第1部分:一般在介绍内容后紧跟相关的实例演示,在第2、4、7、9~12、14、15章章尾配有综合实例,以提高读者综合应用已学过的主要知识的能力。第2部分:首先通过实例引导读者学习,然后提出思考问题,最后在原有基础上让读者自己进行操作和编程练习。第3部分:本版系统地扩充了习题的内容,对应于主要知识点,对所有习题均结合书中重要知识点进行了精心设计;通过扫描书中的二维码可得到配套的答案,帮助读者在巩固所学的知识的同时提高能力。本书以最新版Eclipse 2019作为Java的集成开发环境,该版本与各版JDK的兼容性较好,能将用户以旧版JDK开发的Java项目自动转换成新版项目,编写、调试、运行Java程序都十分方便。本书所有实例均在最新版Eclipse 2019下调试通过,实例运行结果以抓图形式提供。本书既可作为大学本科和专科计算机及相关专业的教材,也可作为Java自学者或应用开发者的参考书。实际上,本书不仅适合教学,也非常适合Java的各类培训,以及供使用Eclipse编程开发应用程序的用户学习和参考。只要阅读本书,结合上机操作进行练习,就能在较短的时间内基本掌握Java知识及其应用技术。与本书配套的同步电子课件,可直接用于课堂教学。书中的源代码工程和电子课件,可从华信教育资源网(http://www.hxedu.com.cn)上免费下载。本书对每个重要知识点均提供通过二维码播放的配套视频教学,既可以作为课后教学辅助,也可作为课程自学。本书由南京师范大学的郑阿奇担任主编,由姜乃松、殷红先、刘颖和张卫芬(东南大学成贤学院)编著。参加编写的还有周何骏、孙德荣、王钢花、刘美芳、郑博琳、刘忠等人,在此表示诚挚的谢意。由于作者水平有限,不当之处在所难免,恳请读者批评指正。意见及建议邮箱:easybooks@163.com。
编 著 者
展开