Saturday, January 5, 2013

Java Programming Quickstart in Ubuntu 12.04


I simply love working in Ruby and Python. It's easy to quickly write code in pretty much any dynamically-typed language. Yet, I feel a little nostalgic when I see programs written in C++ or Java. So, I'm trying to spend a little bit more of my time exploring object oriented programming in these statically-type languages.

At times, I forget how to get started writing, compiling, and running Java programs. So, here's a little reminder of how to do it.

Install Java

Feel free to install any version of the Java JDK. I'll be using OpenJDK:
sudo apt-get install openjdk-6-jdk

Write Some Java Code

We'll start by writing a simple Hello World program in a file named HelloWorld.java:
class HelloWorld {
  public static void main(String[] args) {
    System.out.println("Hello World!");
  }
}
Be sure to name the file HelloWorld.java! The Java compiler requires the name of the file to be the same as the name of the clas. By following this convention, the compiler will automatically handle how classes in separate files reference each other. Also, each file can only have one public class. It makes sense to name the file after your public class so it can easily be referenced. More information can be found in this PDF.

The Java interpreter starts by executing a class' main() function. So, we define a static function named main in our HelloWorld class. The interpreter will execute our code and print "Hello World!" to the screen.

Compile and Run the Code

In the terminal, we compile the code using the javac command:
javac HelloWorld.java
This turns our Java code into bytecode the interpreter can understand. A new file named HelloWorld.class will be created in the current directory.

Now, we're finally ready to run the code! Just tell the Java interpreter to load our compiled bytecode:
java HelloWorld

> Hello World!
Voila! I'm sure most Java programs will be far more complex than this. So, I recommend using a full-fledged IDE like Netbeans or Eclipse. For people who are just learning the Java language, this is a great way to get started!

2 comments: