本书由优秀的程序员和畅销书作家Herbert Schildt编著,全面地介绍了Java的编程基础,内容采用最新的J2SE 5版本。本书采用逐步的指导来帮助读者快速掌握Java的编程技术。读者将会首先了解Java为什么是Internet的首选编程语言,它的面向对象的编程特征,以及Java程序的一般形式。接下来将会学习Java的编程基础,包括数据类型、运算符、程序控制语句、类、对象和方法。然后将会研究一些高级议题,如继承、异常处理、I/O系统、多线程和applet等。本书还专门介绍了J2SE 5的新增功能,如泛化、自动封包、枚举和静态导入等。本书在国外广受好评,是一本学习Java编程的优秀的自学和培训教程。\r\n 本书采用教程式的组织结构,每一章都建立在前面的基础之上。本书共分14章(模块),每一章讨论一个有关Java的议题。本书的特色就在于它包含了许多便于读者学习的特色内容。\r\n重要技能\r\n 每一章都包括一些重要技能,并且在各章中以节标识。\r\n思考与练习\r\n 每一章都有思考与练习,测试读者学习到的知识。答案在附录中提供。\r\n学习检查\r\n 每一节后面都有一个“学习检查”,问题的答案在底注中。\r\n专家问答\r\n 每一章中都有一些“专家问答”,以一问一答的形式介绍补充知识和要点。\r\n练习\r\n 每一章中都包含1~2个实习项目,帮助读者将学习的知识应用到实践中去。
\r\n第1章 Java基础 1\r\n1.1 Java的起源 2\r\n1.1.1 Java与C和C++的关系 3\r\n1.1.2 Java与C#的关系 4\r\n1.2 Java对Internet的贡献 4\r\n1.2.1 Java applets 5\r\n1.2.2 安全 5\r\n1.2.3 可移植性 5\r\n1.3 Java的魔力在于字节码 5\r\n1.4 Java的关键术语 6\r\n1.5 面向对象程序设计 7\r\n1.5.1 封装 8\r\n1.5.2 多态性 9\r\n1.5.3 继承 9\r\n1.6 第一个简单的程序 11\r\n1.6.1 输入程序 11\r\n1.6.2 编译程序 12\r\n1.6.3 逐行分析第一个程序 12\r\n1.7 第二个简单程序 16\r\n练习1-1 将加仑换算为升 20\r\n1.8 两个控制语句 21\r\n1.8.1 if语句 21\r\n1.8.2 for 循环语句 23\r\n1.9 创建代码块 25\r\n1.10 分号和定位 26\r\n练习1-2 改进从加仑到升的转换程序 27\r\n1.11 Java的保留关键词 30\r\n1.12 Java的标识符 30\r\n1.13 思考与练习 31\r\n\r\n第2章 数据类型与运算符 33\r\n2.1 Java的原语类型 34\r\n2.1.1 整数类型 34\r\n2.1.2 浮点型 36\r\n2.1.3 字符型 37\r\n2.1.4 boolean类型 38\r\n练习2-1 闪电有多远 39\r\n2.2 字面值 40\r\n2.2.1 十六进制与八进制常量 41\r\n2.2.2 字符转义序列 41\r\n2.2.3 字符串字面值 42\r\n2.3 变量详解 43\r\n2.3.1 初始化变量 43\r\n2.3.2 动态初始化 44\r\n2.4 作用域和变量的生命期 44\r\n2.5 算术运算符 48\r\n2.6 关系运算符和逻辑运算符 50\r\n2.7 赋值运算符 54\r\n2.8 速记赋值 54\r\n2.9 赋值中的类型转换 55\r\n2.10 不兼容类型的强制转换 56\r\n练习2-2 显示逻辑运算符的真值表 59\r\n2.11 表达式 60\r\n2.11.1 表达式中的类型转换 61\r\n2.11.2 间距和圆括号 63\r\n2.12 思考与练习 63\r\n\r\n第3章 程序控制语句 65\r\n3.1 从键盘输入字符 66\r\n3.2 if语句 67\r\n3.2.1 嵌套if语句 69\r\n3.2.2 if-else-if阶梯状结构 70\r\n3.3 switch语句 71\r\n练习3-1 建立一个Java帮助系统 76\r\n3.4 for循环 79\r\n3.4.1 for循环的一些变体 80\r\n3.4.2 缺失部分要素的for循环 81\r\n3.4.3 无限循环 83\r\n3.4.4 没有循环体的循环 83\r\n3.4.5 在for循环内部声明循环控制变量 84\r\n3.4.6 增强型for循环 85\r\n3.5 while循环 85\r\n3.6 do-while循环 87\r\n练习3-2 改进Java帮助系统 89\r\n3.7 使用break退出循环 92\r\n3.8 将break语句作为一种goto语句使用 94\r\n3.9 使用continue 99\r\n练习3-3 完成Java帮助系统 101\r\n3.10 嵌套的循环 105\r\n3.11 思考与练习 106\r\n第4章 类、对象和方法 108\r\n4.1 类的基础知识 109\r\n4.1.1 类的基本形式 109\r\n4.1.2 定义类 110\r\n4.2 如何创建对象 114\r\n4.3 引用变量和赋值 114\r\n4.4 方法 115\r\n4.5 从方法返回值 118\r\n4.6 返回值 119\r\n4.7 使用参数 121\r\n练习4-1 创建Help类 125\r\n4.8 构造函数 132\r\n4.9 带参数的构造函数 133\r\n4.10 深入介绍new运算符 136\r\n4.11 垃圾回收与终止器 136\r\n练习4-2 演示垃圾回收 138\r\n4.12 this关键词 140\r\n4.13 思考与练习 142\r\n\r\n第5章 其他数据类型与运算符 144\r\n5.1 数组 145\r\n练习5-1 排序数组 149\r\n5.2 多维数组 151\r\n5.3 不规则数组 152\r\n5.3.1 三维或更多维的数组 154\r\n5.3.2 初始化多维数组 154\r\n5.4 另一种声明数组的语法 156\r\n5.5 数组引用赋值 156\r\n5.6 使用length成员 158\r\n练习5-2 Queue类 160\r\n5.7 for-each形式的循环 165\r\n5.8 字符串 170\r\n5.8.1 构造字符串 171\r\n5.8.2 操作字符串 172\r\n5.8.3 字符串数组 174\r\n5.8.4 字符串是不可变的 175\r\n5.9 使用命令行变元 176\r\n5.10 位运算符 178\r\n5.10.1 位运算符的与、或、异或和非 178\r\n5.10.2 位移运算符 183\r\n5.10.3 位运算符赋值速记符 185\r\n练习5-3 ShowBits类 186\r\n5.11 “?”运算符 189\r\n5.12 思考与练习 191\r\n\r\n第6章 方法和类剖析 193\r\n6.1 控制对类成员的访问 194\r\n6.2 Java的访问指示符 194\r\n练习6-1 改进Queue类 199\r\n6.3 向方法传递对象 201\r\n6.4 返回对象 205\r\n6.5 方法重载 207\r\n6.6 重载构造函数 213\r\n练习6-2 重载Queue构造函数 216\r\n6.7 递归 219\r\n6.8 理解static关键词 222\r\n练习6-3 快速排序 226\r\n6.9 嵌套类和内部类 229\r\n6.10 可变长度变元(varargs) 233\r\n6.10.1 varargs基础 234\r\n6.10.2 重载varargs方法 237\r\n6.10.3 varargs和歧义 239\r\n6.11 思考与练习 240\r\n\r\n第7章 继承 242\r\n7.1 继承的基础知识 243\r\n7.2 构造函数和继承 249\r\n7.3 使用super调用超类构造\r\n函数 251\r\n7.4 使用super访问超类成员 256\r\n练习7-1 扩展Vehicle类 257\r\n7.5 创建多级层次结构 261\r\n7.6 何时调用构造函数 264\r\n7.7 超类引用和子类对象 266\r\n7.8 方法重写 271\r\n7.9 重写的方法支持多态性 274\r\n7.9.1 为何使用重写的\r\n方法 276\r\n7.9.2 在TwoDShape中应用方法重写 276\r\n7.10 使用抽象类 281\r\n7.11 使用final 286\r\n7.11.1 使用final防止重写 286\r\n7.11.2 使用final防止继承 287\r\n7.11.3 对数据成员使用final 287\r\n7.12 Object类 289\r\n7.13 思考与练习 290\r\n\r\n第8章 包和接口 291\r\n8.1 包 292\r\n8.1.1 定义包 292\r\n8.1.2 寻找包和CLASSPATH 293\r\n8.1.3 一个简短的包的示例 294\r\n8.2 包和成员访问 295\r\n8.3 理解被保护的成员 298\r\n8.4 导入包 301\r\n8.5 Java的类库位于包中 302\r\n8.6 接口 303\r\n8.7 实现接口 304\r\n8.8 使用接口引用 308\r\n练习8-1 创建队列接口 311\r\n8.9 接口中的变量 317\r\n8.10 接口能够扩展 318\r\n8.11 思考与练习 320\r\n\r\n第9章 异常处理 321\r\n9.1 异常的层次结构 322\r\n9.2 异常处理基础 322\r\n9.2.1 使用try和catch 323\r\n9.2.2 一个简单的异常示例 324\r\n9.3 未捕获异常的结果 326\r\n9.4 使用多个catch语句 329\r\n9.5 捕获子类异常 330\r\n9.6 嵌套try代码块 332\r\n9.7 抛出异常 333\r\n9.8 Throwable详解 336\r\n9.9 使用finally 338\r\n9.10 使用throws 340\r\n9.11 Java的内置异常 342\r\n9.12 创建异常子类 344\r\n练习9-1 向排序类添加异常 346\r\n9.13 思考与练习 350\r\n\r\n第10章 使用I/O 352\r\n10.1 Java的I/O基于流 353\r\n10.2 字节流和字符流 353\r\n10.3 字节流类 354\r\n10.4 字符流类 354\r\n10.5 预定义流 355\r\n10.6 使用字节流 356\r\n10.6.1 读取控制台输入 357\r\n10.6.2 写入控制台输出 358\r\n10.7 使用字节流读写文件 359\r\n10.7.1 从文件输入 359\r\n10.7.2 写入文件 361\r\n10.8 读写二进制数据 363\r\n练习10-1 文件比较程序 367\r\n10.9 随机访问文件 369\r\n10.10 使用Java字符流 372\r\n10.10.1 基于字符流的控制台输入 373\r\n10.10.2 使用字符流的控制台输出 376\r\n10.11 使用字符流的文件I/O(OK) 377\r\n10.11.1 使用FileWriter 377\r\n10.11.2 使用FileReader 379\r\n10.12 使用Java类型包装器转换数值字符串 380\r\n练习10-2 创建一个基于的帮助系统 383\r\n10.13 思考与练习 390\r\n\r\n第11章 多线程程序设计 391\r\n11.1 多线程基本原理 392\r\n11.2 Thread类和Runnable接口 392\r\n11.3 创建一个线程 393\r\n练习11-1 扩展Thread 399\r\n11.4 创建多重线程 402\r\n11.5 确定线程何时结束 405\r\n11.6 线程的优先级 409\r\n11.7 同步化 412\r\n11.8 使用同步化方法 412\r\n11.9 同步化语句 416\r\n11.10 使用notify( )、wait( )和otifyAll( )的线程通信 418\r\n11.11 线程的挂起、继续执行和停止 424\r\n练习11-2 使用主线程 428\r\n11.12 思考与练习 430\r\n\r\n第12章 枚举、自动封包和静态导入 432\r\n12.1 枚举 433\r\n12.2 Java的枚举是类类型 436\r\n12.3 values( )和valueOf( )方法 436\r\n12.4 构造函数、方法、实例变量和枚举 438\r\n12.5 枚举继承Enum 440\r\n练习12-1 计算机控制的\r\n交通指示灯 442\r\n12.6 类型包装器 448\r\n12.7 自动封包基础 450\r\n12.8 自动封包和方法 451\r\n12.9 发生在表达式中的自动封包/自动解包 452\r\n12.10 静态导入 454\r\n12.11 元数据 457\r\n12.12 思考与练习 460\r\n\r\n第13章 泛化 461\r\n13.1 泛化基础 462\r\n13.2 一个简单的泛化示例 463\r\n13.3 约束类型 469\r\n13.4 使用通配符变元 473\r\n13.5 约束通配符 476\r\n13.6 泛化方法 480\r\n13.7 泛化构造函数 482\r\n13.8 泛化接口 483\r\n练习13.1 创建一个泛化队列 486\r\n13.9 原类型和遗留代码 490\r\n13.10 Erasure 493\r\n13.11 歧义错误 495\r\n13.12 一些泛化限制 496\r\n13.13 思考与练习 498\r\n\r\n第14章 applet、事件和其他议题 500\r\n14.1 applet基础 501\r\n14.2 applet层次结构 504\r\n14.3 一个完整的applet框架 505\r\n14.4 applet初始化与终止 506\r\n14.5 请求重绘 507\r\n练习14-1 一个简单的广告条applet 509\r\n14.6 使用状态窗口 513\r\n14.7 向applet传递参数 514\r\n14.8 Applet类 516\r\n14.9 委派事件模型 517\r\n14.9.1 事件 518\r\n14.9.2 事件源 518\r\n14.9.3 事件侦听者 518\r\n14.9.4 事件类(Event Class) 519\r\n14.9.5 事件侦听者接口 519\r\n14.10 使用委派事件模型 520\r\n14.10.1 处理鼠标事件 520\r\n14.10.2 一个简单的鼠标事件applet 521\r\n14.11 其他Java关键词 524\r\n14.11.1 transient和volatile修饰符 525\r\n14.11.2 instanceof 525\r\n14.11.3 strictfp 525\r\n14.11.4 assert 526\r\n14.11.5 native方法 526\r\n14.12 思考与练习 527\r\n\r\n附录 思考与练习答案 529
无封面