The book "Learning Java - An Experiential Approach" aims at providing the ins and outs of java programming language which uses experiential learning approach where reader plays an active role. The book is thought provoking and stimulates the reader to think beyond basics. It's a collection of simple and tricky questions with practically tested answers. The book focuses more on learning methodology to be adopted in imbibing not only Java but any subject to that matter, which inculcicates self learning abilities among the readers.This book is organized into Java Language Fundamentals and Object Oriented Programming, Exception Handling in Java and Java Streams which are spread across three chapters. The progression of topics covered in this book starts from the first chapter focusing on Java Language Fundamentals and Object Oriented Programming which is further divided into three sections on Java Runtime Environment, Java Language Fundamentals and Object Oriented Programming with Java. Chapter 2 covers FAQs on Exception Handling in Java. Chapter 3 is completely devoted to Java Streams, which play a key role in developing applications incorporating data persistence.