We may earn an affiliate commission when you visit our partners.
Course image
John Purcell

This course assumes no prior programming knowledge, just a desire to learn to program.

Enroll now

What's inside

Syllabus

Introduction
Introducing the Java for Complete Beginners course, and what you need to install in order to get started. Don't worry too much about what this stuff we're installing actually does --- we'll look at that next time.
Read more

Create a simple Java program with Eclipse.

Variables are one of the most basic essential building blocks of computer programs. We'll take a look at Java's basic types of variables here.

The String class allows you to work with text in Java.

In this tutorial we'll look at how to create loops in your code so that you can execute the same lines of code repeatedly.

"For" loops allow you to control exactly how many times your loop executes.

A tutorial on how to get user input in your program using the Scanner class.

Classes (and objects) can contain data and subroutines, the latter being referred to as "methods". We'll look at methods here.

Note: there's a little error right at the end here -- I copied person1.sayHello() but didn't change it to person2 ..

Abstract classes allow you to define the parent class of a new hierarchy without having to worry about the user actually instantiating the parent. For instance you could create an "Animal" class just to act as the basis for "Dog", "Cat, "Sheep" and so on, even defining some functionality in "Animal", but at the same time preventing the user of your hierarchy from trying to create an "Animal" object (which after all wouldn't make much sense -- you never encounter an abstract "animal" in the real world; only particular kinds of animals).

A tutorial on how to implement the .equals method for your own classes.

http://www.caveofprogramming.com/java/inner-classes/
Source code: http://www.caveofprogramming.com/java/enum/
Recursion is a programming technique that allows you to solve certain kinds of problems very elegantly. It involves calling a method from itself. Crazy!
Source code: http://www.caveofprogramming.com/java/recursion/

We can serialize entire arrays (or ArrayLists) just as easily as single objects. I'll also show you a good trick for serializing multiple objects individually in this tutorial, plus we'll talk a bit about type erasure.

To finish off the stuff about serialization, we'll take a look at the transient keyword, plus a few things that might catch you out.

Java only supports one method of passing values to methods, unlike, e.g. C++. We'll take a look at exactly how argument passing works in this tutorial (note: source code attached to this lecture; for other lectures, see the source attached to the final lecture).

If you want to add items efficiently to somewhere in a list other than the beginning or end, you need a linked list.

IMPORTANT NOTE: I had misunderstood something when making this video, as pointed out to me by "kidbabic" on YouTube among others. If you add or insert something to a LinkedList by specifying an index, the list has to iterate over all items in itself up to that point in order to find the insertion/deletion point. So adding or removing to LinkedList is only faster if you use an iterator, which you have ready pointing at the correct point. See the tutorial on iterators later on for more info.

If you want to use objects of your own classes in sets, or you want to use them as the keys in maps, you need to do a couple of little things ....

A tutorial on the most important new feature in JDK 8. Note, source code attached to this lecture. Source code for most other lectures is attached to the final lecture in this course.

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Teaches essential programming concepts, including variables, data types, and control flow
Provides a comprehensive introduction to Java programming for absolute beginners
Taught by an experienced instructor with a strong reputation in Java education
Covers fundamental Java programming concepts in a clear and concise manner
Suitable for students with no prior programming experience
Provides hands-on practice through exercises and examples

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Solid introduction to core java

According to learners, this course provides a positive and solid foundation for those with no prior programming experience. Many highlight the clear explanations and the instructor's ability to make complex topics understandable. The course covers a broad range of fundamental Java concepts, which students found effective for building a beginner's skill set. However, some reviews indicate that while the lectures are good, there is a need for more practice exercises or projects to solidify understanding. The pace was also mentioned as occasionally inconsistent, moving too fast through certain areas for some beginners. Overall, it's seen as an excellent starting point.
Covers a wide range of core Java topics.
"The course covers all the essential Java topics from variables to collections."
"I liked the breadth of the material covered, including object-oriented concepts."
"From basic syntax to exceptions and interfaces, it touches on many key areas."
"The syllabus structure is logical, building upon previous lessons."
Provides a strong base in Java fundamentals.
"This course gave me a great foundation in Java programming."
"It covers all the basics needed to start writing Java code."
"I feel confident in the core concepts after completing this tutorial."
"A perfect starting point for anyone wanting to learn Java from scratch."
Instructor presents topics clearly.
"The instructor explains the concepts in a very clear and concise way."
"His explanations are easy to follow, even for someone completely new to programming."
"I really appreciated how the examples clarified the theory presented."
"The course material was very well-explained, making difficult concepts easier."
Some sections move too fast or slow.
"Some topics were covered very quickly, requiring me to rewatch the videos."
"The pace felt inconsistent; some lectures were very slow, others rushed."
"A few lectures could have been broken down further for absolute beginners."
"I sometimes struggled to keep up when new topics were introduced rapidly."
Lack of sufficient coding exercises/projects.
"While the explanations are great, I wish there were more hands-on coding challenges."
"Could use more practical exercises to reinforce the concepts taught in the videos."
"I needed to find external practice problems to feel I was truly grasping the material."
"Adding more projects would make this course even better."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Java Tutorial for Complete Beginners with these activities:
Complete Java for Complete Beginners: Part 1 in Udemy
Start with a comprehensive Java tutorial to build a solid foundation for this course by introducing the Java for Complete Beginners course from Udemy.
Show steps
  • Enroll in the Java for Complete Beginners course on Udemy.
  • Watch the first video in the course.
  • Complete the exercises in the first video.
