SPECIAL OFFERS
Keep up with new releases and promotions.Sign up to hear from us.
This eBook includes the following formats, accessible from yourAccountpage after purchase:
EPUBThe open industry format known for its reflowable content and usability on supported mobile devices.
PDFThe popular standard, used most often with the freeAdobe® Reader®software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
Also available inother formats.
Register your productto gain access to bonus material or receive a coupon.
In just 21 days, you can acquire the knowledge and skills necessary to develop applications on your computer, web servers, and mobile devices. With this complete tutorial you’ll quickly master the basics and then move on to more advanced features and concepts. Completely updated for Java 11 and 12, this book teaches you about the Java language and how to use it to create applications for any computing environment. By the time you have finished the book, you’ll have well-rounded knowledge of Java and the Java class libraries.
No previous programming experience required. By following the 21 carefully organized lessons in this book, anyone can learn the basics of Java programming.
Learn at your own pace. You can work through each chapter sequentially to make sure you thoroughly understand all the concepts and methodologies, or you can focus on specific lessons to learn the techniques that interest you most.
Test your knowledge. Each chapter ends with a Workshop section filled with questions, answers, and exercises for further study. There are even certification practice questions.
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
How This Book Is Organized ....................................................................................................2
Who Should Read This Book ...................................................................................................4
Conventions Used in This Book ...............................................................................................5
PART I The Java Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
LESSON 1: Getting Started with Java 9
The Java Language ..................................................................................................................10
Object-Oriented Programming ................................................................................................13
Objects and Classes .................................................................................................................14
Attributes and Behavior ..........................................................................................................16
Organizing Classes and Class Behavior ..................................................................................25
Summary .................................................................................................................................32
Q&A ........................................................................................................................................33
测试 .........................................................................................................................................34
认证实践 ...............................................................................................................35
练习 ..................................................................................................................................35
LESSON 2: The ABCs of Programming 37
Statements and Expressions ....................................................................................................38
Variables and Data Types ........................................................................................................38
Comments................................................................................................................................46
Literals .....................................................................................................................................47
String Literals ...............................................................................................................50
Expressions and Operators ......................................................................................................51
String Arithmetic .....................................................................................................................60
Summary .................................................................................................................................62
Q&A ........................................................................................................................................62
测试 .........................................................................................................................................63
认证实践 ...............................................................................................................64
练习 ..................................................................................................................................65
LESSON 3: Working with Objects 67
Creating New Objects .............................................................................................................68
Using Class and Instance Variables ........................................................................................72
Calling Methods ......................................................................................................................75
Class Methods ..............................................................................................................79
References to Objects ..............................................................................................................80
Casting Objects and Primitive Types ......................................................................................82
Converting Primitive Types to Objects and Vice Versa ................................................85
Comparing Object Values and Classes ....................................................................................87
Summary .................................................................................................................................89
Q&A ........................................................................................................................................90
测试 .........................................................................................................................................91
认证实践 ...............................................................................................................91
练习 ..................................................................................................................................92
LESSON 4: Lists, Logic, and Loops 93
Arrays ......................................................................................................................................94
Block Statements ...................................................................................................................101
if Conditionals .....................................................................................................................102
Switch Conditionals ..............................................................................................................103
The Ternary Operator ............................................................................................................110
for Loops ..............................................................................................................................111
while and do Loops ..............................................................................................................114
xii Sams Teach Yourself Java in 21 Days
Breaking Out of Loops ..........................................................................................................117
Summary ...............................................................................................................................119
Q&A ......................................................................................................................................119
测试 .......................................................................................................................................120
认证实践 .............................................................................................................121
练习 ................................................................................................................................122
LESSON 5: Creating Classes and Methods 123
Defining Classes ....................................................................................................................124
Creating Instance and Class Variables ..................................................................................124
Creating Methods ..................................................................................................................126
Creating Java Applications ....................................................................................................133
Java Applications and Arguments .........................................................................................134
Creating Methods with the Same Name ...............................................................................137
Constructors ..........................................................................................................................142
Overriding Methods ..............................................................................................................146
Summary ...............................................................................................................................150
Q&A ......................................................................................................................................151
测试 .......................................................................................................................................152
认证实践 .............................................................................................................153
练习 ................................................................................................................................154
LESSON 6: Packages, Interfaces, and Other Class Features 155
Modifiers ...............................................................................................................................156
Static Variables and Methods ................................................................................................162
Final Classes, Methods, and Variables ..................................................................................165
Abstract Classes and Methods ..............................................................................................167
Packages ................................................................................................................................167
Creating Your Own Packages ................................................................................................171
Interfaces ...............................................................................................................................174
Creating and Extending Interfaces ........................................................................................177
Summary ...............................................................................................................................185
Q&A ......................................................................................................................................186
测试 .......................................................................................................................................186
认证实践 .............................................................................................................187
练习 ................................................................................................................................188
LESSON 7: Exceptions and Threads 189
Exceptions .............................................................................................................................190
Managing Exceptions ............................................................................................................193
Declaring Methods That Might Throw Exceptions ..............................................................200
Creating and Throwing Exceptions .......................................................................................205
When Not to Use Exceptions ................................................................................................208
Threads ..................................................................................................................................209
Summary ...............................................................................................................................216
Q&A ......................................................................................................................................217
测试 .......................................................................................................................................217
认证实践 .............................................................................................................218
练习 ................................................................................................................................219
PART II: The Java Class Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .221
第八课:223年数据结构
Moving Beyond Arrays .........................................................................................................224
Java Structures .......................................................................................................................224
Generics .................................................................................................................................244
Enumerations .........................................................................................................................247
Summary ...............................................................................................................................249
Q&A ......................................................................................................................................249
测试 .......................................................................................................................................250
认证实践 .............................................................................................................251
练习 ................................................................................................................................252
LESSON 9: Creating a Graphical User Interface 253
Creating an Application ........................................................................................................254
Working with Components ...................................................................................................261
Lists .......................................................................................................................................274
The Java Class Library ..........................................................................................................276
Summary ...............................................................................................................................278
Q&A ......................................................................................................................................279
测试 .......................................................................................................................................279
认证实践 .............................................................................................................280
练习 ................................................................................................................................281
283年10课:建立一个接口
Swing Features ......................................................................................................................284
Summary ...............................................................................................................................304
Q&A ......................................................................................................................................304
测试 .......................................................................................................................................305
认证实践 .............................................................................................................306
练习 ................................................................................................................................307
LESSON 11: Arranging Components on a User Interface 309
Basic Interface Layout ..........................................................................................................310
Mixing Layout Managers ......................................................................................................320
卡布局……....................................................................................................................321
Summary ...............................................................................................................................329
Q&A ......................................................................................................................................330
测试 .......................................................................................................................................331
认证实践 .............................................................................................................331
练习 ................................................................................................................................332
LESSON 12: Responding to User Input 333
Event Listeners ......................................................................................................................334
Working with Methods ..........................................................................................................339
Using Inner Classes ....................................................................................................353
Summary ...............................................................................................................................355
Q&A ......................................................................................................................................355
测试 .......................................................................................................................................356
认证实践 .............................................................................................................357
练习 ................................................................................................................................358
LESSON 13: Creating Java2D Graphics 359
The Graphics2D Class ..........................................................................................................360
绘制文本 .........................................................................................................................362
Color ......................................................................................................................................366
Drawing Lines and Polygons ................................................................................................369
Summary ...............................................................................................................................378
Q&A ......................................................................................................................................379
测试 .......................................................................................................................................379
认证实践 .............................................................................................................380
练习 ................................................................................................................................381
LESSON 14: Developing Swing Applications 383
Improving Performance with SwingWorker .........................................................................384
Grid Bag Layout ....................................................................................................................389
Summary ...............................................................................................................................398
Q&A ......................................................................................................................................398
测试 .......................................................................................................................................398
认证实践 .............................................................................................................399
练习 ................................................................................................................................400
PART III: Java Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .401
LESSON 15: Using Inner Classes and Lambda Expressions 403
Inner Classes .........................................................................................................................404
Lambda Expressions .............................................................................................................413
Variable Type Inference ........................................................................................................418
Summary ...............................................................................................................................419
Q&A ......................................................................................................................................420
测试 .......................................................................................................................................420
认证实践 .............................................................................................................421
练习 ................................................................................................................................422
LESSON 16: Working with Input and Output 423
Introduction to Streams .........................................................................................................424
Byte Streams .........................................................................................................................426
Filtering a Stream ..................................................................................................................431
Character Streams .................................................................................................................440
文件和路径 .......................................................................................................................445
Summary ...............................................................................................................................447
Q&A ......................................................................................................................................448
测试 .......................................................................................................................................448
认证实践 .............................................................................................................449
练习 ................................................................................................................................450
LESSON 17: Communicating Over HTTP 451
Networking in Java ................................................................................................................452
The java.nio Package .........................................................................................................465
Summary ...............................................................................................................................480
Q&A ......................................................................................................................................480
测试 .......................................................................................................................................481
认证实践 .............................................................................................................482
练习 ................................................................................................................................482
LESSON 18: Accessing Databases with JDBC and Derby 483
Java Database Connectivity...................................................................................................484
Summary ...............................................................................................................................501
Q&A ......................................................................................................................................502
测试 .......................................................................................................................................502
认证实践 .............................................................................................................503
练习 ................................................................................................................................503
LESSON 19: Reading and Writing RSS Feeds 505
Using XML ...........................................................................................................................506
Designing an XML Dialect ...................................................................................................508
Processing XML with Java ...................................................................................................510
Processing XML with XOM .................................................................................................510
Summary ...............................................................................................................................525
Q&A ......................................................................................................................................525
测试 .......................................................................................................................................526
认证实践 .............................................................................................................527
练习 ................................................................................................................................528
LESSON 20: Making Web Service Requests 529
Introduction to XML-RPC ....................................................................................................530
Communicating with XML-RPC ..........................................................................................531
Choosing an XML-RPC Implementation .............................................................................534
Using an XML-RPC Web Service ........................................................................................536
Creating an XML-RPC Web Service ....................................................................................539
Summary ...............................................................................................................................545
Q&A ......................................................................................................................................545
测试 .......................................................................................................................................546
认证实践 .............................................................................................................546
练习 ................................................................................................................................547
LESSON 21: Writing a Game with Java 549
Playing a Game .....................................................................................................................550
Summary ...............................................................................................................................572
Q&A ......................................................................................................................................572
测试 .......................................................................................................................................573
认证实践 .............................................................................................................574
练习 ................................................................................................................................575
APPENDIXES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597
APPENDIX A: Using the NetBeans Integrated Development Environment . . . . . . 599
APPENDIX B: Fixing Package Not Visible Errors in NetBeans . . . . . . . . . . . . . . . . 609
APPENDIX C: This Book’s Website. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613
APPENDIX D: Using the Java Development Kit . . . . . . . . . . . . . . . . . . . . . . . . . . . 615
APPENDIX E: Programming with the Java Development Kit . . . . . . . . . . . . . . . . . 631
9780672337956, TOC, 11/18/2019
We've made every effort to ensure the accuracy of this book and its companion content. Any errors that have been confirmed since this book was published can be downloaded below.
Download the errata(45 KB .doc)