Description

Book Synopsis
A comprehensive Java guide, with samples, exercises, case studies, and step-by-step instruction

Beginning Java Programming: The Object Oriented Approach 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.

Beginning Java Programming: The Object Oriented Approach provides both the information and the tools beginners need to develop Java skills, from the general concepts of object-oriented

Trade Review
"Learning Java is a big subject, and this is a big book to match. I would recommend this book top anyone who is serioys in learning to program in Java." (BCS - The Chartered Institute for IT, February 2017)

Table of Contents

Introduction xxii

Chapter 1: A General Introduction To Programming 1

The Programming Process 2

Object-Oriented Programming: A Sneak Preview 5

Programming Errors 6

Syntax/Compilation Errors 6

Runtime Errors 6

Logic/Semantic Errors 7

Principles of Software Testing 7

Software Maintenance 8

Adaptive Maintenance 8

Perfective Maintenance 8

Corrective Maintenance 8

Preventive Maintenance 9

Principles of Structured Programming 9

Chapter 2: Getting To Know Java 11

A Short Java History 12

Features of Java 13

Looking Under the Hood 13

Bytecode 14

Java Runtime Environment (JRE) 15

Java Application Programming Interface (API) 16

Class Loader 17

Bytecode Verifier 18

Java Virtual Machine (JVM) 18

Java Platforms 19

Java Applications 19

Standalone Applications 19

Java Applets 20

Java Servlets 20

Java Beans 21

Java Language Structure 21

Classes 22

Identifiers 22

Java Keywords 22

Variables 23

Methods 23

Comments 24

Naming Conventions 26

Java Data Types 27

Primitive Data Types 27

Literals 28

Operators 29

Arithmetic Operators 29

Assignment Operators 30

Bitwise Operators 31

Logical Operators 32

Relational Operators 34

Arrays 34

Type Casting 37

Summary 40

Chapter 3: Setting Up Your Development Environment 41

Integrated Development Environments 42

Coding in Text Editors 42

Choosing an IDE 46

Eclipse 47

NetBeans 47

IntelliJ IDEA 47

Continuing with One IDE 47

Installing Eclipse on Your Computer 48

Downloading and Installing Eclipse 48

Using Eclipse 50

Chapter 4: Moving Toward Object‐Oriented Programming 61

Basic Concepts of Object‐Oriented Programming 62

Classes and Objects in Java 63

Defining Classes in Java 63

Creating Objects 71

Storing Data: Variables 76

Instance Variables 76

Class Variables 80

Final Variables 82

Variable Scope 87

Defining Behavior: Methods 91

Instance Methods 91

Class Methods 94

Constructors 95

The Main Method 100

Method Argument Passing 109

Java SE Built‐in Classes 115

Classes in the java.lang Package 115

Classes in the java.io and java.nio Packages 117

Classes in the java.math Package 118

Classes in the java.net, java.rmi, javax.rmi, and org.omg.CORBA Packages 118

Classes in the java.awt and javax.swing Packages 118

Classes in the java.util Package 118

Collections 119

Other Utility Classes 126

Other Classes and Custom Libraries 127

Chapter 5: Controlling the Flow of Your Program 129

Comparisons Using Operators and Methods 130

Comparing Primitive Data Types with Comparison Operators 130

Comparing Composite Data Types with Comparison Methods 132

Understanding Language Control 135

Creating if-then Statements 135

Nesting if-then Statements 137

Creating for Loops 138

What is an Enhanced for Loop? 143

Nesting for Loops 146

Creating while Loops 148

What is a do while Loop? 152

Comparing for and while Loops 156

Creating Switches 156

Comparing Switches and if-then Statements 161

Reviewing Keywords for Control 162

Controlling with the return Keyword 162

Controlling with the break Keyword 163

Controlling with the continue Keyword 164

Specifying a Label for break or continue Control 164

Reviewing Control Structures 168

Chapter 6: Handling Exceptions and Debugging 171

Recognizing Error Types 172

Identifying Syntax Errors 172

Identifying Runtime Errors 175

Identifying Logical Errors 176

Exceptions 180

Common Exceptions 181

Catching Exceptions 187

Debugging Your Applications 195

Using a Debugger Tool 195

Using a Logging API 200

Testing Your Applications 210

Summary 219

Chapter 7: Delving Further Into Object‐Oriented Concepts 221

Annotations 222

Overloading Methods 222

The this KeyWord 224

Information Hiding 229

Access Modifiers 230

Getters 231

Setters 232

Class Inheritance 240

The Keyword super 241

Method Overriding 243

Polymorphism 243

Static Binding 244