Read Head First Java, 2nd Edition
Gain a comprehensive understanding of Java fundamentals by reading this highly acclaimed book, which provides a unique and engaging learning experience.
Show steps
  • Purchase or borrow Head First Java, 2nd Edition.
  • Read the first chapter.
  • Complete the exercises in the first chapter.
Create a simple Java program
Reinforce your understanding of Java basics by creating a simple program that utilizes variables, data types, and operators.
Browse courses on Java Programming
Show steps
  • Set up your Java development environment.
  • Create a new Java project.
  • Write a simple Java program that prints "Hello, world!"
  • Compile and run your program.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Practice using loops in Java
Improve your grasp of flow control by practicing the use of loops in Java.
Browse courses on Java Programming
Show steps
  • Create a Java program that uses a for loop to print the numbers from 1 to 10.
  • Create a Java program that uses a while loop to print the numbers from 10 to 1.
  • Create a Java program that uses a do-while loop to print the numbers from 1 to 10.
Attend a Java programming workshop
Immerse yourself in Java programming by attending a workshop that provides hands-on experience and expert guidance.
Browse courses on Java Programming
Show steps
  • Find a Java programming workshop in your area.
  • Register for the workshop.
  • Attend the workshop and actively participate in the activities.
Complete Intermediate Java Programming in Udemy
Deepen your understanding of Java by exploring intermediate concepts, such as object-oriented design and data structures in this Udemy course.
Browse courses on Java Programming
Show steps
  • Enroll in the Intermediate Java Programming course on Udemy.
  • Watch the first video in the course.
  • Complete the exercises in the first video.
Build a Java application with a graphical user interface
Apply your Java skills to create a practical application with a user-friendly graphical interface.
Browse courses on Java Programming
Show steps
  • Design the user interface for your application.
  • Create the Java code for your application.
  • Compile and run your application.
Mentor a beginner Java programmer
Solidify your knowledge by mentoring someone new to Java programming, providing guidance and support as they embark on their learning journey with Java.
Browse courses on Java Programming
Show steps
  • Identify a beginner Java programmer who would benefit from your mentorship.
  • Schedule regular meetings to provide guidance and support.
  • Share your Java programming resources and materials.

Career center

