JavaRush
AI Academy
new
Promotion
Learning
Courses
Tasks
Quizzes
Games
Help
Schedule of nudges
Internship
Community
Users
Forum
Chat
Articles
Success stories
Activities
Reviews
Subscriptions
Light theme

Lectures

  • Reviews
  • About us
  • CS50
Start
Start learning
Start learning
  • My progress
  • Courses
  • Quest map
  • Lectures
  • package and folders: how code gets an “address” in a project

    Kotlin SELF
    17 level,0 lecture
    Let’s break down why Kotlin needs package, how a logical namespace differs from the physical folder structure, how the “fully qualified name” of declarations is formed (for example, app.main), why a file is not a scope, and how to correctly lay out a Gradle project across directories like src/main/kotlin. At the end, you’ll see a practical scheme for splitting the mini-project “Guess the Number” into packages and common mistakes.
    Open
  • import and alias — bringing names in and resolving conflicts

    Kotlin SELF
    17 level,1 lecture
    We break down why Kotlin needs import and fully qualified names, why you don’t import a “file” but a specific name and only within a single .kt. We learn to avoid the non-obviousness of star import, and also resolve name conflicts using alias imports via as (for example, mathRound, prettyAmount). We reinforce it with a mini-refactoring of the training app BudgetBuddy.
    Open
  • Gradle and build.gradle.kts: dependencies and the build model

    Kotlin SELF
    17 level,2 lecture
    We break down how Gradle organizes the build of a Kotlin/JVM project: what tasks ( tasks) are, and why running from an IDE usually boils down to executing a task like run. You’ll learn to read build.gradle.kts configuration as a set of blocks ( plugins, repositories, dependencies, application), add libraries via implementation(...), and distinguish that from import in code. We also discuss versions, metadata ( group/ version), common mistakes, and the need for Gradle Sync when you see Unresolved reference.
    Open
  • Program startup: args, environment variables, and working directory

    Kotlin SELF
    17 level,3 lecture
    We break down the “external parameters” of launching a Kotlin/JVM program: how to read command-line arguments via main( args: Array<String>), how to safely parse numbers with toIntOrNull() and set defaults with the ?: operator, how to get environment variables with System.getenv and account for null, and why it is useful to diagnose the working directory via System.getProperty( "user.dir"). At the end — a source-priority diagram and common mistakes.
    Open
  • Building a JAR: artifact, entry point, and running outside the IDE

    Kotlin SELF
    17 level,4 lecture
    We break down what a build artifact on the JVM is and why JAR is a “package” containing the compilation result; how Kotlin turns a top-level fun main into a JVM class like MainKt; how the entry point works via META-INF/MANIFEST.MF and the Main-Class field; where to find the file in build/libs; and how to run an app without an IDE, taking into account arguments, environment variables, and the working directory.
    Open
Learn
  • Registration
  • Java course
  • Help with tasks
  • Pricing
Community
  • Users
  • Articles
  • Forum
  • Chat
  • Success stories
  • Activities
Company
  • About us
  • Contacts
  • Reviews
  • FAQ
  • Support
JavaRushJavaRush — is an interactive online course for learning Java programming from scratch. It contains 1200 practical tasks with one-click solution checking, the necessary minimum of theory on Java basics, and motivating features that help you complete the course: games, quizzes, interesting projects and articles on effective learning and the career of a Java developer.
Follow us
Язык интерфейса
Русский
English
Українська
"Programmers are not born" © 2026 JavaRush
MastercardVisa
"Programmers are not born" © 2026 JavaRush