Skip to content

Online Java course: from your first class file to objects and collections

Java is the first language in many university programming and OOP courses, and it runs Android apps and a great deal of server software. You learn it step by step, live and one-to-one: you write and run every program yourself in the IDE your course uses, and the tutor helps you read each error.

  • First 30-minute class free
  • Live, one-to-one, online
  • Female tutors on request
  • Reply within 24 hours

The Java course at a glance

Short answers to the questions students and parents ask first. Each one is explained in more detail further down the page.

What is Java used for?

Java is used for Android apps, server and business software, and large back-end systems. Many universities also use it to teach programming and object-oriented programming.

Who should learn Java?

University and college students whose course uses Java, beginners who want a structured first language, and students preparing for OOP or data structures in Java. It also helps people who already use Java at work.

What do I need before I start?

No programming experience is required, though some experience in any language helps. You need a laptop or desktop with a JDK and an IDE; the tutor helps you install them.

Which topics does the course cover?

Java fundamentals, variables and data types, conditions and loops, methods and arrays, classes and objects, object-oriented programming, and collections, exceptions and files.

How are the classes delivered?

Live and one-to-one on Microsoft Teams or Zoom. You share your screen and write and run the code yourself, in the IDE your course uses, while the tutor explains and helps you debug.

How can I start learning Java?

Book the free 30-minute introductory class with the form on this page or on WhatsApp. We reply within 24 hours. Bring your course outline if you have one, and the tutor suggests where to begin.

Who should take this Java course?

  • University students whose programming or OOP course uses Java
  • College and school students whose Computer Science course uses Java
  • Beginners who want a structured, strongly typed first language
  • Python or C++ programmers who need Java for a course
  • Students getting ready for data structures and algorithms in Java
  • Working developers and professionals who need help with Java on the job

Where students often get stuck

  • Long error messages and stack traces that are hard to read
  • Why everything has to live inside a class
  • static, public and void, and when each is needed
  • The difference between == and equals() for strings
  • NullPointerException and where it really comes from

Prerequisites

  • No programming experience is required. Some experience in any language makes the early topics quicker.
  • Comfortable using a computer, including saving files in folders.
  • A Java Development Kit (JDK) and the IDE your course uses. The tutor helps you install them in the first lesson.

What you need for lessons

  • A laptop or desktop computer. A phone or tablet is not enough for writing code.
  • A stable internet connection and Microsoft Teams or Zoom.
  • A quiet place where you can share your screen and talk with the tutor.

Java course syllabus

The topics in the order they are usually taught. The tutor adjusts the order and depth to your level, and to your school or university syllabus if you share it.

  1. Java fundamentals

    • Writing, compiling and running a program
    • The main method, classes and source files
    • Printing output and reading input with Scanner
    • Reading compiler errors and stack traces
  2. Variables and data types

    • int, double, char, boolean and String
    • Declaring variables; final constants and var
    • Integer division, casting and type conversion
    • Operators, precedence and the Math class
  3. Conditions and loops

    • if, else if, else and switch
    • while, do-while and for loops
    • The enhanced for loop
    • Nested loops, break and continue
  4. Methods and arrays

    • Writing static methods with parameters and return values
    • Method overloading and recursion
    • One- and two-dimensional arrays
    • Strings and their methods; comparing with equals()
  5. Classes and objects

    • Fields, constructors and methods
    • private fields with getters and setters
    • this, static members and object references
    • Packages and imports
  6. Object-oriented programming

    • Inheritance with extends, and super
    • Method overriding and polymorphism
    • Abstract classes and interfaces
    • toString(), equals() and the Object class
  7. Collections, exceptions and files

    • ArrayList and HashMap, and when to use each
    • Generics in collections: ArrayList<String>
    • try, catch, finally and throwing exceptions
    • Reading and writing text files
    • Exercise sets in the style of university lab tasks

A practical way to learn

Run it after every step
You compile and run after a few lines at a time, so each error is about code you have just written and is easier to understand.
Draw the objects
Before writing class code, you sketch the objects and the references between them with the tutor, then check the program behaves like the drawing.
Your IDE, your course
Lessons use the IDE your course uses, such as IntelliJ IDEA, Eclipse, NetBeans or BlueJ, and follow your course outline if you share it.
Practice in the shape of lab tasks
Many exercises read like university lab questions: understand the problem, plan the classes, write them, then test with your own inputs.

Practice exercises and projects

Typical exercises from lessons, from first loops to programs built from several classes. The tutor chooses them to match your level and your course.

  • Grade calculator

    Read marks with Scanner, store them in an array, work out the average and grade, and print a neat report.

    Practises

    • Arrays
    • Loops
    • Methods
  • Library system

    Book and Member classes, with borrowing and returning, kept in an ArrayList and searched by title.

    Practises

    • Classes
    • ArrayList
    • Encapsulation
  • Shapes and areas

    An abstract Shape with Circle and Rectangle subclasses, each working out its own area, stored in one list.

    Practises

    • Inheritance
    • Abstract classes
    • Polymorphism
  • Word counter

    Read a text file, count each word with a HashMap, and handle a missing file with an exception.

    Practises

    • HashMap
    • File input
    • Exceptions

Your assignments stay your own

The tutor explains, reviews your code and helps you find bugs, but does not write graded assignments or lab tasks for you.

Read our Academic Integrity Policy

What you can expect to learn

  • Write, compile and run Java programs, and fix compiler errors yourself
  • Use methods, arrays and Strings to process data
  • Design classes with constructors, private fields and inheritance
  • Use interfaces and polymorphism where your course asks for them
  • Store and look up data with ArrayList and HashMap
  • Handle errors with exceptions and read stack traces

