On this site you can already find multiple examples of Java applications written for the Raspberry Pi:
Even if you don’t have any prior knowledge of Java and/or Linux, you can get started as the book contains the basic steps to configure an SD card with Raspbian OS and crash courses for Java and Linux commands.
Chapter 1: Introduction
Chapter 2: Tools and hardware used in this book
Setup a Raspberry Pi with Raspbian and an overview of the software used on both Pi and PC. Also generic info about some of the most-used hardware components in the book.
Chapter 3: Choosing an IDE
Info about IntelliJ IDEA and Visual Studio Code.
Chapter 4: About Java
History of Java, different versions, and tools within the eco-system and how to install it on your Pi and PC. And of-course a crash course so you get a grasp of the language if it’s completely new to you.
Chapter 5: Raspberry Pi pinning
Different types of Raspberry Pi-boards and the different headers, pins, and pin types and how you can use them to connect different types of hardware.
Chapter 6: What is Maven?
More info on Maven, the tool we will use to test, build, and run our Java projects on PC and Pi.
Chapter 7: About JavaFX
The visual Java framework we will use to build beautiful user interfaces to interact with our Pi and hardware.
Chapter 8: Bits and bytes
The magic of ones and zeros and how they are combined into longer values.
Chapter 9: PI4J
A framework that makes it easier to work with the GPIOs from Java with multiple hardware examples.
Chapter 10: Spring
Building a Java application which exposes our Pi as a web service to store data or control the GPIOs.
Chapter 11: Message Queues
Use your Pi as a message handler to receive and send messages to different devices like other Pi’s, PCs, or Arduino’s.
In-between these chapters I share some thoughts about the things which are important to me as a developer and interviews with:
Programming for and on the Raspberry Pi is actually a lot of fun and allows you to combine the power of Java with the beauty of JavaFX user interfaces and the hardware link to the outside world through the Raspberry Pi GPIO’s.