目录 第一部分Java程序设计第1章Java入门3 1.1Java简介3 1.1.1Java的由来3 1.1.2Java的特点4 1.2Java平台6 1.2.1Java平台的构成6 1.2.2Java平台的版本6 1.2.3JRE 和 JDK7 1.2.4JDK的下载与安装8 1.2.5环境变量的配置10 1.3Java程序的种类与开发流程12 1.3.1Java程序的种类12 1.3.2Java程序的开发流程12 1.4小试身手13 1.5Java API文档的使用14 1.6Java Doc文档15 1.6.1语法15 1.6.2文档标签简介16 1.6.3生成Java Doc文档17 1.7JShell19 本章小结20 习题120第2章Java的基本语法21 2.1原始类型21 2.1.1整数类型22 2.1.2实数类型24 2.1.3字符型24 2.1.4布尔型25 2.1.5强制类型转换25 2.2引用类型26 2.3String26 2.4声明变量27 2.4.1变量的赋值28 2.4.2变量的默认值28 2.4.3常量28 2.4.4变量的作用范围28 2.5命名29 2.6运算符与表达式29 2.6.1算术运算符29 2.6.2关系运算符31 2.6.3逻辑运算符31 2.6.4位运算符33 2.6.5赋值运算符34 2.6.6其他运算符 35 2.7数组35 2.7.1一维数组36 2.7.2多维数组37 本章小结38 习题238第3章流程控制40 3.1分支语句40 3.1.1if…else语句40 3.1.2switch语句42 3.1.3switch表达式45 3.2循环语句46 3.2.1while语句46 3.2.2do…while语句46 3.2.3for语句47 3.2.4for…each语句49 3.2.5嵌套循环50 3.2.6循环语句的对比50 3.3跳转语句51 3.3.1break语句51 3.3.2continue语句53 3.3.3return语句54 本章小结55 习题355第4章面向对象编程57 4.1面向对象编程概述57 4.2类的定义58 4.2.1类的基本结构58 4.2.2成员变量和局部变量60 4.2.3成员方法62 4.2.4Overloading68 4.2.5构造方法70 4.2.6this72 4.3对象72 4.3.1对象的创建73 4.3.2对象的使用74 4.3.3对象的清除74 4.3.4record快速构建对象75 4.4static76 4.4.1类变量76 4.4.2类方法78 4.4.3静态语句块78 4.5包和模块79 4.5.1包的定义80 4.5.2编译和运行包中的类80 4.5.3import语句82 4.5.4模块83 4.6访问权限修饰符86 4.6.1private86 4.6.2friendly86 4.6.3protected87 4.6.4public88 4.7常用类88 4.7.1Object类88 4.7.2String类与StringBuffer类90 4.7.3数值包装类94 4.7.4Math类95 4.7.5Random类97 4.7.6处理日期的类97 4.7.7Arrays类100 4.7.8Objects类102 本章小结103 习题4103第5章继承105 5.1继承的语法105 5.2成员变量的隐藏和方法的覆盖106 5.3super107 5.4final和sealed 108 5.5多态110 5.6继承与组合114 5.7初始化顺序116 本章小结119 习题5119第6章抽象类、接口和内部类121 6.1抽象类121 6.1.1声明抽象类121 6.1.2继承抽象类121 6.1.3抽象类的应用121 6.2接口124 6.2.1声明接口124 6.2.2实现接口125 6.2.3default、private和static方法125 6.3内部类126 6.3.1内部类的概念126 6.3.2匿名内部类127 6.4Lambda表达式130 6.4.1定义130 6.4.2常见函数式接口131 6.4.3方法引用131 本章小结132 习题6133第7章枚举134 7.1枚举变量的定义134 7.2枚举在if和switch语句中的应用134 本章小结136 习题7136第8章异常137 8.1异常信息137 8.2异常的处理138 8.3异常的类型140 8.4finally140 8.5throws141 8.6自定义异常141 8.7异常的进一步处理142 8.7.1在何处处理异常142 8.7.2同时处理父、子类异常143 8.7.3同时处理多个异常144 本章小结145 习题8145第9章输入输出146 9.1File146 9.1.1创建一个File对象146 9.1.2访问File对象的方法147 9.1.3列出目录下的文件148 9.1.4列出目录下满足条件的文件148 9.1.5Path151 9.2输入流152 9.2.1字节输入流152 9.2.2try…with…resources语句157 9.2.3字符输入流158 9.2.4Scanner162 9.2.5从控制台输入163 9.3输出流167 9.3.1字节输出流167 9.3.2字符输出流170 9.3.3格式化输出172 9.4数字字节输入输出流173 9.4.1DataInputStream和DataOutputStream173 9.4.2RandomAccessFile175 9.5对象输入输出流176 9.6压缩、解压缩流178 9.6.1压缩178 9.6.2解压缩179 9.7Files工具类180 本章小结181 习题9182第10章图形用户界面184 10.1AWT包与Swing包184 10.1.1辅助类186 10.1.2组件类186 10.1.3容器类186 10.2版面布局管理器190 10.2.1FlowLayout191 10.2.2BorderLayout192 10.2.3GridLayout194 10.2.4CardLayout195 10.2.5无布局管理器196 10.3事件处理197 10.3.1事件处理机制197 10.3.2事件处理示例200 10.3.3事件适配器206 10.4Swing常用组件208 10.4.1标签208 10.4.2按钮209 10.4.3文本框213 10.4.4文本区215 10.4.5列表215 10.4.6组合框216 10.4.7对话框221 10.4.8计时器225 10.4.9菜单组件225 10.5Swing 组件应用227 10.5.1图片浏览器227 10.5.2文本编辑器231 本章小结236 习题10236第11章JavaFX237 11.1JavaFX概述237 11.1.1JavaFX的发展237 11.1.2JavaFX架构图237 11.2JavaFX程序238 11.2.1场景Scene238 11.2.2JavaFX应用程序的生命周期238 11.2.3JavaFX应用程序238 11.3Java FX布局239 11.3.1FlowPane239 11.3.2BorderPane241 11.3.3HBox242 11.3.4VBox243 11.3.5GridPane244 11.3.6StackPane246 11.4事件处理247 11.4.1事件247 11.4.2事件分发流程249 11.4.3事件处理250 11.5JavaFX UI组件257 11.5.1标签257 11.5.2按钮257 11.5.3文本框259 11.5.4文本区259 11.5.5菜单组件261 11.5.6文件选择器262 11.6在UI控件上使用CSS266 11.6.1创建样式266 11.6.2JavaFX CSS选择器267 11.6.3美化UI控件268 11.6.4使用setStyle()方法设置样式269 本章小结269 习题11270第12章JDBC271 12.1驱动程序的下载272 12.2创建到数据库的连接272 12.3使用Statement执行SQL语句273 12.3.1executeUpdate273 12.3.2executeQuery276 12.4使用PreparedStatement执行SQL语句277 12.4.1executeUpdate277 12.4.2executeQuery279 12.5事务279 12.6得到ResultSet中的记录数282 12.6.1执行另一条SQL语句282 12.6.2操作游标282 12.7验证登录283 本章小结284 习题12284第13章集合类285 13.1用Java实现一个链式堆栈286 13.2List287 13.2.1自动包装和解包290 13.2.2Stack290 13.3Set291 13.3.1SortedSet293 13.3.2equals()、hashCode()和Comparable293 13.3.3Comparator295 13.4Map296 13.4.1SortedMap300 13.4.2Properties300 13.4.3EnumMap302 13.5Stream303 13.5.1Stream的概念303 13.5.2常用方法303 本章小结305 习题13305第14章Java相关框架306 14.1Spring306 14.1.1DI306 14.1.2JDBC309 14.1.3事务支持314 14.2Hibernate317 14.2.1用xml定义类和表之间的关系317 14.2.2用注释定义类和表之间的关系321 本章小结322 习题14323 第二部分实验实验ⅠJDK的安装、配置及Java程序的编译和运行327 实验ⅡJava的基本语法328实验ⅢJava的类继承机制、接口329 实验ⅣJava的输入机制330实验ⅤJava的输出机制331 实验Ⅵ综合性程序设计——简单学生信息管理系统(序列化版)332实验Ⅶ综合性程序设计——简单学生信息管理系统(GUI版)334 实验Ⅷ综合性程序设计——简单学生信息管理系统(数据库版)335实验Ⅸ综合性程序设计——简单学生信息管理系统(集合版)336 附录A从控制台进行输入输出337附录BSQL语句简单介绍339 B.1Java中数据类型和SQL类型的对应关系339 B.2SQL中对表的操作339 B.3SQL中对表中记录的操作339附录CHSQLDB使用指南342 C.1启动HSQLDB数据库服务器342 C.2用图形界面管理HSQLDB数据库服务器343 C.3编译、运行JDBC程序343 C.4几个SQL语句的例子344 C.5几个JDBC的例子344附录DGradle使用指南355附录EEclipse使用指南358 E.1设置Workspace目录358 E.2建立工程359 E.3编辑、编译、运行Java类361 E.4调试365 E.5在工程中使用第三方类库367 E.6使用技巧369附录F授课计划和方法371参考文献376