Introduction to java