# Learn Java from Scratch (Educative)

Getting Started with Java! - Quick Quiz! A short quiz to test the basic understanding of concepts explained in this chapter! View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/NE0Nm7Ejwl6). Getting Started with Java! - Hello World! In this lesson, you will get acquainted with the Hello World program and a basic introduction to Java. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/gxnZMMEZGA6). Conditional Statements - Quick Quiz! Quiz to test your understanding of conditional statements in Java View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/gx7M8jOG2nk). Loops - While & Do-While Loops In this lesson, an introduction of the while and do-while loops in Java is provided. It uses coding examples to show their implementation and explain their workings. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/YMqlW49VnL9). Loops - Solution Review: Pyramid Printing by Using 'for' Loop In this review, solution of the challenge 'Pyramid Printing by Using 'for' Loop' from the previous lesson is provided. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/7npx4pMkNPO). Loops - Challenge 4: Pyramid Printing by Using 'While' Loop In this challenge, you have to print a complete and balanced pyramid for a given number of rows using the 'while' loop. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/qVDZ1861GBk). Strings and String Processing - Challenge: Finding the Right Words In this exercise, you need to figure out how to find the right words in a String according to the given conditions. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/xV67MR65Mpr). Conditional Statements - Switch Statement In this lesson, an introduction of the switch statement, its basic syntax and how it is written using an example is provided. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/gxMpqVVzqD3). Conditional Statements - Solution Review: What Day Is It? In this review, solution of the challenge What Day Is It? from the previous lesson is provided. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/m28VLN4p2MG). Loops - Infinite Loops In this lesson, an explaination of how infinite loops might emerge in a loop is provided. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/m28LQ53WQ1E). Simple Maths & Logic - Simple Java Maths In this lesson, an introduction of the basic operators used in Java like subtraction, addition, division, and multiplication are explained. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/gx2O3o3xxnr). Conditional Statements - Challenge 1: Even or Odd In this challenge, you will implement a Java program to find out if a number is even or odd. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/m2Gxx3DNpmp). Simple Maths & Logic - Logical Expressions In this lesson, an explanation of the use of logical expressions in Java programs is provided. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/xo2z4RZzZGl). Simple Maths & Logic - Challenge 2: Compute an Expression Using Logic In this exercise, you need to compute an expression using logical operators. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/qVQkMQwkVo7). Strings and String Processing - Java Strings In this lesson, the basic string data type in Java and the various inbuilt functions that the language offers will be explained. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/RMLProkpDVY). Strings and String Processing - String Methods In this lesson, the inbuilt methods in String Class which come in handy while using Strings will be explained. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/7npoRg17AXO). Conditional Statements - Conditional Expression In this lesson, and explaination of what conditional expressions are, how to use them and their basic syntax is provided. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/7n142XJyM6B). Strings and String Processing - Solution Review: Finding the Right Words In this review, solution of the challenge 'Finding the Right Words' from the previous lesson is provided. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/m2Y96MJA9Dr). Loops - For Loop In this lesson, the concept and implementation of for loops and nested for loops in Java is explained. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/m28GNY1zkJ9). Getting Started with Java! - Challenge: Play Around With 'print' Statement In this challenge, we will try printing multiple objects in Java to get used to it. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/g72rNkKqYM9). Getting Started with Java! - Solution Review: Play Around With 'print' Statement In this review, a quick analysis of the Print Statement Challenge is provided. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/xV6yp95QJyB). Variables & User Input - Challenge: Declaring Variables In this lesson, we will do a short coding exercise to test understanding of data types and creating variables in Java View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/qV6pDLQkGLk). Simple Maths & Logic - Solution Review: Compute an Expression Using Logic In this review, solution of the challenge 'Compute an expression using logic' from the previous lesson is provided. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/q2oYQzJ9Nz0). Arrays - What Are Arrays? In this lesson, an introduction to Arrays data structure is provided. Simple Maths & Logic - Quick Quiz! Have questions about Quick Quiz!? Go for it! View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/7nAVJgJD75Q). Conditional Statements - Comparison Operators In this lesson, introduction of different comparison operators such as ==, != ,>, < etc and which data types they can be applied to is provided. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/xV7KBXwl5wr). Methods - Methods in Java In this lesson, the basics of Methods in Java are explained. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/gkXx1g2VwyZ). Conditional Statements - Challenge 2: What Day is it? In this challenge, you will find out the respective weekday depending upon the given number. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/3jw4EP3R6y4). Methods - Solution Review: Sum of Digits in an Integer In this review, solution of the challenge 'Sum of Digits in an Integer' from the previous lesson is provided. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/7nn8EDPn8Y1). Arrays - Two Dimensional Arrays In this lesson, an introduction of another type of Arrays known as two-dimensional Array is provided. Methods - Challenge 4: Playing With Strings In this challenge, you will implement a method which will return the String in upper or lower case. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/qVZMqER9wJ7). Variables & User Input - Quick Quiz! Let's take a short quiz to test your understanding of variables in Java View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/3jwBQlw0pBn). Simple Maths & Logic - Solution Review: Compute an Expression Using Maths In this review, solution of the challenge 'Compute an expression using maths' from the previous lesson is provided. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/RMkpZw45ZKK). Conditional Statements - If Conditional Statements In this lesson, explaination of if-else statements and how to write them using an example is provided. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/3jjGJ6xqYnr). Methods - Special and Static Methods In this lesson, an explanation of the Special and Static Methods in Java is provided. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/JYEQqXvlPW9). Loops - Challenge 3: Pyramid Printing by Using 'for' Loop In this challenge, you have to print half a pyramid for a given number of rows. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/NEX7vr4r0vK). Methods - Challenge 1: Method to Check Sum In this challenge, you will implement a method which checks the Sum of two integers. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/3jwrq5rwjz4). Methods - Challenge 2: Letter Grade to GPA In this challenge, you will implement a method which converts the Letter grade to GPA. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/RLXrXnjKo4V). Generics - Quick Quiz! Here is a quick quiz to check your understanding of Generics. Generics - Challenge 1: Finding Max in an Array In this exercise you have to use template type to generalize the method used to find max element in an array. ArrayLists - Creating an ArrayList Object In this lesson, you’ll learn how to create an ArrayList object in Java. ArrayLists - Inbuilt Methods In this lesson, the mostly used inbuilt methods of ArrayList class are explained. ArrayLists - Challenge 1: Gathering Zeros to the Start In this challenge, you’ll implement the solution to gather all the zeros stored in an ArrayList to the starting indexes. Loops - Solution Review: Fibonacci Sequence up to 'n' Number of Terms In this review, solution of the challenge 'Fibonacci Sequence up to 'n' Number of Terms' from the previous lesson is provided. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/gkDPj0V6rk3). ArrayLists - Challenge 2: Remove Duplicates From an ArrayList In this challenge, you’ll have to code for removing the duplicates from an ArrayList. Arrays - Solution Review: Sorting an Array In this review, solution of the challenge ‘Sorting an Array’ from the previous lesson is provided. Methods - Solution Review: Letter Grade to GPA In this review, solution of the challenge 'Letter Grade to GPA' from the previous lesson is provided. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/R8ORN228PVY). Classes and Inheritance - Class Member Methods In this lesson, an explanation of how methods can be made within classes is provided. Methods - Quick Quiz! To test your understanding of methods, let’s take a short quiz. Arrays - Challenge 4: Pascal's Triangle In this challenge, you will have to implement Pascal’s triangle using a two-dimensional Array. Arrays - Solution Review: Pascal's Triangle In this review, solution of the challenge ‘Pascal’s Triangle’ from the previous lesson is provided. Classes and Inheritance - Introduction to Classes In this lesson, an explanation of the basics about classes in Java- what are they and how to define them is provided. Classes and Inheritance - Challenge 1: Calculating the Area In this challenge, you will implement a class for calculating the area. Classes and Inheritance - Solution Review: Calculating the Area In this review, solution of the challenge ‘Calculating the Area’ from the previous lesson is provided. Loops - Quick Quiz! Here is a quick quiz to check your understanding of loops. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/NEW6LnBrj8D). Methods - Solution Review: Method to Check Sum In this review, solution of the challenge 'Method to Check Sum' from the previous lesson is provided. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/7DD5Qnm7WwG). Classes and Inheritance - Inheritance in Java In this lesson, you’ll learn about an important concept of Object Oriented programming known as Inheritance. Arrays - Challenge 2: Sorting an Array In this challenge, you will figure out how to sort an Integer Array. Classes and Inheritance - Challenge 2: Finding the Average Marks In this challenge, you will implement a class to calculate average marks. Classes and Inheritance - Quick Quiz! Have questions about Quick Quiz!? Go for it! Generics - Introduction to Generics In this lesson, an explanation is provided to get started with Generics Methods (functions) in Java. Generics - Challenge 2: Swapping Values In this exercise, you have to use template type to generalize the function used to swap two values. Arrays - Solution Review: Find the Maximum Value In this review, solution of the challenge ‘Find the Maximum Value’ from the previous lesson is provided. Generics - Solution Review: Swapping Values In this review, solution of the challenge ‘Swapping Values’ from the previous lesson is provided. ArrayLists - ArrayLists in Java In this lesson, an explanation of all the basics about the inbuilt ArrayList class in Java is provided. Generics - Generic Class In this lesson, an explanation on how to create and use Generic Class Objects & functions of the Generic Class is provided. ArrayLists - Quick Quiz! Have questions about Quick Quiz!? Go for it! Loops - Solution Review: Multiplication Table of a Number In this review, solution of the challenge 'Multiplication Table of a Number' from the previous lesson is provided. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/JYE4Xr9BpEJ). Variables & User Input - Variables in Java In this lesson, an introduction to variables, their naming conventions, where they are stored in memory and how much space they take will be explained. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/qVLj3pV1kyp). Variables & User Input - Data Types In this lesson, a basic overview of all the primitive types in Java and their classifications- Numeric, Textual, Boolean & Null are explained. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/m2qpLk2D8qn). Variables & User Input - Variable Syntax In this lesson, it will be explained how to use data types and identifiers to create a variable and assign it a value. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/NE7qlMAXgA2). Variables & User Input - Taking Variable Value From User In this lesson, explanation of how to store a value in a variable by using input from user through the keyboard is provided. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/NE5yy8vGGlN). Simple Maths & Logic - Challenge 1: Compute an Expression Using Maths In this exercise, you need to compute the following expression using methods: cbrt(x^2 + y^3 - |z| ) View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/RMw4gknBzOK). Strings and String Processing - Quick Quiz! Let's take a quick quiz to test your understanding of what we have learnt so far! View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/7nnDQ9XOjG8). Conditional Statements - Solution Review: Even or Odd In this review, solution of the challenge 'Even or Odd' from the previous lesson is provided. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/gxpXBGwg9ZD). ArrayLists - Solution Review: Remove Duplicates From an ArrayList In this review, solution of the challenge ‘Remove Duplicates From an ArrayList’ from the previous lesson is provided. Loops - Equivalence of Java Looping Structures In this lesson, an explaination of how we can covert a for loop into a while loop. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/RMLzqKzVPoq). Loops - Challenge 1: Multiplication Table of a Number In this challenge, you have to print the multiplication table of a number up to 10. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/gxpVzRknkr3). Loops - Challenge 2: Fibonacci Sequence up to 'n' Number of Terms In this challenge, you have to compute Fibonacci series up to n number. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/xVlkQ4pv05l). Methods - Solution Review: Playing With Strings In this review, solution of the challenge ‘Playing With Strings’ from the previous lesson is provided. Methods - Parameters in Methods In this lesson, an explanation of how to pass parameters to the methods is explained. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/RML1R9l7DlO). Generics - Solution Review: Finding Max in an Array In this review, solution of the challenge ‘Finding Max in an Array’ from the previous lesson is provided. Methods - Challenge 3: Sum of Digits in an Integer In this challenge, you will implement a method which will return the sum of digits in an integer. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/7AYR4qxZLr8). Arrays - Challenge 1: Find the Maximum Value In this challenge, you will figure out how to find out the maximum value stored in an Integer Array. Arrays - Quick Quiz! Have questions about Quick Quiz!? Go for it! Arrays - Solution Review: Print a Matrix In this review, solution of the challenge ‘Print a Matrix’ from the previous lesson is provided. Classes and Inheritance - Constructors In this lesson, an explanation of what are constructors in classes and the different types of constructors that can be created is provided. ArrayLists - Solution Review: Gathering Zeros to the Start In this review, solution of the challenge ‘Gathering Zeros to the Start’ from the previous lesson is provided. Getting Started with Java! - Compiling Your First Java Program! In this lesson, an explaination of how to compile your code in Java, which compilers to use and the most suitable ones for different Operating Systems is provided. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/gxk05YJZvz9). Arrays - A Bit More About Arrays In this lesson, an explanation of Character Arrays, String Arrays, Arrays & Methods is provided. Loops - Solution Review: Pyramid Printing by Using 'While' Loop In this review, solution of the challenge 'Pyramid Printing by Using 'While' Loop' from the previous lesson is provided. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/NEEG7vMrZ7N). Getting Started with Java! - Code Explanation In this lesson, Hello World code written in the last lesson is explained in detail. It explains the basic syntax used in almost every basic Java program. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/RM57Dy7MR8L). Variables & User Input - Solution Review: Declaring Variables In this review, solution of the challenge 'Declaring Variables' is provided. View the lesson [here](https://www.educative.io/courses/learn-java-from-scratch/3YRByxYzN7Q). Arrays - Challenge 3: Print a Matrix In this challenge, you will figure out how to print a Matrix using an Integer two-dimensional Array. Classes and Inheritance - Challenge 3: Displaying Message Using Inheritance In this challenge, can you extend a parent class with one function overridden for each child? Classes and Inheritance - Solution Review: Finding the Average Marks In this review, solution of the challenge ‘Finding the Average Marks’ from the previous lesson is provided. Classes and Inheritance - Solution Review: Displaying Message Using Inheritance In this review, solution of the challenge ‘Displaying Message Using Inheritance’ from the previous lesson is provided.