Dynamic Binding 244

The Superclass Object 245

Abstract Classes and Methods 246

Packages 251

Interfaces 252

Garbage Collection 259

Chapter 8: Handling Input and Output 261

General Input and Output 262

Input and Output in Java 266

Streams 268

Byte Streams 269

Character Streams 275

Buffered Streams 276

Data and Object Streams 278

Other Streams 281

Scanners 281

Input and Output from the Command-Line 283

Input and Output from Files 290

Java NIO2 File Input and Output 291

The Path Interface 291

The Files Class 293

Checking Existence 293

Legacy File Input and Output 304

A Word on FileUtils 305

Conclusion 305

Chapter 9: Working With Databases in Java 307

Covering the Basics of Relational Databases 308

Accessing Relational Databases from Java 315

Java Database Connectivity (JDBC) 315

SQLJ 321

Ensuring Object Persistence 324

Hibernate 325

Object-Oriented Database Access from Java 341

Comparing Java Database Access Technologies 343

What’s Ahead 344

Chapter 10: Accessing Web Sources 347

A Brief Introduction to Networking 348

Web Services 360

RPC and RMI 360

SOAP 364

REST 366

Accessing Web Services and Sources with Java 368

Accessing SOAP Services 368

Installing JAX‐WS 368

Accessing SOAP Services with JAX‐WS Without WSDL 369

Accessing SOAP Services with JAX‐WS with WSDL 395

Accessing REST Services 406

Accessing REST Services Without Authentication 408

Accessing REST Services with Authentication 421

Screen Scraping 449

Screen Scraping Without Cookies 451

Screen Scraping with Cookies 453

Creating Your Own Web Services with Java 457

Setting Up an HTTP Server 457

Providing REST Services 461

Chapter 11: Designing Graphical Interfaces 463

Covering the Basics of GUIs in Java 464

Highlighting the Built‐In GUI Libraries 464

Abstract Window Toolkit (AWT) 464

Swing 464

Standard Widget Toolkit (SWT) 465

JavaFX 465

Other Toolkits and Libraries 466

Choosing a GUI Library 466

Building with Containers and Components 467

Looking at the Full Picture 472

Comparing Layout Managers 473

FlowLayout 474

BorderLayout 476

GridLayout 478

GridBagLayout 482

CardLayout 486

BoxLayout 489

GroupLayout and SpringLayout 493

Absolute Positioning (No Layout Manager) 494

Understanding Events 496

Introduction to Events 496

Event Listeners 497

On Threading and Swing 514

Closing Topics 524

Best Practices: Keeping Looks and Logic Separated 524

Let’s Draw: Defining Custom Draw Behavior 525

Visual GUI Designers: Making Life Easy? 540

JavaFX: The Road Ahead? 545

Chapter 12: Using Object‐Oriented Patterns 557

Introduction to Patterns 558

Object‐Oriented Patterns 558

Creational Patterns 559

Singleton Pattern and Static Utility Class 559

Service Provider Pattern and Null Object Pattern 565

(Abstract) Factory Pattern 566

Structural Patterns 568

Adapter Pattern 568

Bridge Pattern 570

Decorator Pattern 571

Facade Pattern 574

Composite Pattern 575

Type Pattern and Role Pattern 583

Behavioral Patterns 591

Chain‐of‐Responsibility Pattern 591

Observer Pattern and Model‐View‐Controller Pattern 592

Iterator Pattern 605

Visitor Pattern 607

Template Method Pattern 610

Strategy Pattern 612

Helpful Libraries 614

Apache Commons 614

Google Guava 615

Trove 615

Colt 615

Lombok 616

OpenCSV 616

HTML and JSON Libraries 616

Hibernate and Other JPA‐Compliant Libraries 617

Joda‐Time 617

Charting Libraries 617

3D Graphics Libraries 617

Financial Libraries 618

Index 619

