内容简介
《Java精彩编程200例》汇集了与Java桌面程序开发相关的200个实例及源代码,每个实例都按实例说明、关键技术、实现过程、扩展学习的顺序进行分析解读。全书主要内容有Java基础应用、图形与图表操作、文字操作与数据库、网络安全与多线程、Swing程序设计。每个实例都是经过一线工程师精心编选的,具有很强的实用性,这些实例为开发人员提供了全面的解决方案。配书光盘附赠了实例的完整源程序及部分讲解视频。
《Java精彩编程200例》既适合Java程序员参考,也适合高校学生、软件开发培训学员及相关求职人员学习。
——本书特别约定——
实例使用方法
用户在学习本书的过程中,可以从光盘(本书配套1张DVD光盘)中复制实例源代码,修改实例的只读属性。有些实例需要使用相应的数据库或第三方资源,这些实例在使用前需要进行相应配置。
源码位置
实例在光盘中的存储格式为“光盘\MR\章号\实例序号”,如“光盘\MR\01\001”。
部分实例只给出关键代码
由于篇幅限制,书中有些实例只给出了关键代码,完整代码请参考光盘实例程序。
编程词典(简易版)
本书为用户提供了明日科技研发的《编程词典(简易版)》,用户可以获取该资源。
使用配套数字电子书
本书不仅内容丰富,图文并茂,还有与之配套的数字电子书。读者购买本书后,刮开在线学习码涂层,扫描封底的激活二维码,注册会员后即可查看本书的配套电子书及其他的学习资源。
《零基础学Java》从零基础学习者的角度出发,通过通俗易懂的语言、流行有趣的实例,详细地介绍了使用Java语言进行程序开发需要掌握的知识和技术。全书共分16章,包括初识Java、Java语言基础、流程控制、数组、面向对象编程基础、异常处理、Java常用类和枚举类型、泛型与集合类及坦克大战游戏等。书中所有知识都结合具体实例进行讲解,设计的程序代码给出了详细的注释,可以使读者轻松领会Java程序开发的精髓,快速提高开发技能。
本书通过大量实例及一个完整项目案例,可以帮助读者更好地巩固所学知识,提升能力;随书附赠的《小白实战手册》中给出了3个流行案例的详细开发流程,力求让学习者能学以致用,真正获得开发经验;附赠的光盘中给出视频讲解、实例及项目源码、代码查错器、练一练和动手纠错答案等,方便读者学习;书中设置了超过200多个二维码,扫描二维码观看视频讲解,解决学习疑难;不易理解的专业术语、代码难点只需手机扫描文字下方的e学码获得更多扩展解释,随时扫除学习障碍。此外,登录明日学院网站(www.mingrisoft.com)还可以获得更多学习资源和技术支持。
《零基础学Java》图书与《小白实战手册》 光盘 二维码 明日学院,实现立体化、全面体系的教学模式,拉低编程门槛,让零基础者轻松跨入Java编程。
作者简介
明日科技,是一家专业从事软件开发、教育培训以及软件开发教育资源整合的高科技公司,其编写的教材既注重选取软件开发中的必需、常用内容,又注重内容的易学、方便以及相关知识的拓展,深受读者喜爱。其编写的图书主要有“从入门到精通”“软件开发视频大讲堂”“软件开发实战1200例”“软件工程师开发大系”等多个系列。多次荣获“全行业优xiu畅销品种”“中国大学出版社优xiu畅销书”等奖项,多个品种长期位居同类图书销售排行榜的前列。
章节目录
第1章初识Java
视频讲解:47分
精彩实例:1个
e学码:69个
1.1Java简介
1.1.1什么是Java
1.1.2Java的版本
1.1.3JavaAPI文档
1.2搭建Java环境
1.2.1JDK的下载
1.2.2JDK的安装
1.2.3配置JDK
1.2.4测试开发环境
1.3第一个Java程序
1.4Eclipse开发环境
1.4.1Eclipse简介
1.4.2下载Eclipse
1.4.3Eclipse的配置与启动
1.4.4Eclipse工作台
1.4.5导入项目文件
1.5Eclipse的使用
1.5.1创建Java项目
1.5.2创建Java类文件
1.5.3使用编辑器编写程序代码
1.5.4运行Java程序
1.6程序调试
1.7难点解答
1.7.1JDK常用的基本组件
1.7.2配置环境变量后,javac运行正常,但编译的时候仍找不到文件
1.8小结
1.9动手纠错
第2章Java语言基础
视频讲解:2小时13分
精彩实例:12个
e学码:71个
2.1代码注释
2.2变量与常量
2.2.1标识符与关键字
2.2.2变量
2.2.3常量
2.3基本数据类型
2.3.1整数类型
2.3.2浮点类型
2.3.3字符类型
2.3.4布尔类型
2.4数据类型转换
2.4.1隐式转换
2.4.2显式转换
2.5运算符
2.5.1赋值运算符
2.5.2算术运算符
2.5.3自增和自减运算符
2.5.4关系运算符
2.5.5逻辑运算符
2.5.6位运算符
2.5.7复合赋值运算符
2.5.8三元运算符
2.5.9圆括号
2.5.10运算符优先级
2.6难点解答
2.6.1Java中变量一定要初始化吗?
2.6.2变量与常量的区别
2.7小结
2.8动手纠错
第3章流程控制
视频讲解:2小时27分
精彩实例:11个
e学码:36个
3.1程序结构
3.2条件语句
3.2.1if条件语句
3.2.2switch多分支语句
3.3循环语句
3.3.1while循环语句
3.3.2do…while循环语句
3.3.3for循环语句
3.3.4foreach语句
3.3.5循环语句的嵌套
3.4跳转语句
3.4.1break语句
3.4.2continue语句
3.5难点解答
3.5.1if、else、elseif后的条件执行体
3.5.2switch多分支语句后expression表达式的数据类型
3.6小结
3.7动手纠错
第4章数组
视频讲解:1小时24分
精彩实例:7个
e学码:18个
4.1数组的概述
4.2一维数组
4.2.1创建一维数组
4.2.2给一维数组赋值
4.2.3获取数组长度
4.2.4一维数组的使用场景
4.3二维数组
4.3.1创建二维数组
4.3.2给二维数组赋值
4.3.3二维数组的使用场景
4.3.4不规则数组
4.4数组的基本操作
4.4.1遍历数组
4.4.2填充和批量替换数组元素
4.5难点解答
4.5.1为什么数组的索引从0开始
4.5.2多维数组的长度
4.6小结
4.7动手纠错
第5章字符串
视频讲解:2小时43分
精彩实例:20个
e学码:19个
5.1String类
5.1.1声明字符串
5.1.2创建字符串
5.2字符串的连接
5.2.1连接字符串
5.2.2连接其他数据类型
5.3提取字符串信息
5.3.1获取字符串长度
5.3.2获取指定位置的字符
5.3.3获取子字符串索引位置
5.3.4判断字符串首尾内容
5.3.5获取字符数组
5.3.6判断子字符串是否存在
5.4字符串的操作
5.4.1截取字符串
5.4.2字符串替换
5.4.3字符串分割
5.4.4大小写转换
5.4.5去除空白内容
5.4.6比较字符串是否相等
5.5可变字符串StringBuffer类
5.6难点解答
5.6.1字符串与String类
5.6.2StringBuffer与String的不同之处
5.7小结
5.8动手纠错
第6章面向对象编程基础
视频讲解:1小时45分
精彩实例:9个
e学码:20个
6.1面向对象概述
6.1.1对象
6.1.2类
6.1.3面向对象程序设计的特点
6.2类与对象
6.2.1成员变量
6.2.2成员方法
6.2.3构造方法
6.2.4局部变量
6.2.5this关键字
6.3static关键字
6.3.1静态变量
6.3.2静态方法
6.3.3静态代码块
6.4类的主方法
6.5难点解答
6.5.1把数据抽象成类
6.5.2局部变量和全局变量
6.6小结
6.7动手纠错
第7章面向对象核心技术
视频讲解:3小时13分
精彩实例:18个
e学码:22个
7.1类的封装
7.2类的继承
7.2.1extends关键字
7.2.2方法的重写
7.2.3所有类的父类——Object类
7.3类的多态
7.3.1方法的重载
7.3.2向上转型
7.3.3向下转型
7.3.4instanceof关键字
7.4抽象类与接口
7.4.1抽象类与抽象方法
7.4.2接口的声明及实现
7.4.3多重继承
7.4.4区分抽象类与接口
7.5访问控制
7.5.1访问控制符
7.5.2Java类包
7.5.3final关键字
7.6内部类
7.6.1成员内部类
7.6.2匿名内部类
7.7难点解答
7.7.1类的三大特性
7.7.2什么情况下会使用匿名内部类?
7.8小结
7.9动手纠错
第8章异常处理
视频讲解:57分
精彩实例:5个
e学码:11个
8.1异常概述
8.2捕捉处理异常
8.2.1try-catch代码块
8.2.2finally代码块
8.3在方法中抛出异常
8.3.1使用throws关键字抛出异常
8.3.2使用throw关键字抛出异常
8.4难点解答
8.4.1throws关键字和throw关键字的区别
8.4.2异常的使用原则
8.5小结
8.6动手纠错
第9章Java常用类和枚举类型
视频讲解:1小时49分
精彩实例:9个
e学码:12个
9.1包装类
9.1.1Integer类
9.1.2Number类
9.2Math类
9.2.1Math类概述
9.2.2常用数学运算方法
9.3Random类
9.4Date类
9.5枚举类型
9.6难点解答
9.6.1注意随机数的取值范围
9.6.2“装箱”与“拆箱”
9.7小结
9.8动手纠错
第10章泛型与集合类
视频讲解:1小时24分
精彩实例:6个
e学码:17个
10.1泛型
10.1.1定义泛型类
10.1.2泛型的用法
10.2集合类概述
10.3List集合
10.3.1List接口
10.3.2List接口的实现类
10.3.3Iterator迭代器
10.4Set集合
10.4.1Set接口
10.4.2Set接口的实现类
10.5Map集合
10.5.1Map接口
10.5.2Map接口的实现类
10.6难点解答
10.6.1集合的使用场合
10.6.2集合的元素数量是变化的
10.7小结
10.8动手纠错
第11章Swing程序设计
视频讲解:4小时50分
精彩实例:19个
11.1Swing概述
11.1.1Swing特点
11.1.2Swing包
11.1.3常用Swing组件概述
11.2常用窗体
11.2.1JFrame窗体
11.2.2JDialog对话框窗体
11.3常用布局管理器
11.3.1FlowLayout流布局管理器
11.3.2BorderLayout边界布局管理器
11.3.3GridLayout网格布局管理器
11.4常用面板
11.4.1JPanel面板
11.4.2JScrollPane滚动面板
11.5标签组件与图标
11.5.1JLabel标签组件
11.5.2图标的使用
11.6文本组件
11.6.1JTextField文本框组件
11.6.2JPasswordField密码框组件
11.6.3JTextArea文本域组件
11.7按钮组件
11.7.1JButton按钮组件
11.7.2JRadioButton单选按钮组件
11.7.3JCheckBox复选框组件
11.8列表组件
11.8.1JComboBox下拉列表框组件
11.8.2JList列表框组件
11.9事件监听器
11.9.1动作事件监听器
11.9.2键盘事件
11.9.3鼠标事件
11.9.4窗体事件
11.10难点解答
11.10.1Swing组件的层级关系
11.10.2布局的使用
11.11小结
11.12动手纠错
第12章I/O(输入/输出)
视频讲解:1小时48分
精彩实例:6个
12.1流概述
12.2输入/输出流
12.2.1输入流
12.2.2输出流
12.3File类
12.3.1创建文件对象
12.3.2文件操作
12.3.3文件夹操作
12.4文件输入/输出流
12.4.1FileInputStream类与FileOutputStream类
12.4.2FileReader类与FileWriter类
12.5带缓冲的输入/输出流
12.5.1BufferedInputStream类与BufferedOutputStream类
12.5.2BufferedReader类与BufferedWriter类
12.6难点解答
12.6.1字节流和字符流的区别
12.6.2输入/输出流的使用
12.7小结
12.8动手纠错
第13章多线程
视频讲解:54分
精彩实例:6个
13.1线程简介
13.2实现线程的两种方式
13.2.1继承Thread类
13.2.2实现Runnable接口
13.3线程的生命周期
13.4操作线程的方法
13.4.1线程的休眠
13.4.2线程的加入
13.4.3线程的中断
13.5线程的同步
13.5.1线程安全
13.5.2线程同步机制
13.6难点解答
13.6.1线程的核心方法:run()方法
13.6.2线程的启动
13.7小结
13.8动手纠错
第14章使用JDBC操作数据库
视频讲解:1小时08分
精彩实例:4个
14.1JDBC概述
14.2JDBC中常用的类和接口
14.2.1DriverManager类
14.2.2Connection接口
14.2.3Statement接口
14.2.4PreparedStatement接口
14.2.5ResultSet接口
14.3数据库操作
14.3.1数据库基础
14.3.2连接数据库
14.3.3数据查询
14.3.4动态查询
14.3.5添加、修改、删除记录
14.4难点解答
14.4.1无法连接数据库
14.4.2SQL语句的使用
14.5小结
14.6动手纠错
第15章Java绘图
视频讲解:1小时23分
精彩实例:5个
15.1Java绘图基础
15.1.1Graphics绘图类
15.1.2Graphics2D绘图类
15.1.3Canvas画布类
15.2绘制几何图形
15.3设置颜色与画笔
15.3.1设置颜色
15.3.2设置画笔
15.4图像处理
15.4.1绘制图像
15.4.2图像缩放
15.5难点解答
15.5.1大部分方法需要重写
15.5.2AWT与Swing组件的区别
15.6小结
15.7动手纠错
第16章坦克大战游戏
16.1开发背景
16.2系统开发环境要求
16.3系统功能设计
16.3.1系统功能结构
16.3.2系统业务流程
16.4项目目录结构预览
16.5枚举设计
16.5.1方向枚举
16.5.2游戏模式枚举
16.5.3坦克类型枚举
16.5.4墙块类型枚举
16.6公共类设计
16.6.1绘图工具类
16.6.2地图工具类
16.7模型类设计
16.7.1可显示图像的抽象类
16.7.2玩家坦克类
16.7.3电脑坦克类
16.7.4子弹类
16.7.5基地类
16.7.6爆炸效果类
16.7.7地图类
16.8墙块设计
16.8.1墙块抽象类
16.8.2墙块实体类
16.9窗体类设计
16.9.1主窗体
16.9.2登录面板
16.9.3显示关卡面板
16.9.4游戏面板
16.10游戏核心功能设计
16.10.1碰撞检测
16.10.2刷新帧
16.11小结
附录1Eclipse常用快捷键
附录2编码格式规范
附录3命名规范
附录4实例索引
第1章Java基础应用
实例001判断某一年是否为闰年
实例002从控制台接收输入的身份证号
实例003为新员工分配部门
实例004重定向输出流实现程序日志
实例005用动态数组保存学生姓名
实例006用List集合传递学生信息
实例007利用数组随机抽取幸运观众
实例008Map映射集合实现省市级联选择框
实例009格式化当前日期
实例010人民币金额转换成大写格式
实例011验证IP地址的有效性
实例012鉴别非法电话号码
实例013汉诺塔问题求解
实例014ASCII编码查看器
实例015经理与员工的差异
实例016简单的汽车销售4S店
实例017两只完全相同的宠物
实例018简单的截图软件
实例019泛型化的折半查找法
实例020查看和修改线程名称
实例021简单的电子时钟
实例022简单的模拟时钟
实例023简单的公历万年历
实例024判断日期格式的有效性
实例025查看本地时区
实例026计算程序运行时间
实例027七星彩号码生成器
实例028大乐透号码生成器
实例029监视JVM内存状态
第2章图形与图表操作
实例030为图形填充渐变色
实例031绘制艺术图案
实例032绘制花瓣
实例033裁剪图片
实例034使用像素值生成图像
实例035水印文字特效
实例036中文验证码
实例037图片验证码
实例038带干扰线的验证码
实例039图片半透明特效
实例040图片融合特效
实例041文字跑马灯特效
实例042字幕显示特效
实例043电影胶片特效
实例044雪花飘落动画效果
实例045水波动画效果
实例046图片配对游戏
实例047小猪走迷宫游戏
实例048拼图游戏
实例049海滩捉螃蟹游戏
实例050荒山打猎游戏
实例051打字母游戏
实例052警察抓小偷
实例053掷骰子
实例054画梅花
实例055打造自己的开心农场
实例056基本饼图
实例057分离饼图
实例058创建3D饼图
实例059实现多饼图
实例060简单柱形图
实例061绘制3D柱形图
实例062多系列柱形图
实例063多系列3D柱形图
实例064基本折线图
实例0653D折线图
实例066XY折线图
实例067排序折线图
第3章文字操作与数据库
实例068以树结构显示文件路径
实例069文件批量重命名
实例070快速批量移动文件
实例071读取属性文件的单个属性值
实例072删除文件夹中的所有文件
实例073修改文件属性
实例074显示指定类型的文件
实例075键盘录入内容保存到文本文件
实例076逆序输出数组信息
实例077合并多个txt文件
实例078实现文件简单加密与解密
实例079分割大文件
实例080重新合并分割后的文件
实例081向属性文件中添加信息
实例082替换文本文件内容
实例083批量复制指定扩展名的文件
实例084投票统计
实例085压缩所有文本文件
实例086压缩所有子文件夹
实例087在指定目录下搜索文件
实例088压缩包解压到指定文件夹
实例089设置RAR压缩包密码
实例090深层压缩文件夹的释放
实例091把窗体压缩成ZIP文件
实例092解压缩Java对象
实例093窗体动态加载磁盘文件
实例094从XML文件中读取数据
实例095分类存储文件夹中的文件
实例096统计文本中的字符数
实例097序列化与反序列化对象
实例098文件锁定
实例099使用SAX解析XML元素名称
实例100使用SAX解析XML元素名称和内容
实例101使用SAX解析XML元素属性和属性值
实例102使用DOM解析XML元素名称
实例103使用DOM解析XML元素名称和内容
实例104使用DOM解析XML元素属性和属性值
第4章网络安全与多线程
实例105获取本地主机的域名和主机名
实例106通过IP地址获取域名和主机名
实例107获取内网的所有IP地址
实例108设置等待连接的超时时间
实例109获取Socket信息
实例110接收和发送Socket信息
实例111使用Socket通信
实例112防止Socket传递汉字乱码
实例113使用Socket传输图片
实例114使用Socket传输音频
实例115使用Socket传输视频
实例116一个服务器与一个客户端通信
实例117一个服务器与多个客户端通信
实例118客户端一对多通信
实例119客户端一对一通信
实例120聊天室服务器端
实例121聊天室客户端
实例122使用MD5加密
实例123使用Hmac加密
实例124使用DSA加密
实例125线程的插队运行
实例126使用方法实现线程同步
实例127使用代码块实现线程同步
实例128使用特殊域变量实现线程同步
实例129使用重入锁实现线程同步
实例130使用线程局部变量实现线程同步
实例131简单的线程通信
实例132解决线程的死锁问题
实例133使用阻塞队列实现线程同步
实例134哲学家就餐问题
实例135使用信号量实现线程同步
实例136使用原子变量实现线程同步
实例137查看JVM中的线程名
实例138查看和修改线程的优先级
实例139使用事件分配线程更新Swing控件
第5章Swing程序设计
实例140根据桌面大小调整窗体大小
实例141自定义最大化、最小化和关闭按钮
实例142设置闪烁的标题栏
实例143实现带背景图片的窗体
实例144渐变背景的主界面
实例145文件的保存对话框
实例146支持图片预览的文件选择对话框
实例147右下角弹出信息窗体
实例148颜色选择对话框
实例149窗体顶层的进度条
实例150窗体抖动效果
实例151模拟QQ隐藏窗体
实例152百叶窗登场特效
实例153框架容器的背景图片
实例154拦截事件的玻璃窗格
实例155简单的每日提示信息
实例156震动效果对话框
实例157给文本域设置背景图片
实例158简单的字符统计工具
实例159能预览图片的复选框
实例160简单的计票软件
实例161能显示图片的组合框
实例162使用滑块选择日期
实例163模仿记事本的菜单栏
实例164自定义纵向的菜单栏
实例165复选框与单选按钮菜单
实例166包含图片的弹出菜单
实例167工具栏的实现与应用
实例168修改列表项显示方式
实例169修改列表项选择模式
实例170查找特定的列表元素
实例171设置表格的选择模式
实例172实现表格的查找功能
实例173在表格中应用组合框
实例174删除表格中选中的行
实例175实现表格的分页技术
实例176为单元格绘制背景色
实例177实现表格的栅栏效果
实例178编写中国省市信息树
实例179为树节点增加提示信息
实例180双击编辑树节点功能
实例181检查代码中的括号是否匹配
实例182文档中显示自定义图片
实例183高亮显示用户指定的关键字
实例184使用微调控件调整时间
实例185显示完成情况的进度条
实例186监视文件读入的进度
实例187支持图标的列表控件
实例188实现按钮关键字描红
实例189忙碌的按钮控件
实例190实现透明效果的表格控件
实例191在表格中显示工作进度百分比
实例192在表格中显示图片
实例193按钮放大效果
实例194带有动画效果的登录按钮
实例195焦点按钮的缩放
实例196动态加载表格数据
实例197石英钟控件
实例198日历控件
实例199平移面板控件
实例200背景图面板控件
附录1Java代码编写规范
附录2Eclipse常用的快捷键
零基础学Java套装是2017年由吉林大学出版社出版,作者明日科技。
得书感谢您对《零基础学Java套装》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。