内容简介
本书的主要内容有:每次揭示一个概念:通过带有范例的一系列小步骤,来逐渐解决某个复杂的问题。告诉你如何描述问题、如何构思解决方案,如何开发、测试并调试程序。学与输出、决策与循环、类与方法、字符串与数组,以及递归与多态。告诉你怎样选出合适的程序开发方法,以及如何运用重要的调试技能来排除程序故障。
目录
目录前言 . 1第1 章 计算机编程 . 111.1 什么是计算机? 111.2 什么是编程? 121.3 Hello World 程序 .131.4 编译Java 程序 151.5 显示两条信息 171.6 调整源代码的格式 191.7 使用转义符 .201.8 什么是计算机科学? .211.9 调试程序 221.10 词汇表 231.11 .26第2 章 变量与运算符 . 292.1 声明变量 292.2 给变量赋值 .312.3 内存示意图 .322.4 打印变量(显示变量的值) 332.5 算数运算符 .352.6 浮点数 362.7 舍入误差 382.8 字符串运算 .392.9 编译器的错误消息 412.10 其他类型的错误 .422.11 词汇表 .442.12 .46第3 章 输入与输出 . 493.1 System 类 .493.2 Scanner 类 513.3 编程语言的要素 523.4 字面量与常量 543.5 调整输出格式 553.6 解读错误消息 573.7 手动类型转换运算符 .593.8 求余运算符 .603.9 综合运用所学知识编写范例程序 613.10 Scanner 的bug 633.11 词汇表 .653.12 .66第4 章 方法与测试 . 714.1 定义新方法 .714.2 执行流 734.3 形式参数与实际参数 .744.4 多参数的方法 764.5 栈示意图 784.6 Math 类的方法 794.7 方法之间的组合 804.8 返回值 824.9 式开发(增量开发) 844.10 词汇表 874.11 .88第5 章 条件与逻辑 . 955.1 关系运算符 .955.2 if-else 语句 .965.3 串接与嵌套 .995.4 switch 语句 1005.5 逻辑运算符 1025.6 德摩根定律 1035.7 boolean 变量 1055.8 boolean 方法 1065.9 验证输入值 1075.10 范例程序 .1095.11 词汇表 1105.12 111第6 章 循环与字符串 1176.1 while 语句 . 1176.2 递增与递减 1206.3 for 语句 1216.4 嵌套循环 1236.5 字符 .1246.6 怎样在for 与while 循环之间选择 1266.7 迭代字符串 1276.8 indexOf 方法 1286.9 子字符串 1296.10 对比字符串的内容 .1306.11 调整字符串的格式 .1326.12 词汇表 .1336.13 134第7 章 数组与引用 1397.1 创建数组 1407.2 给元素赋值 1417.3 显示数组的内容 1437.4 数组 1457.5 遍历数组 1477.6 生成数 1497.7 收集绘制直方图所需的统计数据 .1507.8 增强版的for 循环 .1537.9 统计字符出现的次数 1547.10 词汇表 .1567.11 158第8 章 递归方法 1638.1 不带返回值的递归方法 .1638.2 用栈图描述递归 1658.3 带有返回值的递归方法 .1678.4 信任那些应该能够成立的方法 1708.5 用递归实现正向计数 1728.6 制计数系统 1738.7 通过递归把制数表示成制数 1758.8 CodingBat 网站上面的编程问题 1768.9 词汇表 1798.10 180第9 章 不可变的对象 1879.1 原始数据与对象之间的区别 1879.2 关键字 1899.3 字符串是不可变的 1909.4 与原始类型相对应装类 1929.5 命令行参数 1949.6 验证参数 1969.7 用BigInteger 做运算 1989.8 增量设计(式的设计) 1999.9 让程序变得更加通用 2019.10 词汇表 .2039.11 204第10 章 可变的对象 21110.1 Point 对象 21110.2 把对象用作参数 21310.3 把对象用作返回值 .21410.4 Rectangle 是可变的 21510.5 再谈别名 .21710.6 Java 库的源代码 .21810.7 类图 21910.8 再谈作用域 22110.9 垃圾收集(垃圾回收) 22210.10 可变对象与不可变对象的区别 .22310.11 StringBuilder 对象 22410.12 词汇表 22510.13 226第11 章 类的设计 . 22911.1 Time 类 23011.2 构造器 23111.3 值构造器 .23311.4 Getter 与Setter .23411.5 显示对象 .23711.6 toString 方法 .23711.7 equals 方法 .23911.8 将两个Time 相加 24111.9 词汇表 24411.10 245第12 章 对象数组 . 24912.1 Card 对象 25012.2 给Card 类型定义toString 方法 25112.3 类变量 .25312.4 compareTo 方法 25512.5 Card 对象应该是不可变的 .25612.6 由Card 构成的数组 25712.7 顺序搜索 .26012.8 二分搜索 .26012.9 追踪代码的执行情况 26212.10 词汇表 26312.11 264第13 章 把数组封装成对象 26713.1 定义新类来封装一叠牌 26713.2 洗牌 26913.3 选择排序法 27113.4 归并排序法 27213.5 如何表示一叠牌之中的某一部分 27313.6 把两小叠牌合并成一大叠 27413.7 添加递归逻辑 27513.8 静态语境 .27613.9 如何表示数量可变的一叠牌 .27913.10 War 游戏 28113.11 词汇表 28313.12 284第14 章 扩展已有的类 28714.1 CardCollection 类 28814.2 继承 29114.3 发牌 29314.4 Player 类 .29514.5 Eights 类 .29814.6 类之间的关系 30114.7 词汇表 .30214.8 303第15 章 由数组所构成的数组 30515.1 康威生命游戏 30515.2 Cell 类 30715.3 二维数组 .30915.4 GridCanvas 类 31115.5 GridCanvas 类中的其他方法 31215.6 启动游戏 .31315.7 实现游戏的主循环 .31515.8 处理异常 .31515.9 计算每个细胞周边的存活细胞数 31615.10 更新GridCanvas 31815.11 词汇表 32115.12 321第16 章 复用类 . 32516.1 编写版兰顿蚂蚁游戏 32616.2 重构 32816.3 抽象类 .33016.4 UML 图 33216.5 词汇表 .33316.6 334第17 章 话题 . 33517.1 Polygon 对象 .33617.2 给多边形添加颜能 33717.3 正多边形 .33817.4 给同一个类编写多个构造器 .34017.5 试着编写一个能够绘制多边形的程序 .34217.6 闪烁的多边形 34517.7 接口 34717.8 事件监听器 34917.9 定时器 .35317.10 词汇表 35517.11 355附录A 工具 . 357附录B Javadoc 371附录C 图形 . 383附录D 调试 . 393作者介绍 409封面介绍 409


