Beginning Java
Minimum price
Suggested price

Beginning Java

Dive into the challenging world of software development

About the Book

Today's life is fulfilled with computers and software: Using a personal computer, this might be obvious, but regardless weather you use a mobile phone, a modern television or any smart device, internally all these devices are powered by a CPU and software. Whilst the CPU is just a part of the hardware (the things you can touch), the software determines the behavior.

Visiting the seaside might be wonderful. But it you dive into the water, you'll recognize a seemingly different world. Programming is a challenging task. If you start programming you'll not only get a different view of such devices. You will be able to design the behavior. So lets dive into this amazing world. Like scuba diving, you need to learn a lot before you're able to go in for vast tours. But divers may start soon with their first little practices combined with theory. And so you'll do with Java.

Using this book you'll start programming your first small application after a little preparation. Beside such practical tasks, you'll learn theoretical background. Step by step you will enhance your knowledge.

This might be a cheap book. You may change the recommended price down to 12 US$. Or pay whatever you want. I'm writing this book in my spare time. Maybe that's crazy, cause I could earn much by programming, but I like to teach people. Thus I would be proud, if you pay the recommended price.

I would be happy, if you learn a lot with the assistance of me and my books. Any feedback is appreciated.

This is a living book. Published first in a very incomplete state, I'm going to add or update content irregular. Once purchased, you are able to download all future updates without extra charge.

If you still know about programming foundations and may be some Java basics, I'll recommend this book's advanced sibling: Advancing Java.

If you prefer C# as language of your choice, then take a look at Beginning C#.

Enjoy reading and stay tuned!

  • Share this book

  • Categories

    • Java
    • Testing
    • Refactoring
    • Software Engineering
    • Education
    • Software Architecture
  • Feedback

    Email the Author(s)

About the Author

Michael Müller
Michael Müller

Michael Müller is an IT professional with more than 35 years of experience including about 30 years in the healthcare sector. During this time, he has worked in different areas, especially project and product management, consulting, and software development. He gained international knowledge not only by targeting international markets, but also by leading external teams (from Eastern Europe and India).

Currently, he is head of IT (software development, infrastructure, operations) at the German DRG institute []. In this role, he is responsible for Web applications as well as other Java and .NET projects. Web projects are preferably built with Java technologies such as JSF with the help of supporting languages like JavaScript.

Michael is a JSF professional user and a member of the JSR 344 and JSR 372 (JSF) expert groups. Due to his community activities he was invited to join the NetBeans Dream Team and became a member January 2016.

He frequently reads books and writes reviews as well as technical papers, which are mostly published in German-printed magazines and on his website []. Beside that, he irregular blogs about software development [].

Michael likes to share his knowledge.

Enjoy his writings!

Table of Contents

    • Preliminary note
    • Updates
    • Cover image
    • Acknowledgements
    • Preface
    • About the Author
    • About this book
      • Conventions
      • Links
      • Keyboard
      • Errors and typos
      • Copyright
  • Part I: Get ready
    • 1 Software development
    • 2 Prerequisites
    • 3 Installing Java
      • 3.1 Installing to Linux
      • 3.2 Installing on Windows
    • 4 Installing an IDE
    • 5 Hello World
      • 5.1 Translate and run
      • 5.2 Compile and run manually
      • 5.3 Build system
      • 5.4 Summary
    • 6 HelloWorld explained
      • 6.1 Class
      • 6.2 Method
      • 6.3 Package
      • 6.4 Summary
  • Part II: Discover
    • 7 Calling methods
      • 7.1 Summary
    • 8 Naming and naming conventions
      • 8.1 Method and variable names
      • 8.2 Naming conventions
      • 8.3 Summary
    • 9 Math function
    • 10 Refactoring
      • 10.1 Summary
    • 11 Class and Package
      • 11.1 Testing
        • 11.1.1 Create tester class
      • 11.2 Refactoring
      • 11.3 Summary
    • 12 Maven
      • 12.1 POM
      • 12.2 Folders
      • 12.3 Manifest
      • 12.4 Summary
    • 13 Testing with JUnit
    • 14 Overflow
      • 14.1 Integer representation and calculation
      • 14.2 Refining the test
      • 14.3 Negative numbers
      • 14.4 Refine square()
    • 15 Primitive data types and reserved keywords
      • 15.1 Numeric integer types
        • 15.1.1 decimal, binary and hexadecimal representation
      • 15.2 Numeric floating point types
      • 15.3 Textual types
      • 15.4 Boolean
      • 15.5 void
      • 15.6 Summary
    • 16 Loops
      • 16.1 while
      • 16.2 do … while
      • 16.3 for
      • 16.4 Summary
  • Part III: I’m in love with my car
    • 17 Building cars
      • 17.1 Naive car simulation
      • 17.2 Data structure
      • 17.3 Summary
    • 18 Object-oriented programming
      • 18.1 Summary
    • 19 Version control
      • 19.1 Git
      • 19.2 Summary
    • 20 Optimizing Cars
      • 20.1 Getters & Setters
        • 20.1.1 Placement of variables
        • 20.1.2 Sync with the repository
      • 20.2 Car fabric
      • 20.3 Constructing a Car
      • 20.4 Property Access
      • 20.5 Summary
    • 21 Inheritance
      • 21.1 Preparing the project
      • 21.2 Specializing Car
      • 21.3 Investigating inheritance behavior
        • 21.3.1 Visual representation
        • 21.3.2 A closer look onto the objects
      • 21.4 Summary
    • 22 Interfaces
      • 22.1 Implementing engines
      • 22.2 Investigating Interface
      • 22.3 Inheritance versus composition
      • 22.4 Summary
    • 23 Polymorphism
  • Part IV: Java elements
    • 24 Visibility
      • 24.1 Visibility modifiers
      • 24.2 Package
      • 24.3 Scope of variables
      • 24.4 Summary
    • 25 Variables, its types and memory
      • 25.1 Differences…
      • 25.2 Primitive types
      • 25.3 Object types (reference types)
      • 25.4 Stack and Heap
      • 25.5 Wrapper classes
      • 25.6 Dissolution of Differences
      • 25.7 Summary
    • 26 Objects revised
      • 26.1 Equals and HashCode
      • 26.2 String representation
      • 26.3 getClass and other methods
      • 26.4 Summary
    • 27 Data Containers
      • 27.1 Array
        • 27.1.1 Fun with Array
        • 27.1.2 Array based Stack
        • 27.1.3 Multidimensional arrays
      • 27.2 List
        • 27.2.1 Fun with List
      • 27.3 Summary
    • 28 Generics
      • 28.1 Summary
    • 29 Exception Handling
  • Part IV: GUI - graphical user interface
    • 30 Updates
  • Notes

The Leanpub 60-day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $12 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub