Java语言是由Sun Microsystems公司于1995年推出的面向对象的程序设计语言,是一种简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。其因良好的跨平台性,在Web和移动互联网中广泛使用。
Java语言是目前应用最广泛的面向对象的程序设计语言之一。它通过面向对象的方式,将现实世界的事物抽象成对象,将现实世界中的关系抽象成类、继承,帮助人们实现对现实世界的抽象与数字建模。面向对象的方式,更利于程序开发者对复杂系统进行分析、设计与编程,同时,还能有效提高编程的效率。由于面向对象方法的突出优点,目前,它已成为开发研发型软件所采用的主要方法。
值得一提的是,2008年10月第一部Android智能手机发布。Android系统逐渐应用于平板电脑及其他领域,如电视、数码相机、游戏机等。随着Android系统的蓬勃发展,Java语言也具备了更广阔的应用空间和发展前景。
Java语言借鉴了C语言。但是,由于Java本身是一个完整的程序设计语言,而且它是以面向对象作为设计思想的,所以Java语言可以作为入门语言来学习,本书也立足于此。学习本书并不需要读者具有C语言基础。
作为程序语言的入门书籍,本书内容全面、示例丰富,不仅详细地介绍了Java语言自身,而且介绍了面向对象、多线程、数据库编程、网络编程等。全书注重基础性和实用性,有利于读者在实践中掌握面向对象的编程理念和提高解决问题的能力。
本书由湖南软件职业学院软件工程系刘群、谢钟扬、马庆担任主编,张海良、周海珍、李兵、易兰英、张征担任副主编,黄利红、曾琴、唐玲林、苏秀芝、王康、张维参与了本书的编写工作,全书由左国才主审。
由于编者水平有限及计算机知识更新速度快,本书难免有不妥之处,恳请广大读者和专家批评指正。对本书的任何问题,请读者通过邮件方式发至35720263@qq.com,我们将不胜感激。
编 者
2022年3月
本书作为Java程序设计的入门教材,突出了“工学结合、任务驱动”的编写思想,力求深入浅出、有的放矢,以示例的展开引入理论的阐述,便于读者掌握Java语言的编程特点。
本书分为10章,内容包括Java概述、Java程序设计基础、Java流程控制语句、数组与字符串、面向对象程序设计、异常处理、多线程程序设计、数据库编程、输入/输出处理、网络编程等。
本书语言简洁易懂,分析精辟深刻,适合作为高职院校计算机相关专业的教材,也可作为计算机技术的培训教材,还可作为Java认证考试用书。
第1章 Java概述 1
1.1 Java语言概述 1
1.1.1 Java语言的背景 1
1.1.2 Java语言的特性 2
1.1.3 Java和C、C++ 的比较 4
1.1.4 Java的应用 6
1.1.5 Java开发平台 7
1.1.6 一个简单的Java程序 8
1.2 Java开发环境 10
1.2.1 Java虚拟机(JVM) 10
1.2.2 JDK、JRE、JVM之间的关系 10
1.2.3 JDK目录结构 11
1.3 Eclipse使用介绍 12
1.3.1 Eclipse的发展背景 12
1.3.2 Eclipse的主要特点 12
1.3.3 Eclipse的下载与安装 13
1.3.4 Eclipse的开发环境 13
课后练习 20
第2章 Java程序设计基础 21
2.1 标识符与数据类型 21
2.1.1 标识符 21
2.1.2 数据类型 22
2.2 常量与变量 23
2.2.1 常量 23
2.2.2 变量 24
2.2.3 变量的作用域 26
2.2.4 变量的默认值 26
2.3 语句、表达式和运算符 26
2.3.1 赋值运算符与赋值表达式 27
2.3.2 语句 27
2.3.3 算术运算符 27
2.3.4 关系运算符 28
2.3.5 逻辑运算符 29
2.3.6 位运算符 29
2.3.7 其他运算符 29
2.3.8 运算符的优先级 29
2.4 数据类型之间的转换 30
2.4.1 自动类型转换 30
2.4.2 强制类型转换 31
2.4.3 表达式的类型转换 32
2.5 注释 32
2.6 关键字 33
2.7 Java编码规范与编码格式 33
课后练习 35
第3章 Java流程控制语句 36
3.1 分支语句 36
3.1.1 if语句 36
3.1.2 switch语句 41
3.2 循环语句 44
3.2.1 while语句 44
3.2.2 do-while语句 45
3.2.3 for语句 45
3.2.4 循环语句对比 47
3.3 跳转语句 48
3.3.1 break语句 48
3.3.2 continue 语句 49
3.3.3 return语句 50
课后练习 50
第4章 数组与字符串 51
4.1 数组 51
4.1.1 一维数组的定义 51
4.1.2 一维数组的初始化 52
4.1.3 一维数组的引用 52
4.1.4 多维数组 53
4.1.5 二维数组的定义 53
4.1.6 二维数组的初始化 54
4.1.7 二维数组的引用 54
4.2 字符串 54
4.2.1 字符串常量 54
4.2.2 String类字符串 55
4.2.3 StringBuffer类字符串 59
课后练习 61
第5章 面向对象程序设计 62
5.1 面向对象程序设计的思想 62
5.1.1 面向对象的方法学 63
5.1.2 面向对象程序设计的基本概念 63
5.2 类和对象 66
5.2.1 软件对象 66
5.2.2 类声明和类体 67
5.2.3 如何创建和使用对象 68
5.2.4 类的方法 70
5.3 类和封装 73
5.3.1 封装 73
5.3.2 访问控制 74
5.3.3 构造方法 75
5.3.4 this的用法 76
5.3.5 静态常量 76
5.3.6 final关键字 76
5.4 类和继承 77
5.4.1 继承 77
5.4.2 抽象类和抽象方法 79
5.5 类和多态 80
5.6 接口 82
5.7 包 82
5.7.1 创建包 83
5.7.2 导入包 83
5.7.3 包的内容 84
5.7.4 包对象和规范 85
5.8 面向对象设计原则 85
课后练习 86
第6章 异常处理 87
6.1 异常和异常处理 87
6.1.1 异常 87
6.1.2 异常处理机制 87
6.1.3 Java中异常类和异常对象 88
6.1.4 异常捕获与处理 89
6.1.5 一个异常处理的实例 92
6.2 异常处理语句 92
6.2.1 try-catch语句 92
6.2.2 try-catch-finally语句 96
6.2.3 throw语句 97
6.2.4 throws语句 97
6.2.5 Java异常处理的特点 98
6.3 创建用户自定义异常类 98
课后练习 99
第7章 多线程程序设计 100
7.1 线程的概念 100
7.1.1 线程、进程和多任务 100
7.1.2 Java中的多线程 101
7.2 多线程程序设计 101
7.2.1 从Thread类继承 101
7.2.2 实现Runnable接口 103
7.3 多线程的状态处理 104
7.3.1 线程的状态 104
7.3.2 对线程状态的控制 104
7.4 线程的同步与共享 105
7.4.1 线程的同步 105
7.4.2 线程的优先级 106
7.4.3 生产者—消费者问题 106
课后练习 109
第8章 数据库编程 110
8.1 JDBC概述 110
8.1.1 什么是JDBC 110
8.1.2 JDBC体系结构 110
8.1.3 JDBC的用途 111
8.1.4 JDBC 驱动程序的类型 111
8.1.5 JDBC与ODBC的比较 112
8.2 JDBC实现数据库操作的方法 113
8.2.1 加载驱动程序 113
8.2.2 建立数据库连接 113
8.2.3 进行数据库操作 114
8.2.4 处理执行SQL语句的结果 114
8.2.5 释放声明语句 115
8.3 Statement接口详解 115
8.4 数据库连接实例 116
8.4.1 连接MySQL数据库 116
8.4.2 连接Oracle数据库 116
8.4.3 连接SQL Server数据库 117
课后练习 118
第9章 输入/输出处理 119
9.1 输入/输出流的概述 119
9.1.1 输入/输出流的概念 119
9.1.2 输入/输出类层次 119
9.1.3 标准输入/输出 121
9.2 输入/输出流的分类 123
9.2.1 I/O流的四个基本类 123
9.2.2 I/O流的具体分类 124
9.3 字节流 125
9.4 字符流 131
9.5 InputStream与Reader的差别以及OutputStream与Writer的差别 132
9.6 综合实例 133
课后练习 136
第10章 网络编程 137
10.1 网络技术的基本概念 138
10.1.1 TCP/IP协议集合 138
10.1.2 IP地址与端口 139
10.1.3 URL 139
10.2 Java网络技术架构 140
10.3 URL编程 140
10.3.1 创建URL对象 140
10.3.2 获取URL对象的信息 141
10.3.3 URL应用实例 141
10.4 Socket编程 142
10.4.1 Socket类和ServerSocket类 142
10.4.2 Socket编程基本步骤 143
10.4.3 Socket通信实例 143
课后练习 145
参考文献 146