本书循序渐进,由浅入深。针对初学者难以转换开发思维的情况,进行了较深的原理讲解,同时适量增加了大量实例,并以序号的形式,分点进行详解。内容丰富重实用。本书主要面向对象为零基础或初级程序开发者。以实际应用为目标,从Java基础开始讲解,到数据库操作,去除了使用率不高的SWING应用,把该篇幅的容量增加到其他相对重要的章节,让读者学到更符合开发者的技能。细致入微实战强。书中大量的使用了实例,一个知识点一个实例,一段注释讲解,同时章尾配有巩固案例。
适读人群 :计算机相关专业本科生
本书特点:1)教材配套课件与习题答案。2)书中使用了大量实例,一个知识点一个实例,一段注释讲解,同时章尾配有巩固案例。3)与同类书籍相比,教材对基本概念的讲解透彻,条理清晰,步骤详细。4)作者有多年的教学和软件开发经验,能保证教材质量。
Java是比较流行的开发语言之一。Java语言之所以受到广大用户的青睐,一方面是它的易学易用,使初学者能够很快上手;另一方面是它具有的跨平台特性,在Windows操作系统和Linux操作系统上都可以使用Java语言开发的软件。此外,随着目前移动端软件开发的兴起,且Android的用户占有率较大,而Java是学习Android开发的基础,因此,Java越来越受欢迎。Java作为面向对象编程领域中的引领者,在版本不断更新的同时,也注重编写便捷性方面的改进和完善。目前,对于软件开发类的企业来说,Java语言的需求人数远高于其他的语言。
克服以往Java教材中存在的一些问题,如专业性太强、版本相对滞后、理论实践脱节等,本书内容从初级读者入手,按照知识的体系结构和读者的特点,进阶增加知识点。本书可以引导读者快速掌握Java的基本语法、文件、线程以及网络编程的应用,进而完成对JDBC的学习,最后实现用Java语言连接Oracle数据库的操作。本书的内容设置由浅入深,重点突出,注重理论与实践相结合,可快速提高读者的Java知识水平。
基本内容本书采用JDK 17版本,在Eclipse Mars工具下演示程序,讲述了Java的基本元素、控制语句、数组、面向对象等基础内容之后,介绍了文件和流、线程、网络编程,最后讲解了使用Java语言连接Oracle数据库,涵盖了Java从初学到进阶的所有主要内容。
全书共13章,各章的主要内容如下:
第1章概括地介绍了Java语言发展的历史,Java环境的安装与配置,以及Eclipse开发工具的下载、安装及使用。
第2章讲解了Java的基础知识,包括关键字和标识符、变量和常量、运算符和表达式的使用,以及注释在Java中的应用。
第3章介绍了Java中的流程控制语句,包括选择语句if、switch的使用和循环语句while、for的使用等。
第4章讲解了Java中数组的使用,包括一维数组和多维数组的声明以及应用。
第5章讲解了Java中字符串的定义以及常用的操作,比如,字符串的替换、查找、截取等操作。
第6章讲解了Java中面向对象的基础,包括类、对象、方法的定义和使用等。
第7章讲解了Java中面向对象的高级内容,包括继承、多态、接口、抽象类、内部类的使用等。
第8章讲解了Java中的异常处理,包括系统异常以及自定义异常的使用。
第9章讲解了 Java中的集合与工具类的使用。集合部分包括List、Set、Map三种接口的集合实现类,以及泛型集合的使用;工具类部分包括日期类型、数值类型的转换等。
第10章讲解了文件和流的应用。文件部分讲解了文件的创建和基本的文件操作;流部分讲解了字节流、字符流以及从处理流的使用等。
第11章讲解了多线程的使用,包括多线程程序的实现以及线程的同步和互斥等。
第12章讲解了网络编程的应用,包括使用UDP和TCP方式的Socket编程以及多线程的网络编程等。
第13章讲解了使用Java语言连接Oracle数据库,包括对数据表的增、删、改、查的操作,以及使用用户登录注册的实例演练JDBC连接数据库的应用。
主要特点本书作者多年来一直从事Java相关课程的讲授及图书的撰写,并在多个软件项目中使用Java数据库,有着丰富的教学实践和编写经验。
本书采用最常用的版本Java 7作为学习软件,由浅入深地系统介绍了Java语言的语法及应用。每章开始都有“本章学习目标”,做到目标明确,方便老师教学及学生对各章内容的掌握,起到提纲挈领的作用。每章后的“小结”对本章所学的内容进行了梳理。对有实践操作要求的章节,配有完整的案例,以加深对相关知识的理解。
本书具有以下特点。
● 从零开始,轻松入门。
● 图解案例,清晰直观。
● 图文并茂,操作简单。
● 实例引导,专业经典。
● 学以致用,注重实践。
读者对象本书的读者对象包括:Java的初级读者;具有一定Java基础知识、希望进一步系统学习的读者;大中专院校计算机相关专业的学生;使用Java语言的软件开发人员。
本书可以作为大专院校计算机相关专业专科及本科的授课教材,也可以作为相关培训的辅导用书,同时也非常适合作为技术人员的参考手册。
配套资源简介为了方便读者学习,本书配套提供了多媒体教学资源,其中包含了本书教学视频、主要课后习题答案以及PPT教学课件等,这些文件都保存在相应章节的文件夹中,相信会为读者的学习带来便利。
本书由东北大学秦婧、刘存勇和沈阳工业大学钟铃共同编写。在编写过程中得到了同行的支持和帮助,在这里一并表示感谢。
对于书中可能存在的错误和不妥之处,请读者提出宝贵意见。
编者
出版说明
前言
第1章认识Java
1.1了解Java
1.1.1Java的历史
1.1.2Java的特点和优势
1.2开发环境的搭建
1.2.1安装JDK
1.2.2JRE与JDK的关系
1.2.3环境变量的配置
1.2.4运行第一个程序
1.3Eclipse简介
1.3.1Eclipse的安装
1.3.2常用菜单介绍
1.3.3创建第一个项目
1.4小结
1.5习题
第2章Java基础元素
2.1标识符和关键字
2.1.1标识符
2.1.2关键字和保留字
2.2八种基本数据类型
2.2.1数据类型划分
2.2.2整数类型
2.2.3浮点类型
2.2.4字符类型和布尔类型
2.3常量和变量
2.3.1变量的声明
2.3.2常量的声明
2.3.3基本数据类型之间的转换
2.3.4实例演练:char类型与整型
转换
2.4运算符
2.4.1算术运算符
2.4.2赋值运算符
2.4.3比较运算符
2.4.4逻辑运算符
2.4.5位运算符
2.4.6运算符优先级
2.4.7表达式
2.4.8三目运算符
2.4.9实例演练1:使用三元运算符
取得2个数中的较大值
2.4.10实例演练2:使用位运算符计
算2的4次幂
2.5代码的注释
2.6小结
2.7习题
第3章流程控制
3.1顺序结构
3.2选择结构
3.2.1if语句
3.2.2switch语句
3.2.3实例演练1:根据身高范围指
明衣服尺码
3.2.4实例演练2:根据手机号判断
运营商
3.3循环结构
3.3.1while语句
3.3.2do…while语句
3.3.3for语句
3.3.4实例演练1:打印三角形与矩形
3.3.5实例演练2:给定一个整数,求得
各位数的乘积
3.4跳转操作
3.4.1break语句
3.4.2continue语句
3.4.3return语句
3.4.4实例演练:输出1~50内,能被3
和7整除的数
3.5综合实例:猜数游戏
3.6小结
3.7习题
第4章数组
4.1一维数组
4.1.1一维数组的声明和初始化
4.1.2一维数组的访问
4.1.3数组的异常
4.1.4实例演练:输出数组中比数组
元素平均值小的数
4.2多维数组
4.2.1多维数组的定义和创建
4.2.2多维数组的遍历和访问
4.2.3实例演练: 以数组描述仓库模型
4.3数组相关操作
4.3.1数组的排序
4.3.2数组的复制
4.3.3实例演练:找出一维数组中的
最大值和最小值
4.4综合实例1:冒泡排序与选择
排序
4.5综合实例2:行列转置
4.6综合实例3:1~10中的5个数
不重复地加入到数组中
4.7小结
4.8习题
第5章字符串
5.1认识字符串相关类
5.1.1String类
5.1.2StringBuilder类
5.1.3StringBuffer类
5.2字符串相关操作
5.2.1判断空字符串
5.2.2比较字符串
5.2.3连接字符串
5.2.4分割字符串
5.2.5字符替换
5.2.6去除字符串首尾空格
5.2.7获取指定字符的位置
5.2.8字母大小写转换
5.2.9字符串截取
5.2.10字符串开始与结束
5.2.11返回指定索引处的值
5.2.12基础类型转换为字符串
5.2.13实例演练1:验证字符串是否
是纯数字
5.2.14实例演练2:查看字符串中含
有多少个“#”
5.3综合实例1:根据输入的字符串,
将其控制在5个字符
5.4综合实例2:删除重复字符
5.5小结
5.6习题
第6章面向对象基础
6.1理解面向对象
6.1.1了解常用的术语
6.1.2面向对象和面向过程的区别
6.1.3理解对象
6.1.4理解类
6.2类
6.2.1类的定义
6.2.2成员变量
6.2.3成员方法
6.2.4成员修饰符
6.2.5成员变量与局部变量的区别
6.2.6main方法
6.3类的实例
6.3.1构造器
6.3.2创建类的实例
6.3.3访问实例的成员
6.3.4this关键字
6.3.5匿名对象
6.3.6垃圾回收
6.4方法
6.4.1方法的定义
6.4.2方法的分类
6.4.3方法的调用
6.4.4方法的参数传递
6.4.5方法的重载
6.4.6实例演练:使用方法重载编写
求不同类型最大值的方法
6.5static关键字
6.5.1使用static修饰变量
6.5.2使用static修饰方法
6.5.3使用static修饰代码块
6.5.4单例模式
6.5.5实例演练:使用静态代码块初
始化属性
6.6包
6.6.1包的概念及应用
6.6.2使用import导入包
6.6.3Java常用的包
6.7综合实例:学生信息管理
6.8小结
6.9习题
第7章面向对象高级
7.1面向对象的特性
7.2继承
7.2.1理解继承的概念
7.2.2实现类的继承
7.2.3子类实例化过程
7.2.4方法的重写
7.2.5父类引用指向子类实例
7.2.6super关键字
7.2.7实例演练:实现不同级别员工
工资的计算
7.3抽象类和接口
7.3.1抽象类和抽象方法
7.3.2接口的概念
7.3.3接口的创建和实现
7.3.4接口的实现
7.3.5接口的继承
7.3.6接口和抽象类的区别
7.3.7实例演练:银行存取款机
7.4多态
7.4.1什么是多态
7.4.2多态的优势
7.4.3实例演练1:使用继承实现
不同专业的课程设置
7.4.4实例演练2:使用接口实现
宾馆不同房型的设置
7.5内部类
7.5.1内部类特性
7.5.2成员内部类
7.5.3静态内部类
7.5.4方法内部类
7.5.5匿名内部类
7.6综合演练:使用继承实现不同
专业学生成绩统计
7.7小结
7.8习题
第8章异常
8.1认识异常
8.1.1了解Java异常
8.1.2异常类的继承关系
8.2异常的处理
8.2.1异常处理过程
8.2.2try…catch…finally语句
8.2.3Java7的改进
8.3常见应用
8.3.1获取异常信息
8.3.2异常的作用和使用原则
8.3.3常见的异常类
8.3.4实例演练:利用finally重新
计算结果
8.4异常的抛出
8.4.1方法头中的throws关键字
8.4.2方法体中的throw语句
8.5自定义异常
8.5.1自定义异常的方法
8.5.2实例演练:自定义异常,提示圆
半径不能是负数
8.6小结
8.7习题
第9章集合和工具类
9.1集合概述
9.1.1集合与数组的比较
9.1.2集合继承层次
9.2Collection接口下的继承者
9.2.1Collection接口
9.2.2Set接口
9.2.3HashSet和TreeSet
9.2.4List接口
9.2.5ArrayList和LinkedList
9.3集合访问器Iterator接口
9.4集合工具类Collections
9.5Map接口
9.5.1Map接口简介
9.5.2HashMap和TreeMap
9.6泛型集合
9.7常用工具类
9.7.1Java API文档
9.7.2Math类
9.7.3日期处理
9.7.4实例演练1:使用Math方法对
随机产生的小数取整
9.7.5实例演练2:根据给定的时间,
计算N小时后的时间
9.8综合实例:查找集合中符合要
求的元素并组成新集合
9.9小结
9.10习题
第10章文件和流
10.1文件
10.1.1认识File类
10.1.2File类的应用
10.1.3实例演练:遍历指定目录所有文件,
并更新所有txt文件的名称
10.2字节流与字符流
10.2.1字节流
10.2.2字符流
10.3处理流
10.3.1认识处理流
10.3.2特定数据类型访问处理流
10.3.3对象序列化处理流
10.3.4缓冲处理流
10.4综合演练:通过文件存取
图书类的信息
10.5小结
10.6习题
第11章多线程
11.1线程概述
11.2线程实现
11.2.1通过Thread子类实现
11.2.2通过Runnable接口实现
11.2.3Thread与Runnable的区别
11.2.4实例演练:使用多线程实现
多个闹钟叫醒服务
11.3线程的控制
11.3.1线程的生命周期
11.3.2 线程的优先级
11.3.3 线程的休眠与中断
11.4 线程的同步与互斥
11.4.1线程安全问题与死锁
11.4.2线程同步
11.4.3线程间的通信
11.4.4实例演练:使用多线程实现
打印ABC
11.5 综合实例:使用多线程
实现电影院售票
11.6小结
11.7习题
第12章网络编程
12.1网络基础知识
12.1.1Internet与OSI
12.1.2IP地址与端口号
12.1.3UDP与TCP
12.2Socket编程
12.2.1认识Socket
12.2.2InetAddress类
12.2.3基于UDP的Socket程序
12.2.4基于TCP的Socket程序
12.2.5基于TCP的多线程Socket
程序
12.3综合实例:猜拳游戏
12.4小结
12.5习题
第13章使用JDBC连接数据库
13.1JDBC基础
13.1.1JDBC简介
13.1.2JDBC常用类和接口
13.2使用JDBC操作数据库
13.2.1编写数据操作类
13.2.2查询数据
13.2.3增加数据
13.2.4修改数据
13.2.5删除数据
13.3综合实例:用户登录注册
模块
13.4小结
参考文献