Your First Java Program: From the Beginning

Welcome to CS 1331! If this is your first time using Java, then you will probably find this tutorial quite useful. The point of this guide is to help you install and configure the Java Virtual Machine, set up any path settings, and install an Integrated Development Environment (IDE). It will also guide you through writing and running a Java program.


 
Java Installation Overview (Win) (Mac)
Configuring the Java Virtual Machine (Win) (Mac)
Overview and Installation of IDEs (Win) (Mac)
Writing a Java Class (Win) (Mac)
Compiling / Running your Java code (Win) (Mac)

 


Java Installation Overview - Windows Only

This part will cover installation of the newest version of Java, 6.0, on your computer. First, however, you must check to be sure that you have no previous version of Java installed and, if you do, you must uninstall it before continuing. So first we will check for previous installations.

Let's begin by opening up your Control Panel. Double click on "My Computer", and from the menu along the left panel of the window, select "Control Panel."

Important! Once the Control Panel comes up, check the left panel again. If there is an option there called "Switch to Classic View," select it now. Otherwise, if it says "Switch to Category View," leave it alone.

Now, select the "Add or Remove Programs" icon from the list - it should be one of the first couple ones across the top. From the list of programs that then pop up, scroll downward and look for any program(s) with the name "Java SE Development Kit" in it. If you find one or more, note the version number. If the version number is different than 6, you will need to uninstall those Java programs before continuing. You can do this by selecting the programs and clicking the "Change/Remove" button that appears and following the directions. If the version number is 6, then you can skip the rest of this installation chapter, as you have the newest version of Java running! If there is no Java installation listed, or you have already uninstalled a previous installation, simply keep reading!

The next step will be to download Java itself! You have a few options on where to locate a working copy of Java. The first option is off the CD that comes with your Lewis & Loftus Java book. Installing it is simple enough--follow the instructions for the installer and you should be good to go. Note, however, that Java is not actually on the CD. Rather, it will come from the internet, so make sure that your computer has a network connection when you pop in the CD.

Your second option is to download Java off the Internet manually. Go to the Java download page at http://java.sun.com/javase/downloads/index.jsp and look for the "Java SE Development Kit (JDK) 6 Update 17" option. Click "Download". Choose your platform and language, read through the license agreement and click "Continue". Be sure you are downloading the JDK and not "Java SE Runtime Environment (JRE) 6 Update 17".

Now you will be at the download page. Here, you will have a few choices of the computer types to choose from. As a Windows user, you will have a choice of downloading and installing Java directly off the Internet, or downloading the installer itself and installing Java without needing an Internet connection. The full online installation uses much less hard drive space, but the choice is up to you. Both should be nearly identical in process.

Save the file in a place that you will remember, sit back, and wait!

Once the download is complete, you should navigate through your file system to whatever folder you actually downloaded the Java SDK installer into and double-click on the file. You'll pretty much just follow on the onscreen instructions, and you can also most likely leave all the values at their defaults. However, at some point it may ask you about multiple language support (which is up to you) as well as web browser support. Whatever web browser you use, make sure you check its box, as this will allow that browser to view applets.

Congratulations! You've installed Java. Now to configure it!


Java Installation Overview - Macintosh Only

Getting set up with Java on your Mac depends on what version of OS X you're running

  • Snow Leopard (Mac OS X 10.6.x): you already have Java 6 installed, so should be good to go. If running
    java -version
    in Terminal produces
    java version "1.6.0_17"
    Java(TM) SE Runtime Environment (build 1.6.0_17-b04-248-10M3025)
    Java HotSpot(TM) 64-Bit Server VM (build 14.3-b01-101, mixed mode)
    then you already have Java 6 installed (notice the 1.6.0_17)

  • Leopard (Mac OS X 10.5.x): your machine probably came with Java 5. You should upgrade to Java 6, since that is the version the class will be using.

  • Tiger (Mac OS X 10.4.x): you need to install Java 6. Please follow the directions at http://developer.apple.com/java/download/.

Note: On the Mac, there is an application that you run to select which of the downloaded versions of java you will actually be using. It's called "Java Preferences" and is in /Applications/Utilities/.

Java preferences - Mac

If you have an entry for "Java SE 6", drag it to the top of both lists. Leaving J2SE 5.0 as the top entry is also ok but if you only have J2SE 1.4.2, you will need to upgrade to either Java 5 or 6.

Now that Java is installed, we will configure it!



Configuring the Java Virtual Machine - Windows Only

