Beginners project: calculating area
First, you have improved yourself. But I still see the habit of your 

 int loop = 0; 

        while (loop == 0){...


structure in both the programs you have written so far (Your program doesn't actually iterate as you don't change the loop variable). Actually, while loops are faster than any other loops. On the other hand, it is also important to write more clean &amp; clear code.

As your loop-body is not more than 5000 or more lines, it's better to use a do-while(){...} looping structure.



Polymorphism (Factory Pattern + Strategy Pattern)

You can use Polymorphism in your program to make it nice. (If you don't know what is polymorphism)

Switch cases are good but replacing switch-case with polymorphism is fantastic. Look, you have different things to do in each switch case. Basically, different shapes formed with different ways. 

Shape Interface

public interface Shape {

    double calculateArea();
    void buildShape(Scanner scanner);
}


ShapeClub.java (Main class)

public class ShapeClub {

    public static void main(String[] args){

        Scanner scanner = new Scanner (System.in);
        boolean retry = false;

        do{
            System.out.println("Which shape do you want to find the area?");
            Shape unknownShape = ShapeFactory.getShape(scanner.next());
            unknownShape.buildShape(scanner);

            System.out.print("Do you want to try a different shape?[Y/N]:");
            retry = scanner.next().equalsIgnoreCase("Y");
        }while (retry);
        scanner.close();
    }
}


ShapeFactory.java (Factory class)

public class ShapeFactory {

    private ShapeFactory(){}

    public static Shape getShape(String shapeName){
        switch (shapeName){
            case "rectangle":
                return new Rectangle();
            case "circle":
                return new Circle();
            default:
                return null;
        }
    }
}


Rectangle.java (Concrete class)

public class Rectangle implements Shape {

    private double length = 0.0;
    private double width = 0.0;
    private String unit ="";

    @Override
    public double calculateArea() {
        return length*width;
    }

    @Override
    public void buildShape(Scanner scanner) {
        System.out.println("Please enter the leghth of the rectangle: ");
        length = scanner.nextDouble ();
        System.out.println("Please enter the width of the rectangle: ");
        width = scanner.nextDouble();
        System.out.println("What is the unit of the shape?");
        unit = scanner.next();
        System.out.println(calculateArea()+unit);
    }
}


Circle.java (Another concrete class)

public class Circle implements Shape {

    private double radius = 0.0;
    private String unit ="";

    @Override
    public double calculateArea() {
        return Math.PI*(Math.pow(radius, 2));
    }

    @Override
    public void buildShape(Scanner scanner) {
        System.out.println("Please enter the radius of the circle: ");
        radius = scanner.nextDouble();
        System.out.println("What is the unit of the shape?");
        unit = scanner.next();
        System.out.println(calculateArea()+unit);
    }
}


Hope you understood it. :)