Beginning Java 17 fundamentals : object oriented programming in Java 17 Learn the fundamentals of the Java 17 LTS or Java Standard Edition version 17 Long Term Support release including basic programming concepts and the object oriented fundamentals necessary at all levels of Java development. Authors Kishori Sharan and Adam L. Davis walk you through writing your first Java program step by step. Armed with that practical experience youll be ready to learn the core of the Java language. Beginning Java 17 Fundamentals provides over 90 diagrams and 240 complete programs to help you learn the topics faster. While this book teaches you the basics it also has been revised to include the latest from Java 17 including the following: value types (records) immutable objects with an efficient memory layout; local variable type inference (var); pattern matching a mechanism for testing and deconstructing values; sealed types a mechanism for declaring all possible subclasses of a class; multiline text values; and switch expressions. The book continues with a series of foundation topics including using data types working with operators and writing statements in Java. These basics lead onto the heart of the Java language: object oriented programming. By learning topics such as classes objects interfaces and inheritance youll have a good understanding of Javas object oriented model. The final collection of topics takes what youve learned and turns you into a real Java programmer. Youll see how to take the power of object oriented programming and write programs that can handle errors and exceptions process strings and dates format data and work with arrays to manipulate data. You will: Write your first Java programs with emphasis on learning object oriented programming How to work with switch expressions value types (records) local variable type inference pattern matching switch and more from Java 17 Handle exceptions assertions strings and dates and object formatting Learn about how to define and use modules Dive in depth into classes interfaces and inheritance in Java Use regular expressions Take advantage of the JShell REPL tool.