Video description
Learn Java—the #1 language for professional programmers. This hands-on course guides you through your first steps with Java so you’ll be ready to take on challenges including web development, Android programming, and large enterprise services.
In Java Fundamentals you will learn:
- Java syntax to a professional standard
- Object-oriented programming
- Using the Eclipse and IntelliJ Idea IDEs
- Basics of functional style programming
- Unit testing with JUnit
- How to manage, read, and write files
- Get dependencies and build applications with Maven
- Best practices for developing software
Java Fundamentals is a comprehensive video course introducing the core elements of Java programming. In over 14 hours of professionally produced video, along with ample opportunities to try out what you’re learning, you’ll master the essentials in a friendly, easy-to-understand way. You’ll not only dig into the syntax and structure of the Java language, but also build up good habits and practices as you work with the many hands-on examples. As you progress from section to section, you’ll incrementally build a fully functioning application by adding and refining features.
about the technology
With three decades of successful use in corporations large and small, Java is the dominant language for enterprise software. This 14-hour liveVideo course covers JavaSE versions 8, 11, and 17, and clearly explains the differences so that you can pick the version that works best for you. It’s the perfect entry point for any developer who wants to work with popular Java frameworks such as Spring, Apache Spark, Akka, or Android.
about the video
Java Fundamentals is your personal Java bootcamp. This liveVideo course is based on a well-established five-day live training program, updated and expanded by expert developer and trainer Matt Greencroft. This engaging course starts with the basics of Java programming and continues to build your skills to include advanced features like Lambda expressions, collections and streams, using databases, working with files, testing, and more. You’ll learn how to design programs from both the object-oriented and functional perspectives. As you go, Matt demonstrates his extensive Java knowledge, revealing interesting and unexpected details about the language that even experts might not have known! All the examples are practical and very relevant to your future career.
about the audience
This course is suited for brand-new programmers who want a solid foundation in Java, and self-taught developers who want a more rounded education about the language. It’s also a good starting point for existing developers making the transition to Java programming. No previous programming experience is required.
about the author
Matt Greencroft has over 20 years of experience as a programmer, primarily working in the banking sector. Matt now teaches for Virtual Pair Programmers. His specialties are Microservices, Spring Boot, Apache Spark, and Kotlin.
Table of Contents
INTRODUCTION
Introduction
GETTING STARTED
Getting Started
Where do we get Java from
The versions of Java
Hello world
INSTALLING AN IDE
Installing an IDE Intellij Idea
Installing an IDE Eclipse
Features of an IDE
VARIABLES
Primitive data types
Basic arithmetic
Booleans chars and arrays
CONTROL FLOW
For loops
While loops
If and switch
And and or
STRINGS
Introducing the string
Comparing strings
The ternary operator
Concatenation and interpolation
CODE STRUCTURE PART 1
Defining methods
Using methods
Variable scope
Introducing classes
WORKING WITH CLASSES
The purpose of classes
Getter and setter methods
Constructors
Method overloading
Class design and record classes
Wrapper classes for primatives
PRACTICAL EXERCISE 1
Practical exercise
Solution walkthrough
ARRAYS OF OBJECTS
Using arrays
The meaning of null
Looping through arrays
Creating wrapper classes
CODE STRUCTURE PART 2
Packages
Importing from Java libraries
Javadocs
TIME AND MONEY
The history of dates and times
Working with dates and times
Working with precision decimals
OBJECT ORIENTATION PART 1 - INHERITANCE
Introducing object orientation
Inheriting a class
Using constructors
Overriding methods
Abstract and sealed classes
IMPORTANT METHODS TO OVERRIDE
Creating a toString method
Object equality and the equals method
Hashcodes
Practice exercise
ENUMS
Using enums
Practice exercise
CONSOLE I/O
Reading input from the console
Using the scanner
Practice exercise
EXCEPTIONS
Introducing exceptions and reading stack traces
Throwing exceptions
Checked and unchecked exceptions
Creating custom exceptions
Practice exercise
PRACTICAL EXERCISE 2
Instructions
Solution demonstration
Solution walkthrough
COLLECTIONS PART 1
Introducing arraylists
Generic types
Retrieving data and looping
Hashsets
Practice exercise
OBJECT ORIENTATION PART 2 - POLYMORPHISM
Introduction to polymorphism
Using polymorphism
Practice exercise
OBJECT ORIENTATION PART 3 - INTERFACES
What is an interface
Creating an interface
Implementing an interface
Interfaces in the Java_libraries
Default and static methods
Practice exercise
COLLECTIONS PART 2
Sorting lists
Maps
Practice exercise
GARBAGE COLLECTION
How memory is managed in Java
The StringBuilder Class
PRACTICAL EXERCISE 3
Instructions
Solution demonstration
Solution walkthrough
LAMBDA SYNTAX
Anonymous inner classes
Lamba syntax
Using streams
Practice exercise
DEPLOYMENT
Creating a jar file
Running a jar file
The jpackage tool
UNIT TESTING
Introduction to unit testing
Exploring assertions
USING EXTERNAL LIBRARIES AND BUILD TOOLS
Using external libraries
Introducing maven
Getting project dependencies with Maven
Building a jar file with Maven
USING DATABASES
What is a relational database
Using jdbc
Mapping database tables with objects
Practice exercise
FILE I/O
Referencing files and paths
Using the filewriter and filereader
Using the files object
Practice exercise
GOODBYE AND GOOD LUCK
Goodbye and good luck