Beginning Java
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!
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
-
11.1 Testing
-
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
-
15.1 Numeric integer types
-
16 Loops
- 16.1 while
- 16.2 do … while
- 16.3 for
- 16.4 Summary
-
7 Calling methods
-
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
-
20.1 Getters & Setters
-
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
-
17 Building cars
-
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
-
27.1 Array
-
28 Generics
- 28.1 Summary
- 29 Exception Handling
-
24 Visibility
-
Part IV: GUI - graphical user interface
- 30 GUI
- 31 JavaFX
- 32 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.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $13 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