These are the aims of the lessons. Progress depends on where you start and how much you practise, and we never promise grades or results.

Suitable learning levels

Java suits every level, from complete beginners to people who use it at work. It asks for a little more structure than Python at the start, so the pace depends on where you begin.

  • Level: Beginner

    Java as your first language

    You have not programmed before. You start with a first program and build up slowly, with plenty of practice on each topic.

  • Level: Beginner to intermediate

    Java as your second language

    You know some Python, C++ or another language. Lessons move faster through the basics and spend more time on classes, references and collections.

  • Level: Intermediate

    Support during a university course

    Your course has reached classes, inheritance or collections. The free class finds the gaps, and lessons start from there.

  • Level: Working professionals

    Help with Java at work

    You already work and need help with Java on the job: a feature, a bug, code you have to understand or a topic you never studied. Lessons work on the problems you bring, using examples or code you are allowed to share.

Where to go next

Java leads naturally into the Computer Science courses that university programmes build on it.

  • Object-Oriented Programming

    Design with classes, inheritance and interfaces, and draw UML before you code.

  • C++ Programming

    See how memory and pointers work underneath, in C and C++.

  • Programming Courses

    Compare Java with Python, JavaScript and the other programming courses.

Your Java tutor

Java classes are taught by the programming tutors below. Each profile is published with the tutor’s consent. When you get in touch, we suggest a tutor who suits your level, your course and your timetable.

  • Portrait of Ali Sher Abbasi, tutor at My Subject Hub

    Ali Sher Abbasi

    Tutor at My Subject Hub

    • BS (Computer Science)
    • DSA certification
    Teaching experience
    5 years
    Teaching languages
    English and Urdu
    Computer science and programming
    • Programming Fundamentals
    • C and C++
    • Java
    • JavaScript and Web Development
    • Object-Oriented Programming
    • Data Structures and Algorithms
    • Advanced Computer Science
    • Cybersecurity Fundamentals
    • FYP Mentoring
    School and college subjects
    • Mathematics
    • Science, Physics, Chemistry and Biology
    • English
    • Urdu
    Teaching approach
    Friendly and patient. Daily tasks and assignments, with quizzes to check progress, and we move to the next topic only when the previous one is crystal clear.
    Curricula and boards
    All curricula and boards
    Online availability
    Any time that suits the student
See all tutors

Course fee

Python, JavaScript, C++, Java and C. One flat monthly fee per course, whatever the number of classes a week.

International
⁦$60⁩a month
Saudi Arabia
⁦SAR 180⁩a monthIncludes the 20% discount for students in Saudi Arabia

Object-Oriented Programming, Data Structures and Algorithms and Cybersecurity use the monthly plans, like academic subjects.

See all fees and plans

Questions · 8

Java course questions

The questions students and parents ask us most, filed where you can find them. Pull a card to read it.

Can Java be my first programming language?

Yes. Many universities teach Java first. It asks for a little more structure than Python at the start, such as classes and types, but the tutor explains each piece as it appears.

Compare with the Python course

Is Java the same as JavaScript?

No. They are different languages with similar names. Java is compiled and strongly typed, and is common in university courses, Android and server software. JavaScript runs web pages in the browser.

Read about the JavaScript course

Which IDE will I use?

Whichever your course uses, such as IntelliJ IDEA, Eclipse, NetBeans or BlueJ. If you have no requirement, the tutor helps you install a free JDK and IDE in the first lesson.

Will this course help with my OOP course?

Yes. The later topics cover classes, inheritance, interfaces and polymorphism in Java. Our separate Object-Oriented Programming course then goes further into design and UML.

Read about the Object-Oriented Programming course

Do you teach Android development?

This course teaches the Java language, which Android apps are built on. For a mobile app in your project or course, tell us what you are building and we confirm what the tutor can cover. For cross-platform apps we teach React Native on the JavaScript course.

How long does it take to learn Java?

There is no fixed length. It depends on where you start, how many lessons you take each week and what your course requires. The tutor suggests a plan after the free class. The fee is ⁦$60⁩ a month (⁦SAR 180⁩ in Saudi Arabia), whatever the number of classes a week.

See fees and plans

Can you help if I already use Java at work?

Yes. The course covers every level, from complete beginners to people who already work with Java. Bring the problem you are stuck on: a bug, a feature, code you have to understand or a topic you never studied. Use examples or code you are allowed to share, and the tutor works through it with you.

Can I ask for a female tutor?

Yes. Female tutors are available on request, and so are male tutors. Tell us your preference when you get in touch, and we confirm a matching tutor before the free class.

Not in the drawer? Send us your question and we reply within 24 hours.

Ask us

Book a free introductory Java class

Meet the tutor, write and run a short Java program together, and agree where to start. Fill in the form and we will arrange a time.

What happens next

  1. We reply within 24 hours, on WhatsApp or by email.
  2. You agree a time for the free 30-minute class with the tutor.
  3. In the class the tutor checks your level, you write a little code together, and you get a suggested starting point.
  4. There is no obligation to continue after the free class.

Tell us about the student

Only the name, the student’s level and one way to reach you are required. Everything else is optional.

About the student
How we can reach you

A contact number with country code, an email address, or both. We need at least one to reply; email is fine if you would rather not share a number.

Class preferences(optional)
Preferred tutor(optional)

We use these details only to reply to you and arrange classes. How we handle your information