Learners who complete Java Tutorial for Complete Beginners will develop knowledge and skills that may be useful to these careers:
Software Engineer
Software Engineers design, develop, and maintain software systems. Java is a popular programming language used for software engineering projects and is used by many software engineers in their work. This course will provide you with a solid foundation in Java programming and will help you get started with a career in software engineering. The course covers topics such as variables, data types, operators, control flow, and methods. You will also learn how to use Java to create a simple software application.
Software Developer
The Java Tutorial for Complete Beginners can help you develop the skills necessary to become a successful Software Developer. This online course covers the basics of Java programming and will teach you how to create your own Java programs. As you progress through the course, you will learn about variables, data types, operators, control flow, and methods. You will also learn how to write Java code to read input from the keyboard and write output to the screen. Upon completion of this course, you will have a solid foundation in Java programming and will be prepared to start a career as a Software Developer.
Web Developer
There is a high demand for Web Developers with Java skills. This course provides a solid introduction to Java and can help you get started with a career in web development. Java is used for the server-side of web development, and is used by many popular websites and web applications. This course will teach you the basics of Java programming and will provide you with the skills you need to get started with web development. The course covers topics such as variables, data types, operators, control flow, and methods.
Cloud Architect
Cloud Architects design and implement cloud computing solutions. Java is a popular programming language used by cloud architects in their work. This course will provide you with a solid foundation in Java programming and will help you get started with a career as a Cloud Architect. The course covers topics such as variables, data types, operators, control flow, and methods. You will also learn how to use Java to design and implement a simple cloud computing solution.
Computer Systems Analyst
Computer Systems Analysts design and implement computer systems. Java is a popular programming language used by computer systems analysts in their work. This course will provide you with a solid foundation in Java programming and will help you get started with a career as a Computer Systems Analyst. The course covers topics such as variables, data types, operators, control flow, and methods. You will also learn how to use Java to design and implement a simple computer system.
Mobile Application Developer
Java is a popular programming language used to develop mobile applications for Android devices. This course will teach you the basics of Java programming and will provide you with the skills you need to get started with mobile application development. The course covers topics such as variables, data types, operators, control flow, and methods. You will also learn how to use Java to create a simple Android application.
Systems Analyst
Systems Analysts design and implement computer systems. Java is a popular programming language used by systems analysts in their work. This course will provide you with a solid foundation in Java programming and will help you get started with a career as a Systems Analyst. The course covers topics such as variables, data types, operators, control flow, and methods. You will also learn how to use Java to design and implement a simple computer system.
Computer Programmer
Software development is the process of designing, creating, and maintaining computer programs. Programmers work on a wide variety of projects, from small personal applications to large enterprise systems. Regardless of the size or purpose of the project, nearly all programmers use some form of programming language to write code. Java is a general-purpose programming language that is used for a wide variety of software development projects. This course will provide you with a solid foundation in Java programming, which will help you get started in a career as a Computer Programmer. Many entry-level programming jobs require a bachelor's degree in Computer Science or a related field, but the skills you learn in this course can help you prepare for a career in programming.
IT Consultant
IT Consultants help businesses with their technology needs. Java is a popular programming language used by IT Consultants in their work. This course will provide you with a solid foundation in Java programming and will help you get started with a career as an IT Consultant. The course covers topics such as variables, data types, operators, control flow, and methods. You will also learn how to use Java to solve common business problems.
Database Administrator
Database Administrators manage and maintain databases. Java is a popular programming language used by database administrators in their work. This course will provide you with a solid foundation in Java programming and will help you get started with a career as a Database Administrator. The course covers topics such as variables, data types, operators, control flow, and methods. You will also learn how to use Java to manage and maintain a simple database.
Network Administrator
Network Administrators manage and maintain computer networks. Java is a popular programming language used by network administrators in their work. This course will provide you with a solid foundation in Java programming and will help you get started with a career as a Network Administrator. The course covers topics such as variables, data types, operators, control flow, and methods. You will also learn how to use Java to manage and maintain a simple computer network.
Information Security Analyst
Information Security Analysts protect computer systems and networks from security threats. Java is a popular programming language used by information security analysts in their work. This course will provide you with a solid foundation in Java programming and will help you get started with a career as an Information Security Analyst. The course covers topics such as variables, data types, operators, control flow, and methods. You will also learn how to use Java to protect a computer system or network from security threats.
Software Quality Assurance Analyst
Software Quality Assurance Analysts test and evaluate software to ensure that it meets quality standards. Java is a popular programming language used by software quality assurance analysts in their work. This course will provide you with a solid foundation in Java programming and will help you get started with a career as a Software Quality Assurance Analyst. The course covers topics such as variables, data types, operators, control flow, and methods. You will also learn how to use Java to test and evaluate software.
Technical Writer
Technical Writers create documentation for software and other technical products. Java is a popular programming language used by technical writers in their work. This course will provide you with a solid foundation in Java programming and will help you get started with a career as a Technical Writer. The course covers topics such as variables, data types, operators, control flow, and methods. You will also learn how to use Java to write clear and concise documentation.
Data Scientist
Data Scientists use programming languages to analyze data and extract insights from it. Java is a popular programming language used for data science and is used by many data scientists in their work. This course will provide you with a solid foundation in Java programming and will help you get started with a career in data science. The course covers topics such as variables, data types, operators, control flow, and methods. You will also learn how to use Java to read data from files and databases and how to perform basic data analysis tasks.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Java Tutorial for Complete Beginners.
A collection of best practices and design patterns for Java programming. It provides practical advice on how to write clean, efficient, and maintainable code.
A collection of best practices and design principles for software development. It provides practical advice on how to write clean, efficient, and maintainable code.
A comprehensive guide to design patterns in Java. It provides practical advice on how to use design patterns to write clean, efficient, and maintainable code.
A comprehensive guide to refactoring code. It provides practical advice on how to improve the design and quality of your code.
A comprehensive guide to concurrency and multithreading in Java. It covers a wide range of topics, from basic concepts to advanced techniques.
A comprehensive reference guide for Java programming that covers a wide range of topics, from basic syntax to advanced concepts. It valuable resource for both beginners and experienced programmers alike.
A comprehensive guide to concurrency and multithreading in Java. It covers a wide range of topics, from basic concepts to advanced techniques.
A beginner-friendly introduction to Java programming that covers the basics of the language and its key concepts. It is written in a humorous and engaging style, making it a good choice for those who are new to programming.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser