Hello World in Java (Windows)
This guide explains how to configure a Java programming environment
on Windows
,
create and compile a Java program in IntelliJ,
and run it from the command line.
You will need a 64-bit version of Windows 10 or 11 on Intel/AMD x64 hardware.
(We also have an experimental installer for Windows ARM64.)
|
0. Install the Java Programming Environment
|
The installer configures
OpenJDK 21,
IntelliJ IDEA, OSS Edition 2026.2,
and the course tools and libraries.
-
Sign in to the Windows account you will use for programming.
The account must have administrator privileges.
-
Download the Windows installer.
-
Double-click the downloaded installer.
Enter your Windows password when prompted and accept the default options.
Warning
If you have previously customized IntelliJ,
run the installer only if you want a clean reinstall.
It replaces IntelliJ IDEA, OSS Edition and
its associated user settings.
The installer also performs a clean reinstallation of Git Bash,
which will overwrite any previous user settings, including .bashrc.
-
After installation, delete lift-java-installer-x64.exe or
lift-java-installer-arm64.exe.
You may also delete IntelliJ IDEA CE.exe, if present; it has been
superseded by IntelliJ IDEA, OSS Edition.
|
1. Open a Project in IntelliJ
|
You will develop your Java programs in IntelliJ,
which organizes programs into projects.
In our context, each project corresponds to one programming assignment
and contains source files, data files, and course-specific settings.
-
Download the project for your programming assignment to a convenient location
(such as the Desktop).
[ sample project for COS 126 (Princeton) ]
[ sample project for COS 226 (Princeton) ]
[ sample project for Computer Science: Programming with a Purpose (Coursera) ]
[ sample project for Algorithms, Part I or II (Coursera) ]
To extract the ZIP file, right click it and select Extract All.
This creates a project folder with the
name of the corresponding programming assignment (such as hello).
You may delete the ZIP file.
Warning
Each project contains course-specific information.
Be sure to download the project for your institution and course.
-
To launch IntelliJ, click the Start button and type “IntelliJ IDEA, OSS Edition 2026.2”.
-
When you launch IntelliJ for the first time,
-
It may display the
JetBrains privacy policy.
Scroll down and Accept.
- It may ask if you want to send anonymous usage
statistics to JetBrains. Choose your preferred option.
- It will display the Welcome to IntelliJ IDEA
screen.
-
To open a project from the Welcome to IntelliJ IDEA screen,
click Open and select the project folder.
You should see an assignment logo (in the main editor window) and a list of
project files (in the Project View sidebar at left).
If you don't see the Project View sidebar,
select LIFT → Project (Ctrl + 1) to toggle it on.
Warning
Open the project folder, not an individual file
Do not select
New Project, which is intended for advanced programmers.
-
When you are finished working, select
File → Exit to exit IntelliJ.
The next time you launch IntelliJ, your recent projects
will appear in the Welcome to IntelliJ IDEA screen for easy access.
|
2. Create a Program in IntelliJ
|
Now you are ready to write your first Java program.
IntelliJ provides syntax highlighting, bracket matching,
automatic indentation and formatting, automatic imports, variable renaming,
and continuous code inspection.
-
To create a new Java program:
- Reopen IntelliJ and the project (if you closed it in the previous step).
-
Select the project name in the left Project View sidebar.
If you don't see the Project View sidebar,
select LIFT → Project (Ctrl + 1) to toggle it on.
-
Select LIFT → New Java Class.
Enter HelloWorld as the Name and press Return.
-
In the main editor window, complete
HelloWorld.java so that
it matches the code below.
Note that IntelliJ generates the gray boilerplate code automatically.
A missing semicolon will prevent the program from compiling.
public class HelloWorld {
// prints "Hello, World"
public static void main(String[] args) {
System.out.println("Hello, World");
}
}
|
-
As you type, IntelliJ highlights different syntax,
inserts matching brackets, and indents new lines.
-
Select File → Save All (Ctrl + S) to save and, if necessary,
reformat your code.
IntelliJ also saves automatically before events such as
as compiling, running, closing a project, or quitting.
|
3. Compile and Execute the Program (from IntelliJ)
|
Before Java can execute (or run) your program,
it must compile the source code.
-
Select the program that you wish to compile and run in the Project View sidebar.
The program should now appear in the main editor window.
-
To compile your program,
select LIFT → Recompile 'HelloWorld.java' (Ctrl + B).
If compilation succeeds, a confirmation appears in the status bar.
If it fails, the Recompile panel opens at the bottom and lists any
errors or warnings.
Check your program carefully for typos, using the error messages as a guide.
-
To run your program,
select LIFT → Run 'HelloWorld' with Arguments (Ctrl + E).
Because the program takes no command-line arguments, click OK without entering any.
You should see the output of the program (highligted in white below),
along with a message that the program finished normally (with exit code 0).
Tip
Use the LIFT menu to compile and run your program from IntelliJ.
The Build and Run menus support additional options for advanced programmers.
Before using the LIFT menu, click inside the editor window to make it active.
|
4. Compile and Execute the Program (from the command line)
|
The command line provides a simple and powerful way to control programs
using command-line arguments, file redirection, and piping.
IntelliJ includes an embedded terminal
for convenient access.
-
Select LIFT → Terminal (Alt + 2).
-
This opens an embedded
Git Bash terminal.
You will see a command prompt that looks something like this:
~> Active code page: 65001
~/Desktop/hello is the current working directory;
~ denotes your home directory.
-
To compile your program,
type the following
javac command
(highlighed in yellow below).
~> javac HelloWorld.java
~>
If HelloWorld.java is in the current directory
and contains no errors,
the javac command produces no output.
-
To run your program,
type the following
java command:
~> java HelloWorld
Hello, World
You should see the output of your program beneath the line on which you typed the command.
Tip
For routine work, compile compile in IntelliJ,
which identifies errors by line,
and run from the command line,
which makes command-line arguments and file redirection easier.
|
5. Textbook Libraries (from the command line)
|
To make our textbook libraries accessible to Java from the command line,
you will use our wrapper scripts.
-
Computer Science: An Interdisciplinary Approach (including COS 126 students).
The program
Barnsley.java
uses our standard drawing and standard random libraries
in
stdlib.jar to draw a
Barnsley fern.
When you run the program, the standard drawing window opens
and generates the image one point at a time.
To get your command prompt back, close the standard drawing window.
-
Algorithms, 4th Edition (including COS 226 students).
The program
CollidingDisks.java
uses classes from
algs4.jar
to simulate the motion of n disks subject to the laws
of elastic collision.
Download
CollidingDisks.java
and move it to a project folder (such as hello).
Then compile and run it by typing the following commands:
~> ls
CollidingDisks.java COS 226.iml WELCOME.txt logo.png
~> javac-algs4 CollidingDisks.java
~> java-algs4 CollidingDisks 20
When you run the the program, the standard drawing window opens
and animates 20 colliding disks.
To get your command prompt back, close the standard drawing window.
|
Frequently Asked Questions
|
Expand All
Collapse All
-
I installed IntelliJ and Java using
lift-java-installer-x64.exe last semester or year.
Should I run the installer again this semester?
-
Yes. This installer includes IntelliJ
and Java 21.
The old installer may have used an earlier version of
IntelliJ or Java. Be sure to uninstall the old
version before proceeding.
-
I wrecked some of my IntelliJ settings.
Can I rerun the installer to restore the settings?
-
Yes.
However, the proper way to reinstall software on Windows is to completely
uninstall it and then to reinstall it.
So, first, uninstall the software; then, run lift-java-installer-x64.exe.
-
How can I uninstall the software?
-
- To uninstall everything,
navigate to
C:\Program Files\LIFT-CS
and launch the uninstaller unins000.exe.
- To uninstall only IntelliJ, navigate to
C:\Program Files (x86)\JetBrains\IntelliJ IDEA, OSS Edition 2026.2\bin;
right click the uninstaller Uninstall.exe;
and select Run as administrator.
-
Can I run the installer using Run as administrator?
-
No. You must run the installer from an account in which you wish to program,
and that account must have Administrator privileges.
If you use Run as administrator,
the installer will not know the original user’s identity (so it can’t copy
files to the original user’s home directory).
-
The installer failed. How can I investigate why?
-
Check the installer logs at
%TEMP%\LIFT-CS\
and
%TEMP%\Setup Log YYYY-MM-DD #NNN.txt,
where
%TEMP% is typically
C:\Users\<Username>\AppData\Local\Temp,
YYYY-MM-DD is the current date,
and NNN is an integer.
-
My machine is running Windows 8. Is that too old?
-
Yes. IntelliJ 2026.2 requires Windows 10 or 11.
-
How long will the installer take to complete installation?
-
After downloading, installation should take about two minutes.
The progress bar will not move while it installs the IntelliJ component,
so please be patient.
-
What does the lift-java-installer-x64.exe installer do?
-
In short, it installs and configures
Java, IntelliJ,
Git Bash,
Xming,
SpotBugs,
PMD,
Checkstyle,
and our textbook libraries,
along with accompanying command-line tools.
Here is a more detailed list:
-
How is the software licensed?
-
All of the included software is licensed under various open-source licenses.
-
What’s the SHA-256 checksum of lift-java-installer-x64.exe?
-
2461f3ef187aa3dfd1fb5de8f000265a50fdb83de28d6e7ee41dea435495da7e
-
How can I run the installer from the command line?
-
lift-java-installer-x64.exe accepts
optional command-line arguments,
which can be useful to system administrators.
-
Can I use a different Java or version?
-
Yes.
You may use any version of Java 11 or newer from either Oracle or OpenJDK.
If you do, you may need to configure the Platform SDK and Project SDK manually in
IntelliJ under File → Project Structure.
We recommend using long-term support (LTS) versions: Java 11, Java 17, Java 21, and Java 25.
-
How can I check which version of Java is installed (and where it is installed)?
-
Type the following commands in the terminal:
~> javac -version
javac 21.0.11
~> java -version
openjdk version "21.0.11" 2026-04-21 LTS
OpenJDK Runtime Environment Temurin-21.0.11+10-LTS (build 21.0.11+10-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.11+10-LTS (build 21.0.11+10-LTS, mixed mode, sharing)
~> which javac
c/Program Files/Eclipse Adoptium/jdk-21.0.11.10-hotspot/bin/javac
~> which java
c/Program Files/Eclipse Adoptium/jdk-21.0.11.10-hotspot/bin/java
With the default installation,
javac and java
should both report version 21.
-
How does this customized version of IntelliJ different from the standard one?
-
IntelliJ
is an industrial-strength integrated development environment (IDE),
suitable for use by professional programmers.
The installer configures your user preferences to make it
more suitable for use by novice programmers:
- Disables all built-in plugins except Terminal and JUnit.
Installs the SpotBugs, Checkstyle-IDEA,
Run-with-Arguments,
Save-Actions,
and Archive browser plugins.
- Eliminates or reduces various pop-up elements
(lightbulbs, code folding, breadcrumbs, gutter markers, notifications, parameter hints).
- Simplifies menus and toolbars, hiding advanced options.
- Disables live templates and postfix completion.
- Adopts the Obsidian Black color scheme.
- Configures Java automatically.
- Adds a few keyboard shortcuts.
The course-specific project folders provide additional customizations:
- Streamlines autocomplete to display only relevant libraries
(such as
java.lang,
java.util, and algs4.jar).
- Configures SpotBugs and Checkstyle with course-specific rules.
- Provides course-specific libraries (such as
algs4.jar).
- Enables automatic formatting of code on save.
- Enables automatic importing of Java libraries.
-
How can I manually configure the Platform SDK and Project SDK in IntelliJ?
-
The installer should configure the Platform SDK automatically.
To configure it manually,
- Navigate to File → Project Structure → Platform Settings → SDKs.
- Click the + symbol (upper left) to add an SDK.
- Select the JDK installation directory. A typical location for a JDK on
Windows is
C:\Program Files\Java\jdk21.0.11.
- Use the shorthand name suggested by IntelliJ
(e.g., 21 for version 21.0.11).
To manually configure the Project SDK,
- Navigate to File → Project Structure → Project Settings → Project.
- Choose the desired Project SDK from the drop-down list.
- Be sure to use 21 as the Project language level, as our autograder
currently supports only Java 21 features.
-
Where should I store my projects?
-
Store projects on a local drive (not a network drive, cloud-synced folder, or SMB share).
Create one course folder with a separate subfolder for each assignment.
-
Are ther any special characters to avoid when naming IntelliJ projects or files?
-
Do not end the name of a project folder (or any enclosing directory) with an
exclamation mark (
!);
doing so confuse IntelliJ and Checkstyle.
-
How can I create a new project in IntelliJ?
-
If you want to inherit all of the properties of an existing project,
- Use Windows Explorer to copy the project folder,
giving it your preferred name.
- Delete any unwanted files.
- Be sure to keep
the
.iml file (which defines the project),
the .idea subdirectory (which contains
the IntelliJ course preferences), and
the .lift subdirectory (which contains the course
libraries).
To create a new project from scratch, you can use the New Project option from the
Welcome screen. But, we do not recommend this approach for novice programmers.
-
What are the most important IntelliJ menu options to remember?
-
Here are the most important ones (and their shortcuts).
- LIFT → New Java Class (Ctrl + N). Create a new Java class.
- LIFT → Recompile (Ctrl + B). Compile the current program.
- LIFT → Run with Arguments (Ctrl + E). Run the current program with command-line arguments.
- File → Save All (Ctrl + S). Save (and reformat) all open files.
- View → Tool Windows → Project (Alt + 1). Show/hide the Project View sidebar.
- View → Tool Windows → Terminal (Alt + 2). Show/hide the Terminal window.
-
Can I use a version of IntelliJ that is newer than 2026.2?
-
Yes, though if it is 2026.3 (or above),
you will need to migrate your user preferences.
-
How can I restore the original IntelliJ settings
(instead of the custom novice-friendly ones)?
-
- To restore the menus and toolbars: Settings → Appearances & Behavior → Menus and Toolbars → Restore All Defaults.
- To restore all settings: File → Manage IDE Settings → Restore Default Settings.
-
When I compile or run a program from the command line that uses one of the
textbook libraries, I get an error that it cannot find the library. How can I fix this?
-
Make sure that you are using the appropriate wrapper script,
such as
javac-algs4
or java-algs4.
- When I open the IntelliJ embedded terminal, IntelliJ either launches
the wrong version of Bash (such as WSL Bash on MinGW Bash)
or produces an error message (such as "couldn't create PTY error").
How can I fix this?
- Navigate to File → Settings → Tools → Terminal → Shell path
and replace
bash with
"C:\Program Files\Git\bin\bash.exe".
- I get an error when I try to use run a wrapper script (such as
javac-algs4 or java-introcs).
How can I fix this?
- IntelliJ is probably launching the wrong shell (such as Command Prompt,
PowerShell, WSL Bash, or MinGW Bash).
To reconfigure to use Git Bash, follow the instructions in the previous question.
- International characters appear garbled in the terminal. What could cause this?
- When you launch the terminal, you should see the message
Activation code page: 65001,
which configures the terminal to displays Unicode characters using UTF-8.
If you don't see this message, you are probably using the wrong version of Bash (such as WSL Bash or MinGW Bash).
To reconfigure to use Git Bash, follow the instructions in the previous question.
-
How should I configure Bash?
-
If you followed our instructions, our wrapper scripts (such as
javac-algs4 and
java-algs4)
should already be available.
The installer configures Bash by copying
.bashrc,
.bash_profile, and
.inputrc.
If you accepted the default installation options, no additional configuration is required.
-
How do I break out of a program in an infinite loop?
-
Type
Ctrl-C.
-
How do I specify EOF to signal that standard input is empty?
-
On macOS and Linux, press
Enter, then Ctrl-D.
On Windows, press Enter, Ctrl-Z,
and then Enter, even in Git Bash.
-
How can I run SpotBugs, PMD, and Checkstyle from the command line?
-
The installer includes wrapper scripts to simplify this process.
-
To run SpotBugs 4.8.4, type the following command in the terminal:
~> spotbugs HelloWorld.class
Running spotbugs on HelloWorld.class:
The argument must be a list of .class files.
Here is a list of
bug descriptions.
-
To run PMD 6.34.0, type the following command in the terminal:
~> pmd HelloWorld.java
Running pmd on HelloWorld.java:
The argument must be either a single .java file or
a directory containing one or more .java files.
Here is a list of
bug patterns.
-
To run Checkstyle 10.26.1, type one of
the following commands in the terminal, depending on whether you are COS 126, COS 226,
or Coursera student:
~> checkstyle -cos126 HelloWorld.java
Running checkstyle on HelloWorld.java:
~> checkstyle -cos226 HelloWorld.java
Running checkstyle on HelloWorld.java:
~> checkstyle -coursera HelloWorld.java
Running checkstyle on HelloWorld.java:
The argument must be a list of .java files.
Here is a list of
available checks.
-
Can I use the Command Prompt, PowerShell, or Windows Subsystem for Linux
instead of Git Bash for Windows?
-
We strongly recommend Git Bash. For example, the commands
javac-algs4 and
checkstyle-algs4
will work only in Git Bash. If you want to use another shell, you’ll need
to configure it yourself.
-
Which Linux-style commands are available in Git Bash for Windows?
-
Here are the Bash built-in commands
and here are the external commands
in
C:\Program Files\Git\usr\bin.