JavaRush/Courses/Java Course

Java Course

The legendary Java course that helped millions start programming. Master Java from scratch: from basic syntax to multithreading and working with collections. 4 major quests, 40+ levels and over 1200 tasks with automated grading. The course is so effective that recruiters often ask in interviews: "What is your level on JavaRush?"
4.9
4400+ reviews
30k graduates started careers in IT
Detailed training program
  • Commands and the first program
  • Introduction to types and console input
  • Conditional statement
  • Loops
  • Working in Intellij IDEA, debugging
  • Arrays
  • Functions
  • Data types
  • Useful nuances
  • Working with strings
  • Objects
  • Classes and static
  • Collections, Generics
  • Collections, part 2
  • Exceptions
  • I/O streams
  • Working with date and time
  • Introduction to OOP
  • Lambda expressions
  • Game-style tasks on JavaRush
  • OOP basics: core principles, inheritance, encapsulation
  • OOP basics: overloading, polymorphism, abstraction, interfaces
  • Interfaces: comparison with abstract class, multiple inheritance
  • Type casting, instanceof. Large task on interfaces
  • Method overloading, specifics of constructor invocation
  • Introduction to threads: Thread, Runnable, start, join, interrupt, sleep
  • Introduction to threads: synchronized, volatile, yield
  • Introduction to streams: InputStream/OutputStream, FileInputStream, FileOutputStream
  • Introduction to streams: Reader/Writer, FileReader/FileWriter
  • Serialization
  • Object structure: equals, hashCode, clone, wait, notify, toString()
  • String: mutable, immutable, format, StringTokenizer, StringBuilder, StringBuffer
  • Inner classes, examples: Map.Entry
  • Inner classes, implementation details
  • Creating and stopping threads: start, interrupt, sleep, yield
  • Concurrent access to shared data: synchronized, volatile
  • Deadlock. wait, notify, notifyAll
  • ThreadGroup, ThreadLocal, Executor, ExecutorService, Callable. Experience with Jsoup
  • Autoboxing, implementation specifics
  • Operators: arithmetic, logical and bitwise. Experience with Swing
  • Working with files and archives
  • RMI and dynamic proxy. Experience with Swing
  • JSON, JavaScript. Experience with Guava, Apache Commons Collections, JUnit
  • Recursion. Garbage collection and reference types in Java. Logging
  • Version control systems: Git and SVN. Generics
  • Core patterns for building web applications. Advanced study of collections
  • Design patterns. Utility classes: Arrays, Collections
  • Development methodologies. Annotations in Java. Exception hierarchy
  • Creating the first web application. Working with Tomcat and IntelliJ IDEA
  • URI, URL. REST services. Creating your own client-server application
  • Course completed!
600+
Lectures
1200+
Tasks
20
Tests
Also:
  • Instant validation
  • AI mentor
  • IDE plugin
  • WebIDE
  • Gamification
  • Motivational lectures