Beginning Java Programming

    Product form

    £30.60

    Includes FREE delivery

    RRP £36.00 – you save £5.40 (15%)

    Order before 4pm today for delivery by Fri 19 Jun 2026.

    A Paperback / softback by Bart Baesens, Aimee Backiel, Seppe vanden Broucke


      View other formats and editions of Beginning Java Programming by Bart Baesens

      Publisher: John Wiley & Sons Inc
      Publication Date: 20/03/2015
      ISBN13: 9781118739495, 978-1118739495
      ISBN10: 1118739493

      Description

      Book Synopsis
      A comprehensive Java guide, with samples, exercises, case studies, and step-by-step instruction

      Beginning Java Programming: The Object Oriented Approach 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.

      Beginning Java Programming: The Object Oriented Approach provides both the information and the tools beginners need to develop Java skills, from the general concepts of object-oriented

      Trade Review
      "Learning Java is a big subject, and this is a big book to match. I would recommend this book top anyone who is serioys in learning to program in Java." (BCS - The Chartered Institute for IT, February 2017)

      Table of Contents

      Introduction xxii

      Chapter 1: A General Introduction To Programming 1

      The Programming Process 2

      Object-Oriented Programming: A Sneak Preview 5

      Programming Errors 6

      Syntax/Compilation Errors 6

      Runtime Errors 6

      Logic/Semantic Errors 7

      Principles of Software Testing 7

      Software Maintenance 8

      Adaptive Maintenance 8

      Perfective Maintenance 8

      Corrective Maintenance 8

      Preventive Maintenance 9

      Principles of Structured Programming 9

      Chapter 2: Getting To Know Java 11

      A Short Java History 12

      Features of Java 13

      Looking Under the Hood 13

      Bytecode 14

      Java Runtime Environment (JRE) 15

      Java Application Programming Interface (API) 16

      Class Loader 17

      Bytecode Verifier 18

      Java Virtual Machine (JVM) 18

      Java Platforms 19

      Java Applications 19

      Standalone Applications 19

      Java Applets 20

      Java Servlets 20

      Java Beans 21

      Java Language Structure 21

      Classes 22

      Identifiers 22

      Java Keywords 22

      Variables 23

      Methods 23

      Comments 24

      Naming Conventions 26

      Java Data Types 27

      Primitive Data Types 27

      Literals 28

      Operators 29

      Arithmetic Operators 29

      Assignment Operators 30

      Bitwise Operators 31

      Logical Operators 32

      Relational Operators 34

      Arrays 34

      Type Casting 37

      Summary 40

      Chapter 3: Setting Up Your Development Environment 41

      Integrated Development Environments 42

      Coding in Text Editors 42

      Choosing an IDE 46

      Eclipse 47

      NetBeans 47

      IntelliJ IDEA 47

      Continuing with One IDE 47

      Installing Eclipse on Your Computer 48

      Downloading and Installing Eclipse 48

      Using Eclipse 50

      Chapter 4: Moving Toward Object‐Oriented Programming 61

      Basic Concepts of Object‐Oriented Programming 62

      Classes and Objects in Java 63

      Defining Classes in Java 63

      Creating Objects 71

      Storing Data: Variables 76

      Instance Variables 76

      Class Variables 80

      Final Variables 82

      Variable Scope 87

      Defining Behavior: Methods 91

      Instance Methods 91

      Class Methods 94

      Constructors 95

      The Main Method 100

      Method Argument Passing 109

      Java SE Built‐in Classes 115

      Classes in the java.lang Package 115

      Classes in the java.io and java.nio Packages 117

      Classes in the java.math Package 118

      Classes in the java.net, java.rmi, javax.rmi, and org.omg.CORBA Packages 118

      Classes in the java.awt and javax.swing Packages 118

      Classes in the java.util Package 118

      Collections 119

      Other Utility Classes 126

      Other Classes and Custom Libraries 127

      Chapter 5: Controlling the Flow of Your Program 129

      Comparisons Using Operators and Methods 130

      Comparing Primitive Data Types with Comparison Operators 130

      Comparing Composite Data Types with Comparison Methods 132

      Understanding Language Control 135

      Creating if-then Statements 135

      Nesting if-then Statements 137

      Creating for Loops 138

      What is an Enhanced for Loop? 143

      Nesting for Loops 146

      Creating while Loops 148

      What is a do while Loop? 152

      Comparing for and while Loops 156

      Creating Switches 156

      Comparing Switches and if-then Statements 161

      Reviewing Keywords for Control 162

      Controlling with the return Keyword 162

      Controlling with the break Keyword 163

      Controlling with the continue Keyword 164

      Specifying a Label for break or continue Control 164

      Reviewing Control Structures 168

      Chapter 6: Handling Exceptions and Debugging 171

      Recognizing Error Types 172

      Identifying Syntax Errors 172

      Identifying Runtime Errors 175

      Identifying Logical Errors 176

      Exceptions 180

      Common Exceptions 181

      Catching Exceptions 187

      Debugging Your Applications 195

      Using a Debugger Tool 195

      Using a Logging API 200

      Testing Your Applications 210

      Summary 219

      Chapter 7: Delving Further Into Object‐Oriented Concepts 221

      Annotations 222

      Overloading Methods 222

      The this KeyWord 224

      Information Hiding 229

      Access Modifiers 230

      Getters 231

      Setters 232

      Class Inheritance 240

      The Keyword super 241

      Method Overriding 243

      Polymorphism 243

      Static Binding 244

      Dynamic Binding 244

      The Superclass Object 245

      Abstract Classes and Methods 246

      Packages 251

      Interfaces 252

      Garbage Collection 259

      Chapter 8: Handling Input and Output 261

      General Input and Output 262

      Input and Output in Java 266

      Streams 268

      Byte Streams 269

      Character Streams 275

      Buffered Streams 276

      Data and Object Streams 278

      Other Streams 281

      Scanners 281

      Input and Output from the Command-Line 283

      Input and Output from Files 290

      Java NIO2 File Input and Output 291

      The Path Interface 291

      The Files Class 293

      Checking Existence 293

      Legacy File Input and Output 304

      A Word on FileUtils 305

      Conclusion 305

      Chapter 9: Working With Databases in Java 307

      Covering the Basics of Relational Databases 308

      Accessing Relational Databases from Java 315

      Java Database Connectivity (JDBC) 315

      SQLJ 321

      Ensuring Object Persistence 324

      Hibernate 325

      Object-Oriented Database Access from Java 341

      Comparing Java Database Access Technologies 343

      What’s Ahead 344

      Chapter 10: Accessing Web Sources 347

      A Brief Introduction to Networking 348

      Web Services 360

      RPC and RMI 360

      SOAP 364

      REST 366

      Accessing Web Services and Sources with Java 368

      Accessing SOAP Services 368

      Installing JAX‐WS 368

      Accessing SOAP Services with JAX‐WS Without WSDL 369

      Accessing SOAP Services with JAX‐WS with WSDL 395

      Accessing REST Services 406

      Accessing REST Services Without Authentication 408

      Accessing REST Services with Authentication 421

      Screen Scraping 449

      Screen Scraping Without Cookies 451

      Screen Scraping with Cookies 453

      Creating Your Own Web Services with Java 457

      Setting Up an HTTP Server 457

      Providing REST Services 461

      Chapter 11: Designing Graphical Interfaces 463

      Covering the Basics of GUIs in Java 464

      Highlighting the Built‐In GUI Libraries 464

      Abstract Window Toolkit (AWT) 464

      Swing 464

      Standard Widget Toolkit (SWT) 465

      JavaFX 465

      Other Toolkits and Libraries 466

      Choosing a GUI Library 466

      Building with Containers and Components 467

      Looking at the Full Picture 472

      Comparing Layout Managers 473

      FlowLayout 474

      BorderLayout 476

      GridLayout 478

      GridBagLayout 482

      CardLayout 486

      BoxLayout 489

      GroupLayout and SpringLayout 493

      Absolute Positioning (No Layout Manager) 494

      Understanding Events 496

      Introduction to Events 496

      Event Listeners 497

      On Threading and Swing 514

      Closing Topics 524

      Best Practices: Keeping Looks and Logic Separated 524

      Let’s Draw: Defining Custom Draw Behavior 525

      Visual GUI Designers: Making Life Easy? 540

      JavaFX: The Road Ahead? 545

      Chapter 12: Using Object‐Oriented Patterns 557

      Introduction to Patterns 558

      Object‐Oriented Patterns 558

      Creational Patterns 559

      Singleton Pattern and Static Utility Class 559

      Service Provider Pattern and Null Object Pattern 565

      (Abstract) Factory Pattern 566

      Structural Patterns 568

      Adapter Pattern 568

      Bridge Pattern 570

      Decorator Pattern 571

      Facade Pattern 574

      Composite Pattern 575

      Type Pattern and Role Pattern 583

      Behavioral Patterns 591

      Chain‐of‐Responsibility Pattern 591

      Observer Pattern and Model‐View‐Controller Pattern 592

      Iterator Pattern 605

      Visitor Pattern 607

      Template Method Pattern 610

      Strategy Pattern 612

      Helpful Libraries 614

      Apache Commons 614

      Google Guava 615

      Trove 615

      Colt 615

      Lombok 616

      OpenCSV 616

      HTML and JSON Libraries 616

      Hibernate and Other JPA‐Compliant Libraries 617

      Joda‐Time 617

      Charting Libraries 617

      3D Graphics Libraries 617

      Financial Libraries 618

      Index 619

      Recently viewed products

      © 2026 Book Curl

        • American Express
        • Apple Pay
        • Diners Club
        • Discover
        • Google Pay
        • Maestro
        • Mastercard
        • PayPal
        • Shop Pay
        • Union Pay
        • Visa

        Login

        Forgot your password?

        Don't have an account yet?
        Create account