Java高手是怎样炼成的 原理、方法与实践
全新正版 极速发货
¥
75.46
6.4折
¥
118
全新
库存5件
作者高永强,卢晨
出版社清华大学出版社
ISBN9787302563846
出版时间2021-01
装帧平装
开本16开
定价118元
货号1202197893
上书时间2024-11-23
商品详情
- 品相描述:全新
- 商品描述
-
目录
部分新手上路
章初识Java2
1.1什么是Java2
1.2Java能做什么3
1.3Java软件包3
1.3.1什么是JavaSE3
1.3.2什么是JDK4
1.4为什么Java可以在任何计算机上运行4
1.5Java和其他语言比较4
1.5.1Java和C++的比较5
1.5.2Java和C#的比较5
1.6为什么学Java5
1.6.1新手常遇到的困难5
1.6.2为什么选择这本书6
1.7免费下载、安装和测试学习Java需要的软件6
1.7.1免费下载JDK软件包7
1.7.2JDK的安装步骤7
1.7.3安装成功我知道8
1.8新手使用Java开发工具Eclipse10
1.8.1什么是IDE10
1.8.2为什么用Eclipse10
1.8.3免费下载、安装和测试Eclipse11
1.8.4新手须知Eclipse常用功能14
1.9编写和运行个Java程序17
1.10什么是JavaAPI19
巩固提高练习和编程实践19
第2章开始Java编程20
2.1一切从基础开始20
2.1.1Java语句20
2.1.2注释,还是注释21
2.1.3什么是标识符和怎样使用22
2.2Java基本数据23
2.2.18种基本数据类型23
2.2.2如何定义变量24
2.2.3什么是变量初始化25
2.2.4变量与存储器有什么关系26
2.2.5常量必须初始化27
2.3赋值语句27
2.3.1算术表达式27
2.3.2快捷赋值操作符29
2.4初识字符串30
2.4.1菜鸟理解字符串30
2.4.2什么是字符串引用31
2.4.3如何实现字符串连接31
2.4.4如何处理特殊字符——转义符33
2.5初识数组34
2.5.1菜鸟理解数组34
2.5.2一个例子教会你使用数组34
巩固提高练习和编程实践35
第3章新手须知类和对象37
3.1初识类和对象37
3.1.1类到底是什么37
3.1.2对象又是什么38
3.1.3编写你的个类38
3.1.4创建你的个对象40
3.1.5怎样调用方法41
3.1.6怎样测试自己编写的类41
3.1.7站在巨人的肩膀——使用API类43
3.1.8给程序带来五彩缤纷——细说JOptionPane45
3.2学习更多输入、输出API类48
3.2.1回到黑白——System.out49
3.2.2扫描输入——Scanner50
3.3编写用户友好与人机互动程序52
实战项目:里程转换应用开发53
巩固提高练习和实战项目大练兵55
第4章走进控制语句57
4.1条件表达式57
4.1.1关系表达式57
4.1.2比较基本型数据58
4.1.3比较字符串59
4.2逻辑表达式和应用61
4.2.1逻辑表61
4.2.2复合表达式及运算次序61
4.2.3你的程序逻辑清楚吗62
4.3简单if语句63
4.4简单if-else语句65
4.5嵌套if-else语句67
4.5.1用多种格式编写67
4.5.2应用实例68
4.6条件运算符?:69
4.7多项选择——switch语句69
4.7.1典型switch语句格式69
4.7.2应用实例71
4.7.3JDK14新增的switch-case语句及其应用72
4.8你的程序需要继续运行吗——循环语句72
4.8.1走进while循环72
4.8.2走进do-while循环75
4.8.3走进for循环77
4.8.4走进嵌套循环79
4.9更多控制语句81
4.9.1break语句81
4.9.2continue语句82
实战项目:投资回报应用开发(1)83
巩固提高练习和实战项目大练兵86
第5章数据控制和质量保证初探89
5.1垃圾进、垃圾出——誓将错误消灭在开始89
5.2Java的异常处理90
5.2.1系统自动抛出的异常90
5.2.2初识try-catch90
5.2.3API标准异常类92
5.2.4怎样处理系统自动抛出的异常92
5.2.5为什么需要抛出和处理异常93
5.2.6异常处理应用实例95
5.3格式化输出控制98
5.3.1货币输出格式化98
5.3.2国际货币输出格式化99
5.3.3百分比输出格式化100
5.3.4其他数值输出格式化101
5.3.5利用DecimalFormat控制数值输出格式化102
5.4数据类型转换102
5.4.1自动类型转换103
5.4.2强制性类型转换cast103
5.5怎样利用Math类104
5.6处理超值数字——BigDecimal类105
5.6.1BigDecimal的数学运算106
5.6.2BigDecimal的格式化输出107
实战项目:投资回报应用开发(2)108
巩固提高练习和实战项目大练兵110
第二部分告别菜鸟
第6章走进类和对象114
6.1面向对象编程——原来如此114
6.1.1类和对象剖析——源于生活,高于生活115
6.1.2封装性115
6.1.3继承性116
6.1.4多态性117
6.1.5抽象性117
6.2类为什么是编程模块117
6.2.1类就是软件工厂产品蓝图117
6.2.2如何描述对象——确定其属性并赋值118
6.2.3构造方法制造对象119
6.2.4更灵活地制造对象——构造方法重载121
6.3走进方法122
6.3.1方法就是对象的具体操作122
6.3.2什么是传递值的参数和传递引用的参数123
6.3.3方法重载125
6.3.4this是什么意思126
6.4走进静态数据129
6.4.1属于全体对象的数据就是静态数据129
6.4.2静态数据是怎样工作的130
6.4.3应用静态数据原则130
6.5走进静态方法131
6.5.1有静态数据就有静态方法——此话有理131
6.5.2静态方法怎样工作——不同于一般方法132
6.5.3为什么要用静态初始化程序块133
6.6我们喜欢再谈对象134
6.6.1对象创建与对象引用134
6.6.2为什么对象名重用135
6.6.3方法链式调用就这么简单136
实战项目:投资回报应用开发(3)136
巩固提高练习和实战项目大练兵138
第7章继承140
7.1继承就是吃现成饭140
7.1.1怎样实现继承——归类分析141
7.1.2怎样确定继承是否合理——“是”和“有”关系142
7.1.3怎样体现代码重用142
7.1.4继承就是站在巨人肩膀上143
7.1.5继承好处多多,你都想到了吗143
7.1.6继承的局限性143
7.1.7三种基本继承类型143
7.2实现继承145
7.2.1怎样写父类145
7.2.2怎样写子类146
7.2.3Likefatherlikeson——像爸爸就是儿子147
7.3你想让子类怎样继承——访问修饰符再探148
7.4更多继承应用149
7.4.1继承中如何应用重载149
7.4.2一个实例教会你什么是覆盖150
7.4.3一个实例教会你什么是屏蔽151
7.4.4细谈万类鼻祖Object和类中类——Class152
7.5抽象类156
7.5.1抽象类不能创建对象156
7.5.2抽象方法造就了抽象类156
7.6最终类158
7.6.1最终类不能被继承158
7.6.2一个例子搞懂最终类159
7.6.3最终方法不能被覆盖159
7.6.4最终参数的值不能改变159
7.6.5所有这一切皆为提高执行速度159
实战项目:几何体面积和体积计算应用开发(1)160
巩固提高练习和实战项目大练兵163
第8章多态165
8.1我们每天都在用多态165
8.1.1多态问题你注意到了吗165
8.1.2让我们一起走进多态166
8.2实现多态168
8.2.1父类提供多态方法和接口168
8.2.2子类覆盖多态方法或完善接口169
8.2.3一个例子让你明白应用多态170
8.3为什么剖析方法绑定171
8.3.1静态绑定171
8.3.2动态绑定171
8.3.3绑定时如何处理方法调用171
8.4高手特餐——invokespe和invokevirtual172
实战项目:几何体面积和体积计算应用开发(2)173
巩固提高练习和实战项目大练兵175
第9章接口177
9.1接口就是没有完成的类177
9.1.1接口只规定命名——如何完善由你177
9.1.2接口体现最高形式的抽象178
9.1.3怎样编写接口179
9.1.4用接口还是用抽象类180
9.1.5常用API接口181
9.2实现接口181
9.2.1实现接口就是完善接口中的方法181
9.2.2利用接口可以实现多重继承183
9.2.3接口本身也可以继承186
9.2.4接口也可以作为参数187
9.3应用接口的典型实例——Cloneable接口188
9.3.1实现Cloneable接口188
9.3.2引用还是复制——看看这个例子就懂了189
9.3.3复制还分深浅——怎么回事189
9.3.4应用实例——利用最高超类实现Cloneable接口192
巩固提高练习和实战项目大练兵193
第三部分Java提高
0章细谈数组196
10.1为啥数组就是类196
10.1.1理解数组是怎样工作的196
10.1.2创建数组就是创建数组对象197
10.1.3揭开数组的内幕198
10.2数组的操作201
10.2.1访问数组成员201
10.2.2数组和循环总是闺蜜203
10.2.3访问数组成员的特殊循环203
10.2.4用更多实例掌握数组的应用204
10.3高手要掌握的更多数组技术205
10.3.1多维数组206
10.3.2非规则多维数组208
10.3.3怎样把数组传到方法208
10.3.4怎样在方法中返回数组210
10.4API的Arrays类可以做些什么211
10.4.1常用方法211
10.4.2排序和搜索212
10.4.3数组复制——避免菜鸟常犯的错误213
10.4.4高手必须掌握的另一个API接口——Comparable215
实战项目:在多级继承中应用数组进行排序216
巩固提高练习和实战项目大练兵218
1章为何要再谈字符串220
11.1为何字符串也是类220
11.1.1什么是字符串引用220
11.1.2什么是字符串创建221
11.1.3字符串构造方法221
11.1.4高手必须掌握的字符串方法222
11.2APIStringBuilder类225
11.2.1字符串内容可变还是不可变225
11.2.2StringBuilder的构造方法225
11.2.3高手必须掌握的其他常用方法226
11.2.4用实例学会StringBuilder应该很容易227
11.2.5StringBuilder的大哥——StringBuffer类229
11.3APIStringTokenizer类——分解字符串229
11.3.1token就是分解字符串的符号229
11.3.2构造方法和其他常用方法230
11.3.3用实例学会StringTokenizer231
11.4正则表达式231
11.4.1高手必须知道的正则表达式231
11.4.2正则表达式规则232
11.4.3不再是秘密——String中处理正则表达式的方法234
11.4.4揭开Pattern和Matcher类的面纱234
11.4.5验证身份不是难事——实例说明一切236
实战项目:计算器模拟应用开发(1)237
巩固提高练习和实战项目大练兵239
2章揭秘异常处理241
12.1高手必须懂的API异常处理类241
12.2非检查性异常242
12.2.1出错现场在哪里242
12.2.2高手为什么要处理非检查性异常242
12.3检查性异常243
12.3.1同样要分析出错现场243
12.3.2处理常见检查性异常——必须243
12.4高手掌握异常处理机制243
12.4.1传统机制244
12.4.2高手为何要知道异常是怎样在程序中传播的246
12.4.3怎样获取更多异常信息247
12.4.4用实例解释最直观易懂248
12.5高手应用throw直接抛出异常250
12.5.1JVM怎样自动抛出异常251
12.5.2你也可以直接抛出异常251
12.5.3你还可以重抛异常252
12.6嵌套异常处理253
12.6.1什么是异常机制嵌套方式253
12.6.2嵌套异常是怎样传播的254
12.6.3为什么讨论嵌套异常重抛255
12.7高手自己定义异常类256
12.7.1编写自定义异常类原来如此简单256
12.7.2高手掌握的自定义异常处理技巧257
12.7.3用实例解释最直接易懂258
12.8异常链是什么259
12.8.1异常处理信息不见了——什么情况259
12.8.2应用异常链保证不会丢失处理信息259
12.9断言——高手可以断言可能发生的错误——assert261
12.9.1如何编写断言261
12.9.2开启和关闭断言262
实战项目:利用异常处理机制开发你的数据验证类263
巩固提高练习和实战项目大练兵265
3章高手掌握更多OOP技术266
13.1创建自己的API包266
13.1.1包有哪些命名规范267
13.1.2创建包文件267
13.1.3引入包文件268
13.2用Eclipse的包管理项目中的文件269
13.3在Eclipse中创建文件库270
13.3.1什么是JAR文件270
13.3.2创建文件库270
13.4揭秘访问权271
13.5类的更多应用——你知多少273
13.5.1类之间的关系——父子、部下还是亲戚273
13.5.2什么是文件类274
13.5.3内部类怎样用274
13.5.4为什么用静态内部类276
13.5.5本地类是什么278
13.5.6没有名字的类——匿名类279
13.5.7这么多类——高手攻略279
13.6枚举类是什么280
13.6.1怎样定义和使用枚举280
13.6.2静态引入——编写枚举类更方便282
13.6.3高手必须知道的枚举283
13.6.4一个实例教会你应用枚举285
13.7高手须知可变参数286
13.7.1可变参数是重载的极致应用286
13.7.2揭秘可变参数——它怎样工作287
13.7.3可变参数方法可以重载288
13.8什么是javadoc和怎样用它288
实战项目:创建可被任何程序调用的文件库(JDK9和以后版本)290
巩固提高练习和实战项目大练兵292
4章高手须知集合类293
14.1用集合类做些什么293
14.1.1集合类与数组的比较294
14.1.2集合类都有哪些294
14.1.3什么是Java的泛类型296
14.1.4高手怎样应用泛类型301
14.1.5值得注意的类型安全问题303
14.2揭秘集合类304
14.2.1可改变大小的数组304
14.2.2链接表306
14.2.3哈希集合307
14.2.4元素迭代器308
14.2.5用实例教会你集合类应用309
14.3Map的集合类311
14.3.1怎样使用HashMap311
14.3.2怎样使用TreeMap312
14.3.3怎样对自定义类型TreeMap排序314
14.4集合类和数据结构315
14.4.1堆栈315
14.4.2队列315
14.4.3细说集合中的排序316
14.4.4搜索——我要找到你318
14.4.5洗牌——想玩斗地主319
14.4.6集合类应用总结320
14.4.7高手理解集合类的同步与不同步321
实战项目:利用HashMap开发产品管理应用321
巩固提高练习和实战项目大练兵323
5章多线程325
15.1Java的本质是多线程325
15.1.1揭秘多线程怎样工作325
15.1.2多任务和多处理是一回事吗326
15.1.3多线程应用范围太广泛了326
15.1.4一张图搞懂线程的5种状态327
15.1.5你的个多线程程序327
15.2如何创建多线程329
15.2.1可以继承Thread创建线程329
15.2.2可以完善Runnable接口来创建线程330
15.2.3多线程典型案例:生产-消费线程初探331
15.3多线程控制333
15.3.1设置优先级——setPriority方法333
15.3.2给其他线程让步——yield方法334
15.3.3让我的线程休息——sleep方法334
15.3.4让我的线程加入执行——join方法336
15.3.5打断我的线程运行——interrupt方法336
15.3.6应用实例——线程和数组哪个运行的快337
15.4高手必知多线程协调339
15.4.1什么是多线程协调339
15.4.2高手怎样实现多线程协调340
15.4.3什么是易变数据——volatile340
15.4.4你的多线程协调吗——synchronized340
15.4.5要协调必须等待——wait方法342
15.4.6你的线程协调得到通知了吗——notify或notifyAll343
15.5高手须知更多多线程344
15.5.1一张图看懂监视器和线程锁定344
15.5.2更多多线程实战术语和编程技巧345
15.5.3并行类包——java.util.concurrent346
实战项目:利用多线程和并行处理开发生产-消费应用349
巩固提高练习和实战项目大练兵352
第四部分GUI和多媒体编程
6章GUI——使你的窗口出彩356
16.1从一个典型例子看懂GUI组件356
16.1.1Swing包中的组件从哪里来357
16.1.2一张图看懂组件的继承关系357
16.1.3组件操作功能从Component继承而来358
16.2创建框架就是实例窗口358
16.2.1怎样显示创建的窗口358
16.2.2怎样关闭显示的窗口359
16.2.3窗口位置和大小控制360
16.2.4在屏幕中央显示窗口实例361
16.3用控制面板管理组件——JPanel362
16.3.1一个例子搞懂控制面板怎样管理组件362
16.3.2手把手教会你组件编程步骤362
16.3.3揭秘控制面板结构内幕363
16.4怎样创建按钮——JButton364
16.4.1创建按钮举例364
16.4.2把组件显示到默认位置——FlowLayout36
— 没有更多了 —
以下为对购买帮助不大的评价