本书是一本Java入门书籍,适合初学者使用。全书共分为13个章节,第1章主要讲解了Java的发展与特点、JDK的使用、Java程序的编写与运行机制、Java开发环境的搭建等;第2~6章主要讲解了Java的基础核心知识,包括Java基础语法、面向对象(封装、继承、多态)、Java API和集合类;第7~12章主要讲解了Java进阶知识,包括IO、多线程、网络编程、JDBC、GUI、反射。第13章带领学生开发了一个综合项目——基于Java Swing的图书管理系统,让学生融会贯通前面所学知识,并了解实际项目开发流程。
本书附有配套视频、源代码、题库、教学课件等资源,为帮助初学者更好地学习本书中的内容,还提供了在线答疑,希望得到更多读者的关注。
本书作为Java入门教材,可作为高等院校本、专科计算机相关专业的Java程序设计技术教材,也可作为Java技术基础培训教材,是一本适合广大计算机编程爱好者的读物。
第1章 Java开发入门 1.1 Java概述 1.1.1 什么是Java 1.1.2 Java语言的特点 1.1.3 Java语言的发展史 1.2 JDK的使用 1.2.1 安装JDK 1.2.2 JDK目录介绍 1.3 第一个Java程序 1.4 系统环境变量 1.4.1 path环境变量 1.4.2 classpath环境变量 1.5 Java程序运行机制 1.6 Eclipse开发工具 1.6.1 Eclipse概述 1.6.2 Eclipse的下载与启动 1.6.3 使用Eclipse进行程序开发 1.6.4 Eclipse调试工具 1.7 IntelliJ IDEA开发工具 1.7.1 IDEA概述 1.7.2 IDEA的安装与启动 1.7.3 使用IDEA进行程序开发 1.7.4 IDEA工具调试程序 1.8 本章小结 第2章 Java编程基础 2.1 Java基本语法 2.1.1 Java程序的基本格式 2.1.2 Java中的注释 2.1.3 Java中的标识符 2.1.4 Java中的关键字 2.1.5 Java中的常量 2.2 Java中的变量 2.2.1 变量的定义 2.2.2 变量的数据类型 2.2.3 变量的类型转换 2.2.4 变量的作用域 2.3 Java中的运算符 2.3.1 算术运算符 2.3.2 赋值运算符 2.3.3 比较运算符 2.3.4 逻辑运算符 2.3.5 运算符的优先级 【案例2-1】 商品入库 2.4 选择结构语句 2.4.1 if条件语句 2.4.2 三元运算符 2.4.3 switch条件语句 【案例2-2】 小明都可以买什么 2.5 循环结构语句 2.5.1 while循环语句 2.5.2 do…while循环语句 2.5.3 for循环语句 2.5.4 循环嵌套 2.5.5 跳转语句(break、continue) 【案例2-3】 超市购物程序设计 【案例2-4】 为新员工分配部门 【案例2-5】 剪刀石头布 2.6 方法 2.6.1 什么是方法 2.6.2 方法的重载 2.7 数组 2.7.1 数组的定义 2.7.2 数组的常见操作 2.7.3 二维数组 【案例2-6】 登录注册 【案例2-7】 抽取幸运观众 2.8 本章小结 第3章 面向对象(上) 3.1 面向对象的思想 3.2 类与对象 3.2.1 类的定义 3.2.2 对象的创建与使用 3.2.3 对象的引用传递 3.2.4 访问控制 3.3 封装性 3.3.1 为什么要封装 3.3.2 如何实现封装 【案例3-1】 基于控制台的购书系统 3.4 构造方法 3.4.1 定义构造方法 3.4.2 构造方法的重载 【案例3-2】 银行存取款 【案例3-3】查看手机配置与功能 3.5 this关键字 3.5.1 使用this关键字调用本类中的属性 3.5.2 使用this关键字调用成员方法 3.5.3 使用this关键字调用构造方法 3.6 代码块 3.6.1 普通代码块 3.6.2 构造块 3.7 static关键字 3.7.1 静态属性 3.7.2 静态方法 3.7.3 静态代码块 【案例3-4】:学生投票系统 3.8 本章小结 第4章 面向对象(下) 4.1 类的继承 4.1.1 继承的概念 4.1.2 方法的重写 4.1.3 super关键字 4.2 final关键字 4.2.1 final关键字修饰类 4.2.2 final关键字修饰方法 4.2.3 final关键字修饰变量 4.3 抽象类和接口 4.3.1 抽象类 4.3.2 接口 【案例4-1】打印不同的图形 【案例4-2】饲养员喂养动物 【案例4-3】多彩的声音 【案例4-4】学生和老师 【案例4-5】图形的面积与周长计算程序 【案例4-6】研究生薪资管理 4.4 多态 4.4.1 多态概述 4.4.2 对象类型的转换 4.4.3 instanceof关键字 【案例4-7】经理与员工工资案例 【案例4-8】模拟物流快递系统程序设计 4.5 Object类 4.6 内部类 4.6.1 成员内部类 4.6.2 局部内部类 4.6.3 静态内部类 4.6.4 匿名内部类 4.7 异常(Exception) 4.7.1 什么是异常 4.7.2 try…catch和finally 4.7.3 throws关键字 4.7.4 运行时异常与编译时异常 4.7.5 自定义异常 4.8 本章小结 第5章 Java API 5.1 字符串类 5.1.1 String类的初始化 5.1.2 String类的常见操作 5.1.3 StringBuffer类 5.1.4 StringBuilder类 【案例 5-1】 模拟订单号生成 【案例5-2】 模拟默认密码自动生成 【案例5-3】 模拟用户登录 5.2 System类与Runtime类 5.2.1 System类 5.2.2 Runtime类 5.3 Math类与Random类 5.3.1 Math类 5.3.2 Random类 【案例 5-4】字符串转换为二进制 5.4 日期时间类 5.4.1 Instant类 5.4.2 LocalData类 5.4.3 LocalTime类与LocalDataTime类 5.4.4 Period 和Duration类 【案例 5-5】 二月天 5.5 包装类 5.6 正则表达式 5.6.1 元字符 5.6.2 Pattern类和Matcher类 5.6.3 String类对正则表达式的支持 5.7 本章小结 第6章 集合 6.1 集合概述 6.2 Collection接口 6.3 List接口 6.3.1 List接口简介 6.3.2 ArrayList集合 6.3.3 LinkedList集合 6.3.4 Iterator接口 6.3.5 foreach循环 【案例 6-1】 库存管理系统 【案例 6-2】 学生管理系统 6.4 Set接口 6.4.1 Set接口简介 6.4.2 HashSet集合 6.4.3 TreeSet集合 【案例 6-3】 模拟用户注册 6.5 Map接口 6.5.1 Map接口简介 6.5.2 HashMap集合 6.5.3 TreeMap集合 6.5.4 Properties集合 【案例 6-4】斗地主洗牌发牌 【案例 6-5】 模拟百度翻译 6.6 泛型 6.6.1 泛型概述 6.6.2 泛型类和泛型对象 6.6.3 泛型方法 6.6.4 泛型接口 6.6.5 类型通配符 6.7 JDK8新特性——Lambda表达式 6.8 本章小结 第7章 IO(输入输出) 7.1 File类 7.1.1 创建File对象 7.1.2 File类的常用方法 7.1.3 遍历目录下的文件 7.1.4 删除文件及目录 【案例7-1】 批量操作文件管理器 7.2 字节流 7.2.1 字节流的概念 7.2.2 InputStream读文件 7.2.3 OutputStream写文件 7.2.4 文件的拷贝 7.2.5 字节缓冲流 【案例7-2】 商城进货交易记录 【案例7-3】 日记本 7.3 字符流 7.3.1 字符流定义及基本用法 7.3.2 字符流操作文件 7.3.3 转换流 【案例7-4】 升级版日记本 【案例7-5】 微信投票 7.4 本章小结 第8章 多线程 8.1 线程概述 8.1.1 进程 8.1.2 线程 8.2 线程的创建 8.2.1 继承Thread类创建多线程 8.2.2 实现Runnable接口创建多线程 8.2.3 两种实现多线程方式的对比分析 8.3 线程的生命周期及状态转换 8.4 线程的调度 8.4.1 线程的优先级 8.4.2 线程休眠 【案例8-1】 龟兔赛跑 8.4.3 线程让步 8.4.4 线程插队 【案例8-2】 Svip优先办理服务 8.5 多线程同步 8.5.1 线程安全问题 8.5.2 同步代码块 8.5.3 同步方法 8.5.4 死锁问题 【案例8-3】 模拟银行存取钱 【案例8-4】 模拟12306售票 【案例8-5】 小朋友就餐 8.6 本章小结 第9章 网络编程 9.1 网络通信协议 9.1.1 IP地址和端口号 9.1.2 InetAddress 9.1.3 UDP与TCP协议 9.2 UDP通信 9.2.1 DatagramPacket 9.2.2 DatagramSocket 9.2.3 UDP网络程序 9.2.4 多线程的UDP网络程序 【案例9-1】 模拟微信聊天 9.3 TCP通信 9.3.1 ServerSocket 9.3.2 Socket 9.3.3 简单的TCP网络程序 9.3.4 多线程的TCP网络程序 【案例9-2】 字符串反转 【案例9-3】 上传文件 9.4 本章小结 第10章 JDBC 10.1 什么是JDBC 10.2 JDBC常用API 10.3 实现第一个JDBC程序 10.4 本章小结 第11章 GUI(图形用户界面) 11.1 Swing概述 11.2 Swing顶级容器 11.2.1 JFrame 11.2.2 JDialog 11.3 布局管理器 11.3.1 FlowLayout 11.3.2 BorderLayout 11.3.3 GridLayout 11.3.4 GridBagLayout 11.4 事件处理机制 11.4.1 事件处理机制 11.4.2 Swing常用事件处理 11.5 Swing常用组件 11.5.1 面板组件 11.5.2 文本组件 11.5.3 标签组件 11.5.4 按钮组件 11.5.5 下拉框组件 【案例11-1】 简易记事本 【案例11-2】 简易计算器 【案例11-3】 模拟QQ登录 11.6 本章小结 第12章 Java反射机制 12.1 反射概述 12.2 认识Class类 12.3 Class类的使用 12.3.1 通过无参构造实例化对象 12.3.2 通过有参构造实例化对象 12.4 反射的应用 12.4.1 获取所实现的全部接口 12.4.2 获取全部方法 12.4.3 获取全部属性 【案例12-1】 重写toString()方法 【案例12-2】 速度计算 【案例12-3】 利用反射实现通过读取配置文件对类进行实例化 12.5 本章小结 第13章 基于Java Swing的图书管理系统 13.1 项目概述 13.1.1 需求分析 13.1.2 功能结构 13.1.3 项目预览 13.2 数据库设计 13.2.1 E-R 图设计 13.2.2 数据表结构 13.3 项目环境搭建 13.4 实体类设计 13.5 工具类设计 13.6 用户注册和登录模块 13.6.1 实现用户注册功能 13.6.2 实现用户登录功能 13.7 图书借还模块 13.7.1 实现用户借书功能 13.7.2 实现用户还书功能 13.8 书籍管理模块 13.8.1 实现书籍添加功能 13.8.2 实现书籍信息修改功能 13.9 用户管理模块 13.9.1 实现用户信息修改功能 13.9.2 实现书籍借阅详情功能 13.10 类别管理模块 13.11 本章小结