Bültmann & Gerriets
Beginning Java Programming
The Object-Oriented Approach
von Bart Baesens, Aimee Backiel, Seppe Vanden Broucke
Verlag: John Wiley & Sons
E-Book / PDF
Kopierschutz: Adobe DRM


Speicherplatz: 60 MB
Hinweis: Nach dem Checkout (Kasse) wird direkt ein Link zum Download bereitgestellt. Der Link kann dann auf PC, Smartphone oder E-Book-Reader ausgeführt werden.
E-Books können per PayPal bezahlt werden. Wenn Sie E-Books per Rechnung bezahlen möchten, kontaktieren Sie uns bitte.

ISBN: 978-1-118-73951-8
Auflage: 1. Auflage
Erschienen am 11.02.2015
Sprache: Englisch

Preis: 30,99 €

Klappentext
Biografische Anmerkung
Inhaltsverzeichnis

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 programming. Learn to:



  • Understand the Java language and object-oriented concept implementation

  • Use Java to access and manipulate external data

  • Make applications accessible to users with GUIs

  • Streamline workflow with object-oriented patterns


The 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, Beginning Java Programming is a thorough, comprehensive guide.



About the authors
Bart Baesens is a professor at KU Leuven and a lecturer at the University of Southampton, where he teaches various programming and database management courses.

Aimée Backiel is a doctoral researcher at KU Leuven. She teaches basic programming in Java to learners from diverse backgrounds.

Seppe vanden Broucke is a postdoctoral researcher at KU Leuven. He uses Java daily, giving him insight into useful applications for practitioners.

Visit us at wrox.com where you have access to free code samples, Programmer to Programmer forums, and discussions on the latest happenings in the industry from around the world.



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


andere Formate