Book Image

The Java Workshop

By : David Cuartielles, Andreas Göransson, Eric Foster-Johnson
Book Image

The Java Workshop

By: David Cuartielles, Andreas Göransson, Eric Foster-Johnson

Overview of this book

Java is a versatile, popular programming language used across a wide range of industries. Learning how to write effective Java code can take your career to the next level, and The Java Workshop will help you do just that. This book is designed to take the pain out of Java coding and teach you everything you need to know to be productive in building real-world software. The Workshop starts by showing you how to use classes, methods, and the built-in Collections API to manipulate data structures effortlessly. You’ll dive right into learning about object-oriented programming by creating classes and interfaces and making use of inheritance and polymorphism. After learning how to handle exceptions, you’ll study the modules, packages, and libraries that help you organize your code. As you progress, you’ll discover how to connect to external databases and web servers, work with regular expressions, and write unit tests to validate your code. You’ll also be introduced to functional programming and see how to implement it using lambda functions. By the end of this Workshop, you’ll be well-versed with key Java concepts and have the knowledge and confidence to tackle your own ambitious projects with Java.
Table of Contents (20 chapters)

Activity 1: Toggling the Sensor States

Rewrite the program once more, adding a scanner to your program to toggle sensor states from the command line. Each sensor should be capable of at least toggling the battery health and triggered status. When a sensor has updated, you should check the system for changes and generate a proper response on the command line if a warning or alarm has been triggered.

Note

The solution for this activity can be found via this link.

Consumer Interface

In functional programming, we're often told to avoid side effects in our code. The consumer functional interface, however, is an exception to this rule. Its only purpose is to produce a side effect based on the state of the argument. The consumer has quite a simple API, the core function of which is called accept() and doesn't return anything:

void accept(T);

This can also be used for chaining multiple consumers by using the andThen() function, which returns the newly chained consumer...