当前位置:首页 > 工业技术
Java语言程序设计 基础篇
Java语言程序设计 基础篇

Java语言程序设计 基础篇PDF电子书下载

工业技术

  • 电子书积分:16 积分如何计算积分?
  • 作 者:(美)Y.DANIELLIANG著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2008
  • ISBN:7111233670
  • 页数:533 页
图书介绍:本书是Java语言的经典教材。
《Java语言程序设计 基础篇》目录

第1章 计算机、程序和Java概述 2

1.1 引言 2

1.2 什么是计算机 2

1.2.1 中央处理器 3

1.2.2 内存 3

1.2.3 存储设备 3

1.2.4 输入输出设备 4

1.2.5 通信设备 5

1.3 程序 5

1.4 操作系统 6

1.4.1 控制和监视系统的活动 7

1.4.2 分配系统资源 7

1.4.3 安排操作的顺序 7

1.5 数系(可选) 7

1.5.1 二进制数与十进制数的转换 8

1.5.2 十六进制数与十进制数的转换 8

1.5.3 二进制数与十六进制数的转换 9

1.6 Java、万维网及其他 10

1.7 Java语言规范、API、JDK和IDE 12

1.8 一个简单的Java程序 12

1.9 创建、编译和运行Java程序 13

1.10 Java程序剖析 15

1.10.1 注释 15

1.10.2 保留字 15

1.10.3 修饰符 15

1.10.4 语句 16

1.10.5 块 16

1.10.6 类 16

1.10.7 方法 16

1.10.8 main方法 16

1.11 用消息对话框显示文本信息 16

第2章 基本数据类型和基本操作 21

2.1 引言 21

2.2 编写简单的程序 21

2.3 标识符 23

2.4 变量 24

2.5 赋值语句和赋值表达式 24

2.6 常量 25

2.7 数值数据类型及其运算 26

2.7.1 算术运算符 27

2.7.2 数值直接量 28

2.7.3 算术表达式 29

2.7.4 简捷赋值运算符 29

2.8 数值类型转换 31

2.9 字符数据类型及其运算 32

2.9.1 统一码和ASCⅡ码 32

2.9.2 特殊字符的转义序列表示 33

2.9.3 字符型char数据与数值型数据之间的转换 33

2.10 字符串类型String 34

2.11 从输入对话框获取输入 35

2.12 实例学习 36

2.12.1 举例:计算贷款支付额 36

2.12.2 举例:整钱兑零 38

2.12.3 举例:显示当前时间 40

2.13 从控制台获取输入 41

2.14 编程风格和文档 43

2.14.1 适当的注释和注释风格 44

2.14.2 命名习惯 44

2.14.3 适当的缩进和空白 44

2.14.4 块的对齐方式 44

2.15 编程错误 45

2.15.1 语法错误 45

2.15.2 运行错误 45

2.15.3 逻辑错误 46

2.16 调试 46

第3章 条件语句 53

3.1 引言 53

3.2 boolean数据类型及其运算 53

3.2.1 条件和无条件布尔运算符 55

3.2.2 举例:决定闰年 56

3.2.3 举例:简单的算术学习工具 56

3.3 if语句 57

3.3.1 简单if语句 57

3.3.2 if.else语句 59

3.3.3 if语句的嵌套 60

3.3.4 举例:税款计算问题 61

3.3.5 举例:改进的算术学习工具 63

3.4 Switch语句 64

3.5 条件表达式 66

3.6 格式化控制台输出与字符串 66

3.7 运算符的优先级和结合方向 68

3.8 运算对象的计算顺序 69

第4章 循环 75

4.1 引言 75

4.2 while循环 75

4.2.1 举例:高级算术学习工具 76

4.2.2 使用确认对话框控制循环 77

4.2.3 使用标志值控制循环 78

4.3 do-while循环 79

4.4 for循环 80

4.5 采用哪种循环 81

4.6 嵌套循环 82

4.7 最小化数值误差 83

4.8 实例学习 84

4.8.1 举例:求最大公约数 84

4.8.2 举例:计算销售额 86

4.8.3 举例:显示数字构成的金字塔 88

4.9 关键字break和continue 89

4.9.1 语句标号以及利用标号中止循环(可选) 91

