{"product_id":"beginning-java-programming-the-object-oriented-approach-paperback-softback-9781118739495","title":"Beginning Java Programming; The Object-Oriented Approach (Paperback \/ softback) 9781118739495","description":"\u003cfont face=\"Georgia\"\u003e\r\n\u003cp\u003e\u003cfont size=\"6\"\u003eBeginning Java Programming\u003c\/font\u003e\u003cbr\u003e\r\n\u003cfont size=\"5\"\u003eThe Object-Oriented Approach\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\r\n\r\n\u003cp\u003e\u003cfont size=\"4\"\u003eBart Baesens (Author), Aimee Backiel (Author), Seppe vanden Broucke (Author)\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e9781118739495, Wiley\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003ePaperback \/ softback, published 20 March 2015\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e672 pages\u003cbr\u003e23.1 x 18.5 x 3.6 cm, 1.066 kg\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\r\n\u003cp align=\"justify\"\u003e\u003cem\u003e\u003cfont size=\"3\"\u003e\u003cp\u003e\"Learning Java is a big subject, and this is a big book to match. I would recommend this book top anyone who is serious in learning to program in Java.\" (\u003ci\u003eBCS - The Chartered Institute for IT,\u003c\/i\u003e February 2017)\u003c\/p\u003e\u003c\/font\u003e\u003c\/em\u003e\u003c\/p\u003e\r\n\r\n\u003cp align=\"justify\"\u003e\u003cstrong\u003e\u003cfont size=\"3\"\u003e\u003cb\u003eA comprehensive Java guide, with samples, exercises, case studies, and step-by-step instruction\u003c\/b\u003e  \u003cp\u003e\u003ci\u003eBeginning Java Programming: The Object Oriented Approach\u003c\/i\u003e is a straightforward resource for getting started with one of the world's most enduringly popular programming languages. Based on classes taught by the authors, the book starts with the basics and gradually builds into more advanced concepts. The approach utilizes an integrated development environment that allows readers to immediately apply what they learn, and includes step-by-step instruction with plenty of sample programs. Each chapter contains exercises based on real-world business and educational scenarios, and the final chapter uses case studies to combine several concepts and put readers' new skills to the test.\u003c\/p\u003e \u003cp\u003e\u003ci\u003eBeginning Java Programming: The Object Oriented Approach\u003c\/i\u003e provides both the information and the tools beginners need to develop Java skills, from the general concepts of object-oriented programming. Learn to:\u003c\/p\u003e \u003cul\u003e \u003cli\u003eUnderstand the Java language and object-oriented concept implementation\u003c\/li\u003e \u003cli\u003eUse Java to access and manipulate external data\u003c\/li\u003e \u003cli\u003eMake applications accessible to users with GUIs\u003c\/li\u003e \u003cli\u003eStreamline workflow with object-oriented patterns\u003c\/li\u003e \u003c\/ul\u003e \u003cp\u003eThe book is geared for those who want to use Java in an applied environment while learning at the same time. Useful as either a course text or a stand-alone self-study program, \u003ci\u003eBeginning Java Programming\u003c\/i\u003e is a thorough, comprehensive guide.\u003c\/p\u003e\u003c\/font\u003e\u003c\/strong\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e\u003cp\u003eIntroduction xxii\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 1: A General Introduction To Programming 1\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eThe Programming Process 2\u003c\/p\u003e \u003cp\u003eObject-Oriented Programming: A Sneak Preview 5\u003c\/p\u003e \u003cp\u003eProgramming Errors 6\u003c\/p\u003e \u003cp\u003eSyntax\/Compilation Errors 6\u003c\/p\u003e \u003cp\u003eRuntime Errors 6\u003c\/p\u003e \u003cp\u003eLogic\/Semantic Errors 7\u003c\/p\u003e \u003cp\u003ePrinciples of Software Testing 7\u003c\/p\u003e \u003cp\u003eSoftware Maintenance 8\u003c\/p\u003e \u003cp\u003eAdaptive Maintenance 8\u003c\/p\u003e \u003cp\u003ePerfective Maintenance 8\u003c\/p\u003e \u003cp\u003eCorrective Maintenance 8\u003c\/p\u003e \u003cp\u003ePreventive Maintenance 9\u003c\/p\u003e \u003cp\u003ePrinciples of Structured Programming 9\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 2: Getting To Know Java 11\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eA Short Java History 12\u003c\/p\u003e \u003cp\u003eFeatures of Java 13\u003c\/p\u003e \u003cp\u003eLooking Under the Hood 13\u003c\/p\u003e \u003cp\u003eBytecode 14\u003c\/p\u003e \u003cp\u003eJava Runtime Environment (JRE) 15\u003c\/p\u003e \u003cp\u003eJava Application Programming Interface (API) 16\u003c\/p\u003e \u003cp\u003eClass Loader 17\u003c\/p\u003e \u003cp\u003eBytecode Verifier 18\u003c\/p\u003e \u003cp\u003eJava Virtual Machine (JVM) 18\u003c\/p\u003e \u003cp\u003eJava Platforms 19\u003c\/p\u003e \u003cp\u003eJava Applications 19\u003c\/p\u003e \u003cp\u003eStandalone Applications 19\u003c\/p\u003e \u003cp\u003eJava Applets 20\u003c\/p\u003e \u003cp\u003eJava Servlets 20\u003c\/p\u003e \u003cp\u003eJava Beans 21\u003c\/p\u003e \u003cp\u003eJava Language Structure 21\u003c\/p\u003e \u003cp\u003eClasses 22\u003c\/p\u003e \u003cp\u003eIdentifiers 22\u003c\/p\u003e \u003cp\u003eJava Keywords 22\u003c\/p\u003e \u003cp\u003eVariables 23\u003c\/p\u003e \u003cp\u003eMethods 23\u003c\/p\u003e \u003cp\u003eComments 24\u003c\/p\u003e \u003cp\u003eNaming Conventions 26\u003c\/p\u003e \u003cp\u003eJava Data Types 27\u003c\/p\u003e \u003cp\u003ePrimitive Data Types 27\u003c\/p\u003e \u003cp\u003eLiterals 28\u003c\/p\u003e \u003cp\u003eOperators 29\u003c\/p\u003e \u003cp\u003eArithmetic Operators 29\u003c\/p\u003e \u003cp\u003eAssignment Operators 30\u003c\/p\u003e \u003cp\u003eBitwise Operators 31\u003c\/p\u003e \u003cp\u003eLogical Operators 32\u003c\/p\u003e \u003cp\u003eRelational Operators 34\u003c\/p\u003e \u003cp\u003eArrays 34\u003c\/p\u003e \u003cp\u003eType Casting 37\u003c\/p\u003e \u003cp\u003eSummary 40\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 3: Setting Up Your Development Environment 41\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eIntegrated Development Environments 42\u003c\/p\u003e \u003cp\u003eCoding in Text Editors 42\u003c\/p\u003e \u003cp\u003eChoosing an IDE 46\u003c\/p\u003e \u003cp\u003eEclipse 47\u003c\/p\u003e \u003cp\u003eNetBeans 47\u003c\/p\u003e \u003cp\u003eIntelliJ IDEA 47\u003c\/p\u003e \u003cp\u003eContinuing with One IDE 47\u003c\/p\u003e \u003cp\u003eInstalling Eclipse on Your Computer 48\u003c\/p\u003e \u003cp\u003eDownloading and Installing Eclipse 48\u003c\/p\u003e \u003cp\u003eUsing Eclipse 50\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 4: Moving Toward Object‐Oriented Programming 61\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eBasic Concepts of Object‐Oriented Programming 62\u003c\/p\u003e \u003cp\u003eClasses and Objects in Java 63\u003c\/p\u003e \u003cp\u003eDefining Classes in Java 63\u003c\/p\u003e \u003cp\u003eCreating Objects 71\u003c\/p\u003e \u003cp\u003eStoring Data: Variables 76\u003c\/p\u003e \u003cp\u003eInstance Variables 76\u003c\/p\u003e \u003cp\u003eClass Variables 80\u003c\/p\u003e \u003cp\u003eFinal Variables 82\u003c\/p\u003e \u003cp\u003eVariable Scope 87\u003c\/p\u003e \u003cp\u003eDefining Behavior: Methods 91\u003c\/p\u003e \u003cp\u003eInstance Methods 91\u003c\/p\u003e \u003cp\u003eClass Methods 94\u003c\/p\u003e \u003cp\u003eConstructors 95\u003c\/p\u003e \u003cp\u003eThe Main Method 100\u003c\/p\u003e \u003cp\u003eMethod Argument Passing 109\u003c\/p\u003e \u003cp\u003eJava SE Built‐in Classes 115\u003c\/p\u003e \u003cp\u003eClasses in the java.lang Package 115\u003c\/p\u003e \u003cp\u003eClasses in the java.io and java.nio Packages 117\u003c\/p\u003e \u003cp\u003eClasses in the java.math Package 118\u003c\/p\u003e \u003cp\u003eClasses in the java.net, java.rmi, javax.rmi, and org.omg.CORBA Packages 118\u003c\/p\u003e \u003cp\u003eClasses in the java.awt and javax.swing Packages 118\u003c\/p\u003e \u003cp\u003eClasses in the java.util Package 118\u003c\/p\u003e \u003cp\u003eCollections 119\u003c\/p\u003e \u003cp\u003eOther Utility Classes 126\u003c\/p\u003e \u003cp\u003eOther Classes and Custom Libraries 127\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 5: Controlling the Flow of Your Program 129\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eComparisons Using Operators and Methods 130\u003c\/p\u003e \u003cp\u003eComparing Primitive Data Types with Comparison Operators 130\u003c\/p\u003e \u003cp\u003eComparing Composite Data Types with Comparison Methods 132\u003c\/p\u003e \u003cp\u003eUnderstanding Language Control 135\u003c\/p\u003e \u003cp\u003eCreating if-then Statements 135\u003c\/p\u003e \u003cp\u003eNesting if-then Statements 137\u003c\/p\u003e \u003cp\u003eCreating for Loops 138\u003c\/p\u003e \u003cp\u003eWhat is an Enhanced for Loop? 143\u003c\/p\u003e \u003cp\u003eNesting for Loops 146\u003c\/p\u003e \u003cp\u003eCreating while Loops 148\u003c\/p\u003e \u003cp\u003eWhat is a do while Loop? 152\u003c\/p\u003e \u003cp\u003eComparing for and while Loops 156\u003c\/p\u003e \u003cp\u003eCreating Switches 156\u003c\/p\u003e \u003cp\u003eComparing Switches and if-then Statements 161\u003c\/p\u003e \u003cp\u003eReviewing Keywords for Control 162\u003c\/p\u003e \u003cp\u003eControlling with the return Keyword 162\u003c\/p\u003e \u003cp\u003eControlling with the break Keyword 163\u003c\/p\u003e \u003cp\u003eControlling with the continue Keyword 164\u003c\/p\u003e \u003cp\u003eSpecifying a Label for break or continue Control 164\u003c\/p\u003e \u003cp\u003eReviewing Control Structures 168\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 6: Handling Exceptions and Debugging 171\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eRecognizing Error Types 172\u003c\/p\u003e \u003cp\u003eIdentifying Syntax Errors 172\u003c\/p\u003e \u003cp\u003eIdentifying Runtime Errors 175\u003c\/p\u003e \u003cp\u003eIdentifying Logical Errors 176\u003c\/p\u003e \u003cp\u003eExceptions 180\u003c\/p\u003e \u003cp\u003eCommon Exceptions 181\u003c\/p\u003e \u003cp\u003eCatching Exceptions 187\u003c\/p\u003e \u003cp\u003eDebugging Your Applications 195\u003c\/p\u003e \u003cp\u003eUsing a Debugger Tool 195\u003c\/p\u003e \u003cp\u003eUsing a Logging API 200\u003c\/p\u003e \u003cp\u003eTesting Your Applications 210\u003c\/p\u003e \u003cp\u003eSummary 219\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 7: Delving Further Into Object‐Oriented Concepts 221\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eAnnotations 222\u003c\/p\u003e \u003cp\u003eOverloading Methods 222\u003c\/p\u003e \u003cp\u003eThe this KeyWord 224\u003c\/p\u003e \u003cp\u003eInformation Hiding 229\u003c\/p\u003e \u003cp\u003eAccess Modifiers 230\u003c\/p\u003e \u003cp\u003eGetters 231\u003c\/p\u003e \u003cp\u003eSetters 232\u003c\/p\u003e \u003cp\u003eClass Inheritance 240\u003c\/p\u003e \u003cp\u003eThe Keyword super 241\u003c\/p\u003e \u003cp\u003eMethod Overriding 243\u003c\/p\u003e \u003cp\u003ePolymorphism 243\u003c\/p\u003e \u003cp\u003eStatic Binding 244\u003c\/p\u003e \u003cp\u003eDynamic Binding 244\u003c\/p\u003e \u003cp\u003eThe Superclass Object 245\u003c\/p\u003e \u003cp\u003eAbstract Classes and Methods 246\u003c\/p\u003e \u003cp\u003ePackages 251\u003c\/p\u003e \u003cp\u003eInterfaces 252\u003c\/p\u003e \u003cp\u003eGarbage Collection 259\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 8: Handling Input and Output 261\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eGeneral Input and Output 262\u003c\/p\u003e \u003cp\u003eInput and Output in Java 266\u003c\/p\u003e \u003cp\u003eStreams 268\u003c\/p\u003e \u003cp\u003eByte Streams 269\u003c\/p\u003e \u003cp\u003eCharacter Streams 275\u003c\/p\u003e \u003cp\u003eBuffered Streams 276\u003c\/p\u003e \u003cp\u003eData and Object Streams 278\u003c\/p\u003e \u003cp\u003eOther Streams 281\u003c\/p\u003e \u003cp\u003eScanners 281\u003c\/p\u003e \u003cp\u003eInput and Output from the Command-Line 283\u003c\/p\u003e \u003cp\u003eInput and Output from Files 290\u003c\/p\u003e \u003cp\u003eJava NIO2 File Input and Output 291\u003c\/p\u003e \u003cp\u003eThe Path Interface 291\u003c\/p\u003e \u003cp\u003eThe Files Class 293\u003c\/p\u003e \u003cp\u003eChecking Existence 293\u003c\/p\u003e \u003cp\u003eLegacy File Input and Output 304\u003c\/p\u003e \u003cp\u003eA Word on FileUtils 305\u003c\/p\u003e \u003cp\u003eConclusion 305\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 9: Working With Databases in Java 307\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eCovering the Basics of Relational Databases 308\u003c\/p\u003e \u003cp\u003eAccessing Relational Databases from Java 315\u003c\/p\u003e \u003cp\u003eJava Database Connectivity (JDBC) 315\u003c\/p\u003e \u003cp\u003eSQLJ 321\u003c\/p\u003e \u003cp\u003eEnsuring Object Persistence 324\u003c\/p\u003e \u003cp\u003eHibernate 325\u003c\/p\u003e \u003cp\u003eObject-Oriented Database Access from Java 341\u003c\/p\u003e \u003cp\u003eComparing Java Database Access Technologies 343\u003c\/p\u003e \u003cp\u003eWhat’s Ahead 344\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 10: Accessing Web Sources 347\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eA Brief Introduction to Networking 348\u003c\/p\u003e \u003cp\u003eWeb Services 360\u003c\/p\u003e \u003cp\u003eRPC and RMI 360\u003c\/p\u003e \u003cp\u003eSOAP 364\u003c\/p\u003e \u003cp\u003eREST 366\u003c\/p\u003e \u003cp\u003eAccessing Web Services and Sources with Java 368\u003c\/p\u003e \u003cp\u003eAccessing SOAP Services 368\u003c\/p\u003e \u003cp\u003eInstalling JAX‐WS 368\u003c\/p\u003e \u003cp\u003eAccessing SOAP Services with JAX‐WS Without WSDL 369\u003c\/p\u003e \u003cp\u003eAccessing SOAP Services with JAX‐WS with WSDL 395\u003c\/p\u003e \u003cp\u003eAccessing REST Services 406\u003c\/p\u003e \u003cp\u003eAccessing REST Services Without Authentication 408\u003c\/p\u003e \u003cp\u003eAccessing REST Services with Authentication 421\u003c\/p\u003e \u003cp\u003eScreen Scraping 449\u003c\/p\u003e \u003cp\u003eScreen Scraping Without Cookies 451\u003c\/p\u003e \u003cp\u003eScreen Scraping with Cookies 453\u003c\/p\u003e \u003cp\u003eCreating Your Own Web Services with Java 457\u003c\/p\u003e \u003cp\u003eSetting Up an HTTP Server 457\u003c\/p\u003e \u003cp\u003eProviding REST Services 461\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 11: Designing Graphical Interfaces 463\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eCovering the Basics of GUIs in Java 464\u003c\/p\u003e \u003cp\u003eHighlighting the Built‐In GUI Libraries 464\u003c\/p\u003e \u003cp\u003eAbstract Window Toolkit (AWT) 464\u003c\/p\u003e \u003cp\u003eSwing 464\u003c\/p\u003e \u003cp\u003eStandard Widget Toolkit (SWT) 465\u003c\/p\u003e \u003cp\u003eJavaFX 465\u003c\/p\u003e \u003cp\u003eOther Toolkits and Libraries 466\u003c\/p\u003e \u003cp\u003eChoosing a GUI Library 466\u003c\/p\u003e \u003cp\u003eBuilding with Containers and Components 467\u003c\/p\u003e \u003cp\u003eLooking at the Full Picture 472\u003c\/p\u003e \u003cp\u003eComparing Layout Managers 473\u003c\/p\u003e \u003cp\u003eFlowLayout 474\u003c\/p\u003e \u003cp\u003eBorderLayout 476\u003c\/p\u003e \u003cp\u003eGridLayout 478\u003c\/p\u003e \u003cp\u003eGridBagLayout 482\u003c\/p\u003e \u003cp\u003eCardLayout 486\u003c\/p\u003e \u003cp\u003eBoxLayout 489\u003c\/p\u003e \u003cp\u003eGroupLayout and SpringLayout 493\u003c\/p\u003e \u003cp\u003eAbsolute Positioning (No Layout Manager) 494\u003c\/p\u003e \u003cp\u003eUnderstanding Events 496\u003c\/p\u003e \u003cp\u003eIntroduction to Events 496\u003c\/p\u003e \u003cp\u003eEvent Listeners 497\u003c\/p\u003e \u003cp\u003eOn Threading and Swing 514\u003c\/p\u003e \u003cp\u003eClosing Topics 524\u003c\/p\u003e \u003cp\u003eBest Practices: Keeping Looks and Logic Separated 524\u003c\/p\u003e \u003cp\u003eLet’s Draw: Defining Custom Draw Behavior 525\u003c\/p\u003e \u003cp\u003eVisual GUI Designers: Making Life Easy? 540\u003c\/p\u003e \u003cp\u003eJavaFX: The Road Ahead? 545\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 12: Using Object‐Oriented Patterns 557\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eIntroduction to Patterns 558\u003c\/p\u003e \u003cp\u003eObject‐Oriented Patterns 558\u003c\/p\u003e \u003cp\u003eCreational Patterns 559\u003c\/p\u003e \u003cp\u003eSingleton Pattern and Static Utility Class 559\u003c\/p\u003e \u003cp\u003eService Provider Pattern and Null Object Pattern 565\u003c\/p\u003e \u003cp\u003e(Abstract) Factory Pattern 566\u003c\/p\u003e \u003cp\u003eStructural Patterns 568\u003c\/p\u003e \u003cp\u003eAdapter Pattern 568\u003c\/p\u003e \u003cp\u003eBridge Pattern 570\u003c\/p\u003e \u003cp\u003eDecorator Pattern 571\u003c\/p\u003e \u003cp\u003eFacade Pattern 574\u003c\/p\u003e \u003cp\u003eComposite Pattern 575\u003c\/p\u003e \u003cp\u003eType Pattern and Role Pattern 583\u003c\/p\u003e \u003cp\u003eBehavioral Patterns 591\u003c\/p\u003e \u003cp\u003eChain‐of‐Responsibility Pattern 591\u003c\/p\u003e \u003cp\u003eObserver Pattern and Model‐View‐Controller Pattern 592\u003c\/p\u003e \u003cp\u003eIterator Pattern 605\u003c\/p\u003e \u003cp\u003eVisitor Pattern 607\u003c\/p\u003e \u003cp\u003eTemplate Method Pattern 610\u003c\/p\u003e \u003cp\u003eStrategy Pattern 612\u003c\/p\u003e \u003cp\u003eHelpful Libraries 614\u003c\/p\u003e \u003cp\u003eApache Commons 614\u003c\/p\u003e \u003cp\u003eGoogle Guava 615\u003c\/p\u003e \u003cp\u003eTrove 615\u003c\/p\u003e \u003cp\u003eColt 615\u003c\/p\u003e \u003cp\u003eLombok 616\u003c\/p\u003e \u003cp\u003eOpenCSV 616\u003c\/p\u003e \u003cp\u003eHTML and JSON Libraries 616\u003c\/p\u003e \u003cp\u003eHibernate and Other JPA‐Compliant Libraries 617\u003c\/p\u003e \u003cp\u003eJoda‐Time 617\u003c\/p\u003e \u003cp\u003eCharting Libraries 617\u003c\/p\u003e \u003cp\u003e3D Graphics Libraries 617\u003c\/p\u003e \u003cp\u003eFinancial Libraries 618\u003c\/p\u003e \u003cp\u003eIndex 619\u003c\/p\u003e\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003eSubject Areas: Computer programming \/ software development [\u003ca title=\"See our other books on Computer programming \/ software development\" href=\"https:\/\/freshlyprintedbooks.co.uk\/search?q=%22Computer%20programming%20\/%20software%20development%20%5BUM%5D%22\"\u003eUM\u003c\/a\u003e]\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\u003c\/font\u003e","brand":"Wrox","offers":[{"title":"Brand New","offer_id":52474993017112,"sku":"9781118739495","price":35.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0730\/2037\/5320\/files\/9781118739495.jpg?v=1785802704","url":"https:\/\/freshlyprintedbooks.co.uk\/products\/beginning-java-programming-the-object-oriented-approach-paperback-softback-9781118739495","provider":"Freshly Printed Books","version":"1.0","type":"link"}