Now we need to set up the path environment variables so you can compile and run your programs from the command line.

Want to do all of this automatically?
Then run this program to automatically configure your paths for the JVM, and none of the other steps for this section are required! Warning: program tested on XP only.

This section isn't so much about configuring the VM itself, as it is setting up Windows to recognize exactly where the VM is. First, you will need to find the path of the Java executables. Locate the folder with the Java installation on your computer by opening My Computer, then (assuming you installed it in the default location) navigate to C:\Program Files\Java. You should see one or more folders; find the one starting with "jdk" with the highest number (it's probably jdk1.6.0_11). Open that folder, then find the bin folder inside. Open the bin folder and look for a program called "javac" or "javac.exe". If you see the program, you've found the correct folder. The full path should be something similar to C:\Program Files\Java\jdk1.6.0_11\bin. Copy your path to your clipboard or memorize it.

Now you will need to set your environment variable with the value of the path that you just found. For Vista users, click the Start button and type "C:\Windows\System32\SystemPropertiesAdvanced.exe" into the search box (without the quotation marks). Click the "Environment variables..." button. Skip down in this guide to the "Updating your Path" section to modify your path.

For XP users, you must once again access the Control Panel:

1) Click on "My Computer."
2) On the left side near the middle of the panel, click "Control Panel."

Again, if the next window that comes up says "Pick a Category" across the top, click the "Switch to Classic View" option to the right of it.

Now, click on the "System" icon. This should bring up a tabbed "System Properties" window.  Click on the "Advanced" tab.


Near the bottom of the window will be a button with the title "Environment Variables"

Updating your Path

From the list of variables on the bottom, highlight the one that says "PATH"

Click the "Edit" button, then in the "Variable Value" field, put a semicolon ( ; ) at the end of whatever is already there, and then type or paste the Java path you found earlier. Again, it should be similar to:

C:\Program Files\Java\jdk1.6.0_11\bin