4.9.2 举例:显示素数(可选) 91

第5章 方法 101

5.1 引言 101

5.2 创建方法 101

5.3 调用方法 102

5.4 void方法举例 104

5.5 参数的值传递 105

5.6 重载方法 107

5.7 实例学习:使用方法计算税款 108

5.8 变量的作用域 110

5.9 数学类Math 111

5.9.1 三角函数方法 111

5.9.2 指数函数方法 111

5.9.3 取整方法 112

5.9.4 min、max和abs方法 112

5.9.5 random方法 113

5.10 实例学习:生成随机字符 113

5.11 方法抽象和逐步求精 115

5.11.1 自顶向下的设计 115

5.11.2 自顶向下和自底向上的实现 117

5.11.3 实现细节 118

5.12 包(可选) 121

5.12.1 包的命名习惯 121

5.12.2 包的目录 121

5.12.3 在包中添加类 122

5.12.4 使用包中的类 123

第6章 数组 132

6.1 引言 132

6.2 数组基本知识 132

6.2.1 声明数组变量 132

6.2.2 创建数组 133

6.2.3 数组的大小和默认值 133

6.2.4 数组下标变量 134

6.2.5 数组初始化 134

6.2.6 处理数组 134

6.2.7 foreach循环 135

6.2.8 举例:测试数组 136

6.2.9 举例:划分成绩等级 137

6.3 数组的复制 138

6.4 给方法传递数组参数 139

6.5 从方法中返回数组 142

6.6 变长参数列表(可选) 144

6.7 数组的查找 145

6.7.1 线性查找法 145

6.7.2 二分查找法 146

6.8 数组的排序 147

6.8.1 选择排序 147

6.8.2 插入排序(可选) 149

6.9 Arrays类 150

6.10 二维数组 151

6.10.1 声明二维数组变量和创建二维数组 151

6.10.2 求二维数组的长度 152

6.10.3 锯齿数组 153

6.10.4 处理二维数组 153

6.10.5 举例:多选题评分 154

6.10.6 举例:计算税款(可选) 156

6.11 多维数组(可选) 157

第7章 对象和类 168

7.1 引言 168

7.2 定义对象的类 168

7.3 构造方法 170

7.4 通过引用变量来访问对象 170

7.4.1 引用变量和引用类型 170

7.4.2 访问对象的数据和方法 171

7.4.3 举例:声明类并创建对象 171

7.4.4 数据域引用和空值null 174

7.4.5 基本数据类型变量和引用类型变量的区别 174

7.5 使用Java类库中的类 175

7.5.1 Date类 175

7.5.2 Random类 176

7.6 静态变量、常量和静态方法 176

7.7 可见性修饰符 180

7.8 数据域封装 181

7.9 不可变对象和类 183

7.10 给方法传递对象参数 184

7.11 变量的作用域 185

7.12 关键字this 186

7.13 对象数组 187

7.14 类的抽象和封装 189

7.15 实例学习:贷款类Loan 189

7.16 实例学习:课程类Course 193

7.17 实例学习:整数栈类StackOfintegers(可选) 194

7.18 创建窗口(可选GUI) 196

第8章 字符串和文本I/O 206

8.1 引言 206

8.2 字符串类String 206

8.2.1 构造一个字符串 206

8.2.2 不可变字符串与限定字符串 207

8.2.3 字符串的比较 208

8.2.4 字符串长度以及提取单个字符 209

8.2.5 字符串的连接 210

8.2.6 提取子串 210

8.2.7 字符串的转换 210

8.2.8 获取字符串中的一个字符或子串 211

8.2.9 字符串与数组之间的转换 211

8.2.10 将字符值和数值转换成字符串 212

8.2.11 举例:检测回文串 212

8.3 字符类Character 213

8.4 StringBuilder/StringBuffer类 215

8.4.1 修改缓冲区中的字符串 216

8.4.2 toString、capacity、length、setLength和charAt方法 217

8.4.3 举例:忽略既非字母又非数字的字符判断回文串 217

8.5 命令行参数 219

8.5.1 向main方法传递字符串 219

8.5.2 举例:处理命令行参数 220

8.6 正则表达式(可选) 221

