وبلاگ بلیان

Java Programming, 5th Edition

معرفی کتاب «Java Programming, 5th Edition» نوشتهٔ Joyce Farrell، منتشرشده توسط نشر Course Technology Cengage Learning; Thomson/Course Technology در سال 2010. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است. «Java Programming, 5th Edition» در دستهٔ بدون دسته‌بندی قرار دارد.

Front Cover......Page 1 Title Page......Page 2 Copyright......Page 3 CONTENTS......Page 6 PREFACE......Page 20 READ THIS BEFORE YOU BEGIN......Page 26 CHAPTER 1 CREATING YOUR FIRST JAVA CLASSES......Page 28 LEARNING ABOUT PROGRAMMING......Page 29 Object- Oriented Programming......Page 31 Understanding Objects, Classes, and Encapsulation......Page 32 Understanding Inheritance and Polymorphism......Page 34 LEARNING ABOUT JAVA......Page 35 Java Program Types......Page 36 Understanding the Statement That Prints the Output......Page 37 Understanding the First Class......Page 38 Understanding the main() Method......Page 41 ADDING COMMENTS TO A JAVA CLASS......Page 43 Compiling a Java Class......Page 45 Modifying a Java Class......Page 46 CREATING A JAVA APPLICATION USING GUI OUTPUT......Page 48 CORRECTING ERRORS AND FINDING HELP......Page 50 Your First Application......Page 53 Adding Comments to a Class......Page 54 Modifying a Class......Page 55 Creating a Dialog Box......Page 56 DON'T DO IT......Page 57 KEY TERMS......Page 58 CHAPTER SUMMARY......Page 61 REVIEW QUESTIONS......Page 62 EXERCISES......Page 64 GAME ZONE......Page 66 TOUGH QUESTIONS......Page 67 UP FOR DISCUSSION......Page 68 CHAPTER 2 USING DATA WITHIN A PROGRAM......Page 70 USING CONSTANTS AND VARIABLES......Page 71 Declaring Variables......Page 72 Declaring Named Constants......Page 73 LEARNING ABOUT THE int DATA TYPE......Page 75 DISPLAYING DATA......Page 77 WRITING ARITHMETIC STATEMENTS......Page 78 Writing Arithmetic Statements Efficiently......Page 80 USING THE BOOLEAN DATA TYPE......Page 81 LEARNING ABOUT FLOATING-POINT DATA TYPES......Page 82 UNDERSTANDING NUMERIC-TYPE CONVERSION......Page 83 WORKING WITH THE char DATA TYPE......Page 85 USING THE Scanner CLASS FOR KEYBOARD INPUT......Page 88 Pitfall: Using nextLine() Following One of the Other Scanner Input Methods......Page 90 Using Input Dialog Boxes......Page 93 Using Confirm Dialog Boxes......Page 97 Working with Numeric Values......Page 99 Accepting User Data......Page 100 Performing Arithmetic......Page 101 Experimenting with Java Programs......Page 102 DON'T DO IT......Page 103 KEY TERMS......Page 104 CHAPTER SUMMARY......Page 107 REVIEW QUESTIONS......Page 108 EXERCISES......Page 110 TOUGH QUESTIONS......Page 113 UP FOR DISCUSSION......Page 114 CHAPTER 3 USING METHODS, CLASSES, AND OBJECTS......Page 116 CREATING METHODS WITH ZERO, ONE, AND MULTIPLE PARAMETERS......Page 117 Creating Methods That Require a Single Parameter......Page 121 Creating Methods That Require Multiple Parameters......Page 124 CREATING METHODS THAT RETURN VALUES......Page 126 Calling a Method from Another Method......Page 128 LEARNING ABOUT CLASS CONCEPTS......Page 129 CREATING A CLASS......Page 131 CREATING INSTANCE METHODS IN A CLASS......Page 133 DECLARING OBJECTS AND USING THEIR METHODS......Page 136 Understanding Data Hiding......Page 137 ORGANIZING CLASSES......Page 139 AN INTRODUCTION TO USING CONSTRUCTORS......Page 141 UNDERSTANDING THAT CLASSES ARE DATA TYPES......Page 143 Creating a Static Method That Requires No Arguments and Returns No Values......Page 145 Calling a Static Method from Another Class......Page 146 Creating a Static Method That Accepts Arguments and Returns Values......Page 147 Creating a Class That Contains Instance Fields and Methods......Page 149 Creating a Class That Instantiates Objects of Another Class......Page 150 Creating a More Complete Class......Page 151 KEY TERMS......Page 152 CHAPTER SUMMARY......Page 154 REVIEW QUESTIONS......Page 155 EXERCISES......Page 158 GAME ZONE......Page 160 UP FOR DISCUSSION......Page 161 CHAPTER 4 MORE OBJECT CONCEPTS......Page 162 UNDERSTANDING BLOCKS AND SCOPE......Page 163 OVERLOADING A METHOD......Page 169 LEARNING ABOUT AMBIGUITY......Page 171 SENDING ARGUMENTS TO CONSTRUCTORS......Page 174 OVERLOADING CONSTRUCTORS......Page 175 LEARNING ABOUT THE this REFERENCE......Page 176 Using the this Reference to Make Overloaded Constructors More Efficient......Page 179 USING static VARIABLES......Page 181 USING CONSTANT FIELDS......Page 183 USING AUTOMATICALLY IMPORTED, PREWRITTEN CONSTANTS AND METHODS......Page 184 USING AN EXPLICITLY IMPORTED PREWRITTEN CLASS AND ITS METHODS......Page 187 UNDERSTANDING COMPOSITION......Page 191 A BRIEF LOOK AT NESTED AND INNER CLASSES......Page 193 Demonstrating Scope......Page 195 Overloading Methods......Page 197 Creating a Constructor That Requires an Argument......Page 198 Using an Explicitly Imported Prewritten Class......Page 199 Creating an Interactive Application with a Timer......Page 201 KEY TERMS......Page 203 CHAPTER SUMMARY......Page 204 REVIEW QUESTIONS......Page 205 EXERCISES......Page 208 GAME ZONE......Page 211 UP FOR DISCUSSION......Page 212 CHAPTER 5 MAKING DECISIONS......Page 214 UNDERSTANDING DECISION MAKING......Page 215 MAKING DECISIONS WITH THE if AND if ... else STRUCTURES......Page 217 Pitfall: Misplacing a Semicolon in an if Statement......Page 218 Pitfall: Attempting to Compare Objects Using the Relational Operators......Page 219 The if...else Structure......Page 220 USING MULTIPLE STATEMENTS IN AN if OR if ... else STRUCTURE......Page 221 NESTING if AND if...else STATEMENTS......Page 224 USING LOGICAL AND and OR OPERATORS......Page 226 MAKING ACCURATE AND EFFICIENT DECISIONS......Page 229 Using AND and OR Appropriately......Page 232 USING THE switch STATEMENT......Page 233 USING THE CONDITIONAL AND NOT OPERATORS......Page 236 Using the NOT Operator......Page 237 UNDERSTANDING PRECEDENCE......Page 238 Using an if...else......Page 240 Creating an Event Class to Use in a Decision-Making Application......Page 242 Writing an Application that Uses the Event class......Page 243 Using the switch Statement......Page 245 DON'T DO IT......Page 246 KEY TERMS......Page 247 REVIEW QUESTIONS......Page 248 EXERCISES......Page 251 GAME ZONE......Page 256 TOUGH QUESTIONS......Page 258 UP FOR DISCUSSION......Page 259 CHAPTER 6 LOOPING......Page 260 LEARNING ABOUT THE LOOP STRUCTURE......Page 261 USING A while LOOP TO CREATE A DEFINITE LOOP......Page 262 USING A while LOOP TO CREATE AN INDEFINITE LOOP......Page 266 USING SHORTCUT ARITHMETIC OPERATORS......Page 270 USING A for LOOP......Page 273 LEARNING HOW AND WHEN TO USE A do...while LOOP......Page 275 LEARNING ABOUT NESTED LOOPS......Page 277 IMPROVING LOOP PERFORMANCE......Page 279 Considering the Order of Evaluation of Short-Circuit Operators......Page 280 Comparing to Zero......Page 281 Employing Loop Fusion......Page 282 Writing a Loop to Validate Data Entries......Page 283 Working with Prefix and Postfix Increment Operators......Page 284 Working with Definite Loops......Page 286 Working with Nested Loops......Page 287 DON'T DO IT......Page 288 KEY TERMS......Page 289 CHAPTER SUMMARY......Page 290 REVIEW QUESTIONS......Page 291 EXERCISES......Page 294 GAME ZONE......Page 296 TOUGH QUESTIONS......Page 297 UP FOR DISCUSSION......Page 298 CHAPTER 7 CHARACTERS, STRINGS, AND THE STRINGBUILDER......Page 300 IDENTIFYING PROBLEMS THAT CAN OCCUR WHEN YOU MANIPULATE STRING DATA......Page 301 MANIPULATING CHARACTERS......Page 303 DECLARING A String OBJECT......Page 305 COMPARING String VALUES......Page 306 USING OTHER String METHODS......Page 310 CONVERTING Strings TO NUMBERS......Page 313 LEARNING ABOUT THE StringBuilder AND StringBuffer CLASSES......Page 315 Using String Class Methods......Page 320 Converting a String to an Integer......Page 322 Using StringBuilder Methods......Page 323 KEY TERMS......Page 324 CHAPTER SUMMARY......Page 326 REVIEW QUESTIONS......Page 327 EXERCISES......Page 329 GAME ZONE......Page 332 TOUGH QUESTIONS......Page 334 UP FOR DISCUSSION......Page 335 CHAPTER 8 ARRAYS......Page 336 DECLARING AND INITIALIZING AN ARRAY......Page 337 Initializing an Array......Page 339 USING SUBSCRIPTS WITH AN ARRAY......Page 340 DECLARING AN ARRAY OF OBJECTS......Page 343 SEARCHING AN ARRAY FOR AN EXACT MATCH......Page 345 SEARCHING AN ARRAY FOR A RANGE MATCH......Page 348 PASSING ARRAYS TO AND RETURNING ARRAYS FROM METHODS......Page 350 MANIPULATING ARRAYS OF Strings......Page 353 SORTING ARRAY ELEMENTS......Page 355 Sorting Arrays of Objects......Page 359 USING TWO-DIMENSIONAL AND MULTIDIMENSIONAL ARRAYS......Page 361 Using Multidimensional Arrays......Page 363 USING THE Arrays CLASS......Page 364 USING THE ArrayList CLASS......Page 368 Understanding the Limitations of the ArrayList Class......Page 370 Creating and Populating an Array......Page 371 Initializing an Array......Page 372 Creating Parallel Arrays to Eliminate Nested if Statements......Page 373 Creating an Application with an Array of Objects......Page 374 Creating an Interactive Application That Creates an Array of Objects......Page 375 Passing an Array to a Method......Page 377 Using Arrays Class Methods......Page 378 DON'T DO IT......Page 380 KEY TERMS......Page 381 CHAPTER SUMMARY......Page 382 REVIEW QUESTIONS......Page 383 EXERCISES......Page 386 GAME ZONE......Page 390 UP FOR DISCUSSION......Page 394 CHAPTER 9 INTRODUCTION TO INHERITANCE......Page 396 LEARNING ABOUT THE CONCEPT OF INHERITANCE......Page 397 EXTENDING CLASSES......Page 401 OVERRIDING SUPERCLASS METHODS......Page 403 UNDERSTANDING HOW CONSTRUCTORS ARE CALLED DURING INHERITANCE......Page 404 USING SUPERCLASS CONSTRUCTORS THAT REQUIRE ARGUMENTS......Page 406 ACCESSING SUPERCLASS METHODS......Page 407 LEARNING ABOUT INFORMATION HIDING......Page 409 A Subclass Cannot Override static Methods in Its Superclass......Page 412 A Subclass Cannot Override final Methods in Its Superclass......Page 415 A Subclass Cannot Override Methods in a final Superclass......Page 417 Creating a Superclass and an Application to Use It......Page 418 Creating a Subclass and an Application to Use It......Page 420 Creating a Subclass Method That Overrides a Superclass Method......Page 422 Understanding the Role of Constructors in Inheritance......Page 424 Inheritance When the Superclass Requires Constructor Arguments......Page 425 Accessing an Overridden Superclass Method from Within a Subclass......Page 428 KEY TERMS......Page 429 CHAPTER SUMMARY......Page 430 REVIEW QUESTIONS......Page 431 EXERCISES......Page 434 GAME ZONE......Page 437 TOUGH QUESTIONS......Page 438 UP FOR DISCUSSION......Page 439 CHAPTER 10 ADVANCED INHERITANCE CONCEPTS......Page 440 CREATING AND USING ABSTRACT CLASSES......Page 441 USING DYNAMIC METHOD BINDING......Page 445 Using a Superclass as a Method Parameter Type......Page 446 CREATING ARRAYS OF SUBCLASS OBJECTS......Page 447 USING THE Object CLASS AND ITS METHODS......Page 449 Using the toString() Method......Page 450 Using the equals() Method......Page 452 USING INHERITANCE TO ACHIEVE GOOD SOFTWARE DESIGN......Page 455 CREATING AND USING INTERFACES......Page 456 Creating Interfaces to Store Related Constants......Page 461 CREATING AND USING PACKAGES......Page 462 Creating an Abstract Class......Page 464 Extending an Abstract Class......Page 465 Extending an Abstract Class with a Second Subclass......Page 467 Instantiating Objects from Subclasses......Page 468 Using Object References......Page 469 Overriding the Object Class equals() Method......Page 471 Eliminating Duplicate User Entries......Page 472 Creating a Package......Page 473 KEY TERMS......Page 476 CHAPTER SUMMARY......Page 477 REVIEW QUESTIONS......Page 478 EXERCISES......Page 481 DEBUGGING EXERCISES......Page 484 UP FOR DISCUSSION......Page 485 CHAPTER 11 EXCEPTION HANDLING......Page 488 LEARNING ABOUT EXCEPTIONS......Page 489 TRYING CODE AND CATCHING Exceptions......Page 494 THROWING AND CATCHING MULTIPLE Exceptions......Page 498 USING THE Finally BLOCK......Page 503 UNDERSTANDING THE ADVANTAGES OF EXCEPTION HANDLING......Page 505 SPECIFYING THE Exceptions A METHOD CAN THROW......Page 507 TRACING Exceptions THROUGH THE CALL STACK......Page 513 CREATING YOUR OWN Exceptions......Page 517 USING ASSERTIONS......Page 520 Catching an Exception and Using getMessage()......Page 525 Adding NumberFormatException Handling Capabilities to an Application......Page 527 Creating a Class That Automatically Throws Exceptions......Page 528 Creating a Class That Passes on an Exception......Page 529 Creating an Application That Can Catch Exceptions......Page 531 Extending a Class That Throws Exceptions......Page 533 Using the printStackTrace() Method......Page 534 Using an Exception You Created......Page 536 KEY TERMS......Page 540 CHAPTER SUMMARY......Page 541 REVIEW QUESTIONS......Page 542 EXERCISES......Page 545 GAME ZONE......Page 549 UP FOR DISCUSSION......Page 550 CHAPTER 12 FILE INPUT AND OUTPUT......Page 552 UNDERSTANDING COMPUTER FILES......Page 553 USING THE File CLASS......Page 554 UNDERSTANDING DATA FILE ORGANIZATION AND STREAMS......Page 557 USING STREAMS......Page 559 WRITING TO AND READING FROM A FILE......Page 563 Reading from a File......Page 565 WRITING FORMATTED FILE DATA......Page 567 READING FORMATTED FILE DATA......Page 570 USING A VARIABLE FILENAME......Page 572 CREATING AND USING RANDOM ACCESS FILES......Page 575 WRITING RECORDS TO A RANDOM ACCESS FILE......Page 578 Accessing a Random Access File Sequentially......Page 583 Accessing a Random Access File Randomly......Page 584 READING AND WRITING OBJECTS TO AND FROM FILES......Page 586 Using the File Class to Examine File Status......Page 590 Comparing Two File Dates......Page 591 Using InputStream and OutputStream Objects......Page 592 Reading Data from a File......Page 595 Creating a Class to Use in a File of Objects......Page 596 Creating a Program that Writes Event Objects to a File......Page 598 Creating a Program that Accesses Stored Event Object Data......Page 599 KEY TERMS......Page 603 CHAPTER SUMMARY......Page 605 REVIEW QUESTIONS......Page 606 EXERCISES......Page 608 TOUGH QUESTIONS......Page 611 UP FOR DISCUSSION......Page 612 CHAPTER 13 INTRODUCTION TO SWING COMPONENTS......Page 614 UNDERSTANDING Swing COMPONENTS......Page 615 USING THE JFrame CLASS......Page 616 Customizing a JFrame's Appearance......Page 620 USING A JLabel......Page 621 Changing a JLabel's Font......Page 623 USING A LAYOUT MANAGER......Page 625 EXTENDING THE JFrame CLASS......Page 627 ADDING JTextFields, JBUTTONS, AND TOOL TIPS TO A JFrame......Page 629 Adding JButtons......Page 631 Using Tool Tips......Page 633 Preparing Your Class to Accept Event Messages......Page 634 Telling Your Class How to Respond to Events......Page 635 UNDERSTANDING Swing EVENT LISTENERS......Page 638 USING THE JCheckBox CLASS......Page 641 USING THE ButtonGroup CLASS......Page 645 USING THE JComboBox CLASS......Page 646 Creating a JFrame......Page 648 Adding Components to a JFrame......Page 650 Adding Functionality to a JButton and a JTextField......Page 652 Distinguishing Event Sources......Page 653 Including JCheckBoxes in an Application......Page 654 DON'T DO IT......Page 657 KEY TERMS......Page 658 CHAPTER SUMMARY......Page 659 REVIEW QUESTIONS......Page 661 EXERCISES......Page 664 DEBUGGING EXERCISES......Page 665 GAME ZONE......Page 666 UP FOR DISCUSSION......Page 667 CHAPTER 14 ADVANCED GUI TOPICS......Page 668 UNDERSTANDING THE CONTENT PANE......Page 669 USING COLOR......Page 674 LEARNING MORE ABOUT LAYOUT MANAGERS......Page 675 Using BorderLayout......Page 676 Using FlowLayout......Page 678 Using GridLayout......Page 680 Using CardLayout......Page 682 Using Advanced Layout Managers......Page 683 USING THE JPanel CLASS......Page 684 CREATING JScrollPanes......Page 691 A CLOSER LOOK AT EVENTS AND EVENT HANDLING......Page 693 An Event-Handling Example: KeyListener......Page 696 USING AWTEvent CLASS METHODS......Page 698 Understanding x- and y-Coordinates......Page 700 HANDLING MOUSE EVENTS......Page 701 USING MENUS......Page 707 Using JCheckBoxMenuItem and JRadioButtonMenuItem Objects......Page 710 Using addSeparator()......Page 711 Using setMnemonic()......Page 712 Using BorderLayout......Page 713 Using Fewer than Five Components with the BorderLayout Manager......Page 714 Using FlowLayout......Page 715 Using GridLayout......Page 716 Viewing All the Cards in CardLayout......Page 717 Using a Menu Bar and JPanels......Page 718 KEY TERMS......Page 723 CHAPTER SUMMARY......Page 725 REVIEW QUESTIONS......Page 726 EXERCISES......Page 729 DEBUGGING EXERCISES......Page 730 GAME ZONE......Page 731 UP FOR DISCUSSION......Page 735 CHAPTER 15 GRAPHICS......Page 736 LEARNING ABOUT THE paint() AND repaint() METHODS......Page 737 Using the setLocation() Method......Page 739 USING THE drawString() METHOD......Page 741 Using the setFont() and setColor() Methods......Page 742 Using Color......Page 743 CREATING Graphics AND Graphics2D OBJECTS......Page 744 DRAWING LINES AND SHAPES......Page 745 Drawing Ovals......Page 747 Drawing Arcs......Page 748 Creating Shadowed Rectangles......Page 749 Creating Polygons......Page 750 Copying an Area......Page 752 LEARNING MORE ABOUT FONTS AND METHODS YOU CAN USE WITH THEM......Page 753 Discovering Screen Statistics Using the Toolkit Class......Page 755 Discovering Font Statistics......Page 756 Specifying the Rendering Attributes......Page 758 Setting a Drawing Stroke......Page 760 Creating Objects to Draw......Page 761 Using the drawString() Method......Page 763 Using Fonts and Colors......Page 764 Creating Your Own Graphics Object......Page 765 Examining Screen Coordinates......Page 766 Creating a Drawing......Page 767 Copying an Area......Page 768 Using FontMetrics Methods to Compare Fonts......Page 769 Using FontMetrics Methods to Place a Border Around a String......Page 772 Using Drawing Strokes......Page 773 Working with Shapes......Page 775 DON'T DO IT......Page 776 KEY TERMS......Page 777 CHAPTER SUMMARY......Page 778 REVIEW QUESTIONS......Page 779 EXERCISES......Page 782 GAME ZONE......Page 785 UP FOR DISCUSSION......Page 788 CHAPTER 16 APPLETS, IMAGES, AND SOUND......Page 790 INTRODUCING APPLETS......Page 791 Running an Applet......Page 792 WRITING AN HTML DOCUMENT TO HOST AN APPLET......Page 793 CREATING A JApplet THAT CONTAINS AN init() METHOD......Page 795 WORKING WITH JApplet COMPONENTS......Page 797 UNDERSTANDING THE JApplet LIFE CYCLE......Page 799 The stop() Method......Page 800 UNDERSTANDING MULTIMEDIA AND USING IMAGES......Page 801 Adding Images to JApplets......Page 802 Using ImageIcons......Page 804 ADDING SOUND TO JApplets......Page 807 Creating an HTML Document to Host an Applet......Page 808 Creating and Running a JApplet......Page 809 Creating a More Complicated JApplet......Page 810 Making the JApplet's Button Respond to Events......Page 812 Understanding the Applet Life Cycle......Page 813 Displaying Images......Page 817 Playing Sounds......Page 818 KEY TERMS......Page 820 CHAPTER SUMMARY......Page 821 REVIEW QUESTIONS......Page 822 EXERCISES......Page 825 DEBUGGING EXERCISES......Page 827 GAME ZONE......Page 828 UP FOR DISCUSSION......Page 832 APPENDIX A: WORKING WITH THE JAVA PLATFORM......Page 834 APPENDIX B: LEARNING ABOUT ASCII AND UNICODE......Page 842 APPENDIX C: FORMATTING OUTPUT......Page 848 APPENDIX D: GENERATING RANDOM NUMBERS......Page 860 APPENDIX E: JAVADOC......Page 866 GLOSSARY......Page 874 INDEX......Page 894

Java Programming, Fifth Edition provides the beginning programmer with a guide to developing applications using the Java programming language. Java is popular among professional programmers because it can be used to build visually interesting GUI and Web-based applications. Java also provides an excellent environment for the beginning programmer—a student quickly can build useful programs while learning the basics of structured and object-oriented programming techniques.

دانلود کتاب Java Programming, 5th Edition