<p>出版者的话<br> 中文版序<br> 译者序<br> 前言<br> 第1章计算机、程序和Java概述1<br> 1.1引言1<br> 1.2什么是计算机2<br> 1.2.1中央处理器2<br> 1.2.2比特和字节3<br> 1.2.3内存3<br> 1.2.4存储设备4<br> 1.2.5输入和输出设备4<br> 1.2.6通信设备5<br> 1.3编程语言6<br> 1.3.1机器语言6<br> 1.3.2汇编语言6<br> 1.3.3高级语言7<br> 1.4操作系统8<br> 1.4.1控制和监视系统的活动8<br> 1.4.2分配和调配系统资源8<br> 1.4.3调度操作8<br> 1.5Java、万维网以及其他9<br> 1.6Java语言规范、API、JDK和IDE10<br> 1.7一个简单的Java程序11<br> 1.8创建、编译和执行Java程序13<br> 1.9程序设计风格和文档16<br> 1.9.1正确的注释和注释风格16<br> 1.9.2正确的缩进和空白16<br> 1.9.3块的风格17<br> 1.10程序设计错误17<br> 1.10.1语法错误17<br> 1.10.2运行时错误18<br> 1.10.3逻辑错误18<br> 1.10.4常见错误19<br> 1.11使用NetBeans开发Java程序20<br> 1.11.1创建Java工程20<br> 1.11.2创建Java类21<br> 1.11.3编译和运行类22<br> 1.12使用Eclipse开发Java程序22<br> 1.12.1创建Java工程22<br> 1.12.2创建Java类24<br> 1.12.3编译和运行类24<br> 关键术语25<br> 本章小结25<br> 测试题26<br> 编程练习题26<br> 第2章基本程序设计28<br> 2.1引言28<br> 2.2编写简单的程序28<br> 2.3从控制台读取输入31<br> 2.4标识符34<br> 2.5变量34<br> 2.6赋值语句和赋值表达式36<br> 2.7命名常量37<br> 2.8命名习惯37<br> 2.9数值数据类型和操作38<br> 2.9.1数值类型38<br> 2.9.2从键盘读取数值39<br> 2.9.3数值操作符39<br> 2.9.4幂运算41<br> 2.10数值型直接量41<br> 2.10.1整型直接量42<br> 2.10.2浮点型直接量42<br> 2.10.3科学记数法42<br> 2.11表达式求值以及操作符优先级43<br> 2.12示例学习:显示当前时间44<br> 2.13增强赋值操作符46<br> 2.14自增和自减操作符47<br> 2.15数值类型转换48<br> 2.16软件开发过程50<br> 2.17示例学习:整钱兑零54<br> 2.18常见错误和陷阱56<br> 关键术语58<br> 本章小结58<br> 测试题59<br> 编程练习题59<br> 第3章选择64<br> 3.1引言64<br> 3.2boolean数据类型64<br> 3.3if语句66<br> 3.4双分支if—else语句68<br> 3.5嵌套的if语句和多分支if—else语句69<br> 3.6常见错误和陷阱71<br> 3.7产生随机数74<br> 3.8示例学习:计算身体质量指数76<br> 3.9示例学习:计算税率77<br> 3.10逻辑操作符80<br> 3.11示例学习:判定闰年83<br> 3.12示例学习:彩票84<br> 3.13switch语句85<br> 3.14条件表达式88<br> 3.15操作符的优先级和结合规则89<br> 3.16调试90<br> 关键术语91<br> 本章小结91<br> 测试题92<br> 编程练习题92<br> 第4章数学函数、字符和字符串100<br> 4.1引言100<br> 4.2常用数学函数101<br> 4.2.1三角函数方法101<br> 4.2.2指数函数方法102<br> 4.2.3取整方法102<br> 4.2.4min、max和abs方法102<br> 4.2.5random方法103<br> 4.2.6示例学习:计算三角形的角度103<br> 4.3字符数据类型和操作105<br> 4.3.1Unicode和ASCII码105<br> 4.3.2特殊字符的转义序列106<br> 4.3.3字符型数据与数值型数据之间的转换107<br> 4.3.4字符的比较和测试107<br> 4.4String类型109<br> 4.4.1求字符串长度110<br> 4.4.2从字符串中获取字符110<br> 4.4.3连接字符串111<br> 4.4.4字符串的转换111<br> 4.4.5从控制台读取字符串112<br> 4.4.6从控制台读取字符112<br> 4.4.7字符串比较112<br> 4.4.8获得子字符串114<br> 4.4.9获取字符串中的字符或者子串115<br> 4.4.10字符串和数字间的转换116<br> 4.5示例学习117<br> 4.5.1猜测生日118<br> 4.5.2将十六进制数转换为十进制数121<br> 4.5.3使用字符串修改彩票程序122<br> 4.6格式化控制台输出123<br> 关键术语126<br> 本章小结127<br> 测试题127<br> 编程练习题127<br> 第5章循环133<br> 5.1引言133<br> 5.2while循环134<br> 5.2.1示例学习:猜数字136<br> 5.2.2循环设计策略138<br> 5.2.3示例学习:多个减法测试题138<br> 5.2.4使用标记值控制循环140<br> 5.2.5输入和输出重定向141<br> 5.3do—while循环143<br> 5.4for循环144<br> 5.5采用哪种循环147<br> 5.6嵌套循环149<br> 5.7最小化数值错误151<br> 5.8示例学习152<br> 5.8.1求最大公约数152<br> 5.8.2预测未来学费154<br> 5.8.3将十进制数转换为<br> 十六进制数155<br> 5.9关键字break和continue156<br> 5.10示例学习:判断回文串159<br> 5.11示例学习:显示素数160<br> 关键术语162<br> 本章小结163<br> 测试题163<br> 编程练习题163<br> 第6章方法171<br> 6.1引言171<br> 6.2定义方法172<br> 6.3调用方法173<br> 6.4void方法示例175<br> 6.5通过传值进行参数传递178<br> 6.6模块化代码181<br> 6.7示例学习:将十六进制数转换为十进制数183<br> 6.8重载方法185<br> 6.9变量的作用域187<br> 6.10示例学习:生成随机字符188<br> 6.11方法抽象和逐步求精190<br> 6.11.1自顶向下的设计191<br> 6.11.2自顶向下和自底向上的实现192<br> 6.11.3实现细节193<br> 6.11.4逐步求精的优势196<br> 关键术语196<br> 本章小结197<br> 测试题197<br> 编程练习题197<br> 第7章一维数组207<br> 7.1引言207<br> 7.2数组的基础知识207<br> 7.2.1声明数组变量208<br> 7.2.2创建数组208<br> 7.2.3数组大小和默认值209<br> 7.2.4访问数组元素209<br> 7.2.5数组初始化语法210<br> 7.2.6处理数组210<br> 7.2.7foreach循环212<br> 7.3示例学习:分析数字214<br> 7.4示例学习:一副牌215<br> 7.5数组的复制217<br> 7.6将数组传递给方法218<br> 7.7从方法中返回数组221<br> 7.8示例学习:统计每个字母出现的次数221<br> 7.9可变长参数列表224<br> 7.10数组的查找225<br> 7.10.1线性查找法225<br> 7.10.2二分查找法226<br> 7.11数组的排序228<br> 7.12Arrays类230<br> 7.13命令行参数232<br> 7.13.1向main方法传递字符串232<br> 7.13.2示例学习:计算器232<br> 关键术语234<br> 本章小结235<br> 测试题235<br> 编程练习题235<br> 第8章多维数组242<br> 8.1引言242<br> 8.2二维数组的基础知识242<br> 8.2.1声明二维数组变量并创建二维数组243<br> 8.2.2获取二维数组的长度244<br> 8.2.3锯齿数组244<br> 8.3处理二维数组245<br> 8.4将二维数组传递给方法247<br> 8.5示例学习:多选题测验评分248<br> 8.6示例学习:找出距离最近的点对249<br> 8.7示例学习:数独251<br> 8.8多维数组254<br> 8.8.1示例学习:每日温度和湿度255<br> 8.8.2示例学习:猜生日256<br> 本章小结258<br> 测试题258<br> 编程练习题258<br> 第9章对象和类270<br> 9.1引言270<br> 9.2为对象定义类270<br> 9.3示例:定义类和创建对象272<br> 9.4使用构造方法构造对象277<br> 9.5通过引用变量访问对象278<br> 9.5.1引用变量和引用类型278<br> 9.5.2访问对象的数据和方法279<br> 9.5.3引用数据域和null值279<br> 9.5.4基本类型变量和引用类型变量的区别280<br> 9.6使用Java库中的类282<br> 9.6.1Date类282<br> 9.6.2Random类283<br> 9.6.3Point2D类283<br> 9.7静态变量、常量和方法284<br> 9.8可见性修饰符289<br> 9.9数据域封装291<br> 9.10向方法传递对象参数294<br> 9.11对象数组297<br> 9.12不可变对象和类299<br> 9.13变量的作用域301<br> 9.14this引用302<br> 9.14.1使用this引用隐藏数据域302<br> 9.14.2使用this调用构造方法303<br> 关键术语304<br> 本章小结304<br> 测试题305<br> 编程练习题305<br> 第10章面向对象思考309<br> 10.1引言309<br> 10.2类的抽象和封装309<br> 10.3面向对象的思考313<br> 10.4类的关系315<br> 10.4.1关联316<br> 10.4.2聚集和组合317<br> 10.5示例学习:设计Course类318<br> 10.6示例学习:设计栈类320<br> 10.7将基本数据类型值作为对象处理322<br> 10.8基本类型和包装类类型之间的自动转换325<br> 10.9BigInteger和BigDecimal类326<br> 10.10String类327<br> 10.10.1构造字符串327<br> 10.10.2不可变字符串与限定字符串328<br> 10.10.3字符串的替换和分隔329<br> 10.10.4依照模式匹配、替换和分隔329<br> 10.10.5字符串与数组之间的转换330<br> 10.10.6将字符和数值转换成字符串331<br> 10.10.7格式化字符串331<br> 10.11StringBuilder和StringBuffer类333<br> 10.11.1修改StringBuilder中的字符串334<br> 10.11.2toString、capacity、length、setLength和charAt方法335<br> 10.11.3示例学习:判断回文串时忽略既非字母又非数字的字符336<br> 关键术语338<br> 本章小结339<br> 测试题339<br> 编程练习题339<br> 第11章继承和多态347<br> 11.1引言347<br> 11.2父类和子类347<br> 11.3使用super关键字353<br> 11.3.1调用父类的构造方法353<br> 11.3.2构造方法链354<br> 11.3.3调用父类的方法355<br> 11.4方法重写356<br> 11.5方法重写与重载357<br> 11.6Object类及其toString()方法359<br> 11.7多态359<br> 11.8动态绑定360<br> 11.9对象转换和instanceof运算符363<br> 11.10Object类的equals方法367<br> 11.11ArrayList类368<br> 11.12对于列表有用的方法374<br> 11.13示例学习:自定义栈类374<br> 11.14protected数据和方法376<br> 11.15防止扩展和重写378<br> 关键术语378<br> 本章小结379<br> 测试题379<br> 编程练习题380<br> 第12章异常处理和文本I/O384<br> 12.1引言384<br> 12.2异常处理概述385<br> 12.3异常类型389<br> 12.4关于异常处理的更多知识391<br> 12.4.1声明异常392<br> 12.4.2抛出异常392<br> 12.4.3捕获异常393<br> 12.4.4从异常中获取信息394<br> 12.4.5示例学习:声明、抛出和捕获异常396<br> 12.5finally子句399<br> 12.6何时使用异常400<br> 12.7重新抛出异常401<br> 12.8链式异常402<br> 12.9创建自定义异常类403<br> 12.10File类405<br> 12.11文件输入和输出408<br> 12.11.1使用PrintWriter写数据408<br> 12.11.2使用try—with—resources自动关闭资源409<br> 12.11.3使用Scanner读数据410<br> 12.11.4Scanner如何工作411<br> 12.11.5示例学习:替换文本412<br> 12.12从Web上读取数据414<br> 12.13示例学习:Web爬虫416<br> 关键术语418<br> 本章小结418<br> 测试题419<br> 编程练习419<br> 第13章抽象类和接口424<br> 13.1引言424<br> 13.2抽象类424<br> 13.2.1为何要使用抽象方法427<br> 13.2.2抽象类的几点说明428<br> 13.3示例学习:抽象的Number类429<br> 13.4示例学习:Calendar和GregorianCalendar431<br> 13.5接口434<br> 13.6Comparable接口436<br> 13.7Cloneable接口440<br> 13.8接口与抽象类444<br> 13.9示例学习:Rational类447<br> 13.10类的设计原则452<br> 13.10.1内聚性452<br> 13.10.2一致性452<br> 13.10.3封装性452<br> 13.10.4清晰性453<br> 13.10.5完整性453<br> 13.10.6实例和静态453<br> 13.10.7继承与聚合454<br> 13.10.8接口和抽象类454<br> 关键术语454<br> 本章小结455<br> 测试题455<br> 编程练习题455<br> 第14章JavaFX基础459<br> 14.1引言459<br> 14.2JavaFX与Swing以及AWT的比较459<br> 14.3JavaFX程序的基本结构460<br> 14.4面板、UI组件以及形状462<br> 14.5属性绑定465<br> 14.6节点的通用属性和方法468<br> 14.7Color类469<br> 14.8Font类470<br> 14.9Image和ImageView类472<br> 14.10布局面板474<br> 14.10.1FlowPane475<br> 14.10.2GridPane477<br> 14.10.3BorderPane478<br> 14.10.4HBox和VBox480<br> 14.11形状482<br> 14.11.1Text482<br> 14.11.2Line484<br> 14.11.3Rectangle485<br> 14.11.4Circle和Ellipse487<br> 14.11.5Arc488<br> 14.11.6Polygon和Polyline491<br> 14.12示例学习:ClockPane类493<br> 关键术语497<br> 本章小结498<br> 测试题498<br> 编程练习题498<br> 第15章事件驱动编程和动画504<br> 15.1引言504<br> 15.2事件和事件源506<br> 15.3注册处理器和处理事件507<br> 15.4内部类511<br> 15.5匿名内部类处理器512<br> 15.6使用lambda表达式简化事件处理514<br> 15.7示例学习:贷款计算器517<br> 15.8鼠标事件519<br> 15.9键盘事件520<br> 15.10可观察对象的监听器523<br> 15.11动画525<br> 15.11.1PathTransition525<br> 15.11.2FadeTransition528<br> 15.11.3Timeline530<br> 15.12示例学习:弹球532<br> 关键术语535<br> 本章小结535<br> 测试题536<br> 编程练习题536<br> 第16章JavaFXUI组件和多媒体542<br> 16.1引言542<br> 16.2Labeled和Label543<br> 16.3按钮545<br> 16.4复选框547<br> 16.5单选按钮549<br> 16.6文本域551<br> 16.7文本区域553<br> 16.8组合框556<br> 16.9列表视图559<br> 16.10滚动条562<br> 16.11滑动条564<br> 16.12示例学习:开发一个井字游戏567<br> 16.13视频和音频572<br> 16.14示例学习:国旗和国歌575<br> 本章小结577<br> 测试题578<br> 编程练习题578<br> 第17章二进制I/O584<br> 17.1引言584<br> 17.2在Java中如何处理文本I/O584<br> 17.3文本I/O与二进制I/O585<br> 17.4二进制I/O类587<br> 17.4.1FileInputStream和FileOutputStream588<br> 17.4.2FilterInputStream和FilterOutputStream590<br> 17.4.3DataInputStream和DataOutputStream590<br> 17.4.4BufferedInputStream和BufferedOutputStream594<br> 17.5示例学习:复制文件596<br> 17.6对象I/O598<br> 17.6.1Serializable接口600<br> 17.6.2序列化数组601<br> 17.7随机访问文件602<br> 关键术语606<br> 本章小结606<br> 测试题606<br> 编程练习题606<br> 第18章递归609<br> 18.1引言609<br> 18.2示例学习:计算阶乘610<br> 18.3示例学习:计算斐波那契数613<br> 18.4使用递归解决问题615<br> 18.5递归辅助方法617<br> 18.5.1递归选择排序618<br> 18.5.2递归二分查找618<br> 18.6示例学习:得到目录的大小619<br> 18.7示例学习:汉诺塔621<br> 18.8示例学习:分形624<br> 18.9递归与迭代627<br> 18.10尾递归628<br> 关键术语629<br> 本章小结629<br> 测试题630<br> 编程练习题630<br> 附录AJava关键字637<br> 附录BASCII字符集638<br> 附录C操作符优先级表639<br> 附录DJava修饰符640<br> 附录E特殊浮点值641<br> 附录F数系642<br> 附录G位操作646<br> 附录H正则表达式647<br> 附录I枚举类型651</p>
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/15844.html