8.6.1 字符串匹配 221

8.6.2 正则表达式语法 221

8.6.3 字符串的替换和分解 223

8.7 文件类File 224

8.8 文本I/O 226

8.8.1 使用PrintWriter写数据 226

8.8.2 使用Scanner读数据 227

8.8.3 举例:替换文本 228

8.9 容器和布局管理器(可选GUI) 229

第9章 继承和多态 239

9.1 引言 239

9.2 父类和子类 239

9.3 使用关键字super 243

9.3.1 调用父类的构造方法 244

9.3.2 构造方法链 244

9.3.3 调用父类的方法 245

9.4 方法覆盖 245

9.5 覆盖和重载 246

9.6 对象类Object和它的toString()方法 246

9.7 多态性、动态绑定和一般程序设计 247

9.8 对象转换和instanceof运算符 248

9.9 数组线性表ArrayList类 251

9.10 自定义栈类 253

9.11 protected数据和方法 254

9.12 final类、方法和变量 255

9.13 对象类Object中的方法(可选) 256

9.13.1 equals方法 256

9.13.2 hashCode方法 257

9.13.3 finalize方法 257

9.13.4 clone方法 258

9.13.5 getClass方法 258

9.14 数据域和静态方法的隐藏(可选) 259

9.15 初始化模块(可选) 260

9.16 GUI组件的继承(可选GUI) 262

第10章 抽象类和接口 271

10.1 引言 271

10.2 抽象类 271

10.3 日历类Calendar和公历类GregorianCalendar 275

10.4 接口 276

10.4.1 声明类以实现Comparable接口 277

10.4.2 接口与抽象类 278

10.4.3 创建自定义接口 280

10.4.4 可克隆接口Cloneable(可选) 281

10.5 将基本数据类型值处理为对象 283

10.5.1 数值包装类的构造方法 284

10.5.2 数值包装类的常量 285

10.5.3 转换方法 285

10.5.4 静态方法valueOf 285

10.5.5 将字符串转换为数值的方法 285

10.5.6 BigInteger和BigDecimal类(可选) 286

10.5.7 举例:对一个对象数组排序 286

10.6 基本类型和包装类之间的自动转换 288

10.7 处理GUI事件(可选GUI) 288

第11章 面向对象设计 295

11.1 引言 295

11.2 软件开发过程 295

11.3 分析类之间的关系 296

11.3.1 关联 296

11.3.2 聚集和组合 297

11.3.3 依赖 298

11.3.4 继承 298

11.4 实例学习:面向对象的设计 299

11.5 实例学习:有理数类Rational 304

11.6 类的设计原则 308

11.6.1 内聚性 308

11.6.2 一致性 308

11.6.3 封装性 308

11.6.4 清晰性 308

11.6.5 完整性 309

11.6.6 实例Instance和静态修饰符Static 309

11.6.7 继承和聚集 310

11.6.8 接口和抽象类 310

11.7 用顺序图和状态图模拟动态行为(可选) 310

11.7.1 顺序图 310

11.7.2 状态图 311

11.8 使用JavaAPI在架构基础上编程 311

第12章 图形用户界面程序设计入门 316

12.1 引言 316

12.2 GUI组件 316

12.3 JavaGUIAPI 317

12.3.1 SwingGUI组件 318

12.3.2 容器类 319

12.3.3 GUI辅助类 319

12.4 框架 319

12.4.1 创建框架 319

12.4.2 在框架中添加组件 320

12.5 布局管理器 321

12.5.1 F1owLayout 322

12.5.2 GridLayout 323

12.5.3 BorderLayout 325

12.5.4 布局管理器的属性 326

12.5.5 validate和doLayout方法(可选) 326

12.6 Color类 327

12.7 Font类 327

12.8 使用面板作子容器 328

12.9 SwingGUI组件的一般特性 329

12.10 图像图标 331

第13章 图形 338

13.1 引言 338

13.2 图形坐标系 338

13.3 Graphics类 339

13.4 paintComponent方法 340

13.5 在面板上绘图 342

13.6 绘制字符串、直线、矩形和椭圆 343

13.7 实例学习:FigurePanel类 344

13.8 绘制弧形 347

13.9 Polygon类以及绘制多边形和折线段 348

13.10 利用FontMetrics类居中显示 350

13.11 实例学习:MessagePanel类 352

13.12 实例学习:StillClock类(可选) 356

13.13 显示图像(可选) 359

13.14 实例学习:ImageViewer类(可选) 361

第14章 事件驱动程序设计 369

14.1 引言 369

14.2 事件和事件源 370

14.3 事件的监听、注册和处理 370

14.3.1 内部类监听器 373

14.3.2 匿名内部类监听器 375

14.3.3 举例:处理简单行为的事件 376

14.3.4 举例:处理窗口事件 377

14.3.5 监听器接口适配器 379

14.4 鼠标事件 380

14.5 键盘事件 382

14.6 使用Timer类的动画(可选) 384

第15章 创建图形用户界面 391

15.1 引言 391

15.2 按钮 391

15.2.1 图标、按下图标和翻转图标 392

15.2.2 对齐方式 393

15.2.3 文本位置 394

15.2.4 举例:使用按钮 394

15.3 复选框 396

15.4 单选按钮 399

15.5 标签 401

15.6 文本域 402

15.7 文本区域 404

15.8 组合框 407

15.9 列表框 410

15.10 滚动条 413

15.11 滑动块 415

15.12 创建多个窗口 417

第16章 applet和多媒体 428

16.1 引言 428

16.2 Applet类 428

16.2.1 init方法 429

16.2.2 start方法 430

16.2.3 stop方法 430

16.2.4 destroy方法 430

16.3 JApplet类 430

16.4 HTML文件和<applet>标记 431

16.4.1 使用applet浏览工具浏览applet 432

16.4.2 在Web浏览器中浏览applet 432

16.4.3 举例:贷款applet 433

16.5 让applet像应用程序一样运行 436

16.6 向applet传递字符串参数 437

16.7 实例学习:三子棋游戏(可选) 440

16.8 实例学习:跳动的小球(可选) 444

16.9 使用URL类定位资源(可选) 447

16.10 播放音频(可选) 448

16.11 实例学习:多媒体动画(可选) 449

16.12 Java工程的打包和发行(可选) 452

16.12.1 清单文件Manifest 452

16.12.2 运行存档项目 452

第17章 异常和断言 462

17.1 引言 462

17.2 异常处理概述 462

17.3 异常和异常类型 464

17.4 理解异常处理 466

17.4.1 声明异常 466

17.4.2 抛出异常 466

17.4.3 捕获异常 467

17.4.4 从异常获取信息 468

17.4.5 举例:声明、抛出和捕获异常 470

17.5 finally子句 472

17.6 何时使用异常 473

17.7 重新抛出异常 473

17.8 链式异常(可选) 473

17.9 创建自定义异常类(可选) 474

17.10 断言(可选) 475

17.10.1 声明断言 475

17.10.2 运行带断言的程序 476

17.10.3 使用异常处理或断言 476

第18章 二进制I/O 485

18.1 引言 485

18.2 在Java中如何处理输入输出 485

18.3 文本I/O与二进制I/O 486

18.4 二进制I/O类 487

18.4.1 FileInputStream类和FileOutputStream类 488

18.4.2 FilterInputStream类和FilterOutputStream类 490

18.4.3 DataInputStream类和DataOutputStream类 490

18.4.4 BufferedInputStream类和BufferedOutputStream类 492

18.5 实例学习:文件复制 493

18.6 对象输入输出 495

18.6.1 可序列化接口Serializable 497

18.6.2 序列化数组 497

18.7 随机读写文件(可选) 498

18.8 实例学习:地址簿(可选) 501

第19章 递归 511

19.1 引言 511

19.2 举例:阶乘 511

19.3 举例:斐波那契数 513

19.4 使用递归解决问题 515

19.5 递归辅助方法 516

19.5.1 选择排序 516

19.5.2 二分查找 517

19.6 汉诺塔问题 517

19.7 分形 520

19.8 递归与迭代 522

附录A Java关键字 528

附录B ASCII码字符集 529

附录C 运算符优先级表 530

附录D Java修饰符 531

附录E 特殊浮点值 532

附录F 位运算符 533

返回顶部