
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Discover Java programming basics including syntax and semantics. Explore object-oriented design, portability via byte code and the Java Virtual Machine, and Java's security, robustness, and enterprise use.
Download and install Java and the Java Virtual Machine runtime environment, then choose an IDE such as IntelliJ IDEA or Eclipse to begin Java programming.
Learn Java's eight primitive types—integers, floating points, characters, and booleans—covering type ranges, memory use, and how to use variables to build basic programs.
Learn to code with Java primitive types by building a hello world project, declaring strings, numbers, booleans, and combining them to produce output.
Master conditional statements in Java by exploring if statements, else if, and comparisons such as greater than or equal to and not equal, with examples that print output.
Learn to implement a for loop in Java, initializing i to zero, looping while i <= 5, incrementing i each time, and iterating over arrays using length to print elements.
Learn how the while loop in Java executes the code block before checking the condition, contrasts with for loops and if statements, and demonstrates do-while behavior with practical examples.
define and call methods in Java, choose boolean or void return types, pass parameters, set scope, and reuse code with static methods and if statements.
Learn how to design classes and create objects in Java, using constructors, getters and setters to manage car properties like name and doors, and instantiate multiple car objects for reuse.
Explore the list interface in the Java collection framework, learn zero-based indexing, adding elements (including duplicates), and iterating with for-each to access and print list items.
This lecture introduces the set interface in the java collections framework, showing that sets prevent duplicates and that add returns a boolean, with for-each iteration on a hash set.
Explore the sorted set interface and tree set implementation, showing automatic ordering of elements and how to sort custom types, like cars, by their name.
Explore the queue interface in Java, a first-in, first-out structure built on a linked list. Learn how to peek, poll, remove, iterate, check size, and handle empty-queue exceptions.
Explore how JavaFX lets you build graphical apps by extending Application, configuring the primary stage, setting the window title, and showing the stage.
Learn how to build a Java UI by adding a button to a scene, configuring a 200 by 200 stage, and setting button text to create an interactive starter application.
Implement a Java button event handler that listens for click events, overrides the handle method with an action event, and prints a message when clicked, groundwork for a sign-up form.
The lecture demonstrates creating a login interface with labels and text fields for username and password, arranging them in horizontal boxes, adjusting spacing, and adding a submit button.
Define a grid pane to arrange labels and text fields for first name, last name, username, and password with padding and gaps; prepare for vertical alignment.
Learn to position text fields in a grid pane by assigning each field to a distinct column and row, achieving vertical alignment and setting up for styling and layout improvements.
Create a JavaFX user interface with four text fields and an add user button, style it using a CSS stylesheet, and prepare backend steps to connect to a database.
Continue building a desktop Java app across multiple sections, learn about databases and adding, fetching, and selecting users from a database, with styling enhancements.
Compare spring and spring boot by examining modules, dependency injection, and annotations, then see how spring boot uses auto configuration for rapid web service development.
Bootstrapping a spring boot project becomes easy with a generator: choose maven or gradle, set java, add web and optional security, then download a ready-to-open zip for your ide.
Depict how dependency injection works and contrast tight and loose coupling. Show how the Spring container initializes objects and manages their lifecycles for scalable Java applications.
Learn to fetch data from a database and expose it via web services using Java, while extending Spring knowledge to establish database connections for web applications.
Set up a Spring Boot project with Maven and Java, generate it with Spring Initializr, open in an IDE, resolve dependencies, and run the app to verify the setup.
Download and install MySQL Workbench to visually manipulate your database, create tables, and perform insert and select operations before automating them in your job application.
Set up and test a MySQL connection using Workbench to a local database and port. Learn to connect to cloud databases by IP and port and create schemas.
Create a database and a users table with an auto-incrementing user_id, first name, last name, username, and password; insert a user and verify by selecting all from users.
Connect a MySQL database to a Java project by configuring the data source, including localhost settings, port, database name, and credentials, then rebuild to run.
Create a User class with id, first name, last name, username, and password, mapped to the users table. Implement a UserProperties interface for fetching users.
Define and implement a get users interface and its adapter, expose them as a bean in spring boot, and print all users from the database via a command line runner.
Refactors the interface, adds a set users method, uses constructors (including a default one), and demonstrates persisting and querying users in a database.
Build the front end for your database by enabling fetch and add users, following along with the downloaded project to complete the database setup.
Learn to combine FXML and MySQL by building a JavaFX graphical user interface powered by Spring Boot, wiring controllers and beans, and connecting a database-backed MVC app.
Add a test button to an empty scene to verify controller access, wiring on action to a public method while tuning padding and grid placement for input fields.
Connect a button to a controller, display 'I'm working', and add labels and text fields to capture first name, last name, username, and password, then read input.
Read user input from text fields, align and space the UI, bind fields to the controller, and add users to a local database, then display them in a table view.
Display all registered users in a table view by adding columns for first name, last name, username, and password, and map them with a property value factory.
Fetch users into the JavaFX table view by wiring a fetch button to the app controller, calling getUsers from the user adapter, and updating the observable list from the database.
Add CSS styling to FXML by creating and importing a style sheet, applying a background image with no repeat and cover sizing, and organizing resources for the JavaFX app.
Explore how APIs expose resources, use rest, stateless client–server communication, and return data in JSON via GET, POST, PUT, and DELETE.
Set up a Spring Boot project by importing dependencies, configuring the rest demo, and running the application to start Tomcat on port ADT, validating the first rest endpoint.
Set up a Tomcat server and build a simple Java rest endpoint that returns hello world at the /hello route using request mapping and get method.
Add a parameter to the hello web service using request param in spring by defining name as a string and returning 'hello' plus the name, enabling input via browser queries.
Download postman and install it to test your web service with a get request in a graphical interface, add name-value pairs, and see the Hello Mark output.
Fetch users and add users via a rest service that returns hello and name based on input, with dependencies and a new rest controller to retrieve data from the database.
Learn to implement a rest controller to fetch all users via a get request, test with Postman, and return a json array containing first name, last name, username, and password.
Secure your Java web services with basic authentication using Spring Security and Spring Boot, configure data source credentials, and explore role-based access and tokens for future enhancement.
"Learn Java Programming - Beginners Guide" is a comprehensive course designed for individuals who are new to programming and want to learn Java from scratch. This course is suitable for beginners as well as experienced programmers who want to refresh their Java skills.
The course starts with an introduction to programming and Java basics. You'll learn how to set up your development environment, including installing Java and an Integrated Development Environment (IDE). You'll also learn how to write your first Java program, including variables, data types, and control structures.
Next, you'll dive into more advanced topics such as object-oriented programming (OOP), including classes, objects, inheritance, and polymorphism. You'll also learn how to use Java's built-in libraries and how to handle errors and exceptions.
After mastering the basics, you'll learn how to use various tools to test and debug your Java code, including the Intellij IDE and JUnit testing framework. You'll also learn how to use Git for version control and collaborate with other developers.
Throughout the course, you'll work on practical, real-world projects that will help you apply your newfound knowledge and skills. These projects include building a simple calculator, a tic-tac-toe game, and a basic web application using Java Servlets and JSP.
By the end of the course, you'll have a deep understanding of Java programming concepts, as well as the tools and techniques you need to build effective Java programs. Whether you're a student, a software developer, or someone who wants to learn programming as a hobby, this course will provide you with the skills you need to excel in your career.
What to expect from this course?
Learn the core Java skills needed to build real-life applications
Acquire essential java basics for transitioning to the Spring and Springboot Framework
Be able to build applications that connect to a MySQL Database
Learn to develop state of the art Web Services
Java Basics
Learn to develop Desktop Applications for both Linux, Windows and Mac OS.