(Note: if you did not install the latest JDK from Sun's website, the path will NOT be the same as above. In this situation, please use the automated program listed above to set up your environment variables or go to your Program Files\Java folder and look for the most recent jdk as mentioned above)

Click ok, close any command prompts you might have open, and your system should be able to find the Java VM after you open a new command prompt. You can test by opening a command prompt and typing "javac"...if it says "not recognized as an internal or external command", it isn't working yet. If it doesn't work immediately, be sure all command prompts are closed, open a new one and try to run javac again. If that doesn't work, try rebooting (it usually works without rebooting though).




Configuring the Java Virtual Machine - Macintosh Only

If you have Java 5 or 6 on your machine, it is likely configured correctly to be used. If you aren't able to run java from the Terminal, you likely need to add /usr/bin to your path. Consult the documentation for your command shell in case you do not know how to modify your command path. For the most common shell, bash, the change would be to add the line

PATH=/usr/bin:$PATH
to your ~/.bashrc file.



Overview and Installation of IDEs

As mentioned earlier, IDE is short for Integrated Development Environment. Essentially, this means it's a nice and pretty and easy-to-use interface in order to write all your code and subsequently run, test, and debug your programs. You could, technically, develop all your code without an IDE. However, an IDE can greatly simplify many tasks, and for the purposes of this class, making it that hard on yourself won't help you in the least. Here is a quick summary of the more well-known IDEs out there.

An important note to remember: If you have never used an IDE before (examples listed in bold below), we strongly recommend using the IDE provided on the CD you can find in your book: JGrasp. Find its description in the list of IDEs below for information on where to find JGrasp if you do not have a copy of the CD in the book. Note that almost all the other IDEs have some quirks which make them tricky to use on our HW assignments, unless you really know what you are doing. Use them at your own risk!

JGrasp
JGrasp is a relatively simple IDE to use and has been designed to help out new java programmers. It comes with a built-in debugger, which you may find valuable a little later in the course. This will be the IDE this tutorial focuses on. This is also the IDE that CS 1331 officially supports. It can be found for download on the JGrasp website, but you can also install it directly off the CD that comes with your Java book. If you are a CS major, you might want to look into an IDE with a little more power, at least for future use. For the purposes of this class, this IDE and any others listed here will do just fine.

Eclipse
Probably the favorite among hardcore CS majors at Georgia Tech (ask any CS 2335 student), Eclipse is the ultimate in both power and configurability, sporting syntax and coding style correction plug-ins, graphical GUI editors, automatic code and javadoc completion functions, and dozens more with its extensive plug-in library. Its only downside is its learning curve, and its programming power far exceeds what you will need for this course. However, if you plan on taking more CS courses down the road, it is something you may at least want to have a look at eventually. It is available for free download off the Eclipse website.

NetBeans
This is the IDE which Sun offers in one of its downloads, packaged with the Java Software Development Kit. It is a significant step above JGrasp in terms of both learning curve and programming power, and also sports a graphical GUI builder, which can make GUI assignments much easier to accomplish. You can download NetBeans either from the Sun website, or from the NetBeans website.

JCreator
This is sometimes the favorite for some middle-of-the-road programmers. It is quite easy to use, has a very friendly interface, and has a free version that can be downloaded off the internet from the JCreator webpage. This IDE will satisfy the majority of programmers out there, from the beginners all the way up to most recreational programmers ("Wait, you mean people program for fun?..."). For most upper-end and corporate developers, however, it becomes relatively underpowered.

JBuilder
This IDE is along the same lines as NetBeans and is also available on numerous platforms. It boasts syntax-correcting help functions, easy plug-in capabilities with 3rd party Java packages, and some powerful project management capabilities. For the average programmer, this may be more than is needed, plus its learning curve is a tad steep. However, this will satisfy most high-end and corporate programmers. JBuilder can be downloaded off the JBuilder website. You may need to register to download JBuilder.


As an interesting side note, it is worth mentioning that it is entirely possible to write your Java files in plain text editors like Windows Notepad. Additionally, if you are of the more ambitious type, famed text editors like Emacs or vi (in which this help file was written!) can be used as well to generate your source code. In fact, many students prefer actually typing in code initially through some text editor such as Notepad, emacs, or vi and then opening that file in JGrasp. (But make sure not to use Word!) Once your source text file has been opened in an IDE, it can be edited in whatever ways you wish, compiled, and run.

 

Writing a Java Class - Windows/Macintosh Only

JGrasp: From the "File" menu, create a New Java file. This will create a new text area within the JGrasp window. You can try typing in the code below:

public class Test {
public static void main(String [] args) {
System.out.println("Hello!");
}
}

Now back to our original text window. You should have typed in the original example, and now you should save it. Go to "File" and select "Save As." Type in "Test.java" and save wherever you feel appropriate (as a good rule of thumb, save all your .java files for a single project in the same folder). Now, your window should look something like this:

An important thing to note, whatever you name the class must match the name on the .java file (your source code file.)

Now let's run it: from the "Compiler" menu, choose "Compile." The bottom part of jGrasp should display some info as the compiler compiles the code into bytecode. Should everything behave properly, you should eventually see a "process completed" output appear, signaling that compilation went fine and your bytecode is ready for execution. From the "Run" menu, select "Run," and you should see everything "Hello!" print out to the window! Experiment and change what is inside those parenthesis, recompile the file, and run it again.


Compiling and Running Java programs from the command prompt

It is important to know how to compile and run your code from the command line, as this is how the TAs will be grading all of your work. Before submitting your homework, it is highly recommended that you verify that your code compiles and runs from the command line.

Compiling/running on Windows Only:

To open up a command prompt, click the your "Start" button, and then click "Run." Type "cmd" and hit Enter, and a new window should pop up that is black and gray like an old-school computer terminal. You will need to navigate to the directory where you saved your .java files.

Type the command as you see it in the above image, but replacing everything after the backslash ( \ ) with the path to wherever you saved your .java files.

To compile the files, enter:

javac JavaClassNameHere.java

Where "JavaClassNameHere" is the name if your Java program. If you want to compile all the files in the current directory, enter:

javac *.java

To then run the compiled code, enter:

java JavaClassNameHere

(for the example Test.java class specified above, the command to run would be

java Test

Notice that you must specify the .java extension when you compile with javac, but not when you run the code with the java command.

Compiling/running on a Mac:

The procedure for compiling and executing java code from a command prompt is the same for all operating systems; the syntax for using java and javac are identical for Windows, Mac, and Unix (Linux) systems.

Open "Applications"->"Utilities"->"Terminal". This will open the command window. You will need to use the cd command to change folders so that you are in the folder where your saved your java code. An easy way to do this is to type "cd " (without the quotes) and then drag the icon (in Finder) of the folder that contains your java code onto the command line. This trick usually fills in the path to that folder for you. If it doesn't work, you type in the path to the folder where your code is, like this:

cd /Users/monica/Desktop/1331/

Once you change into the directory with your java code, then use these two commands to run your code:

javac Hello.java
java Hello