|
Java quickly became a hot buzzword of the computing industry. People wanted to know
Java - it was said to be great for creating dynamic interactive content for webpages. Yet
the true power of Java lies not in applets, but in its many other uses. Java is used for
developing standalone applications, and for server-side programming. The face of Java has
changed, but the core language remains the same. In this tutorial series, I'll teach you
the basics of Java programming. You'll still need a good
book as a companion to this tutorial series, but for those who are dabbling in Java,
this should be enough to get your feet wet.
Before I begin to cover the basics of Java programming, I should point out that Java is
an object-orientated language, and may not be suitable for first time programmers.
Learning a new language takes some time, but learning your first object-orientated
language can be exceedingly difficult. Nonetheless, if you've done some C programming
before, the shift into Java shouldn't be unreachable, providing you obtain a good
reference book. There are also those that believe programmers should start with an
object-orientated language first, and many universities have adopted this practice. Still,
you've been fairly warned :)
This tutorial will presume that you have some basic programming knowledge, particularly
in C, as it will not be covering such principles as sequence, selection and repetition. If
you are unsure on ' for ' loops, or complex ' if ' statements, I'd suggest coming back
here at a later point.
Application or Applet?
Java software comes in several flavors - the most common being the stand-alone
application, and the applet. Web developers may have come across the term applet before,
and perhaps even used one. An applet is an piece of software code that runs under the
control of a web browser, as distinct from the application which requires an interpreter.
Applets are commonly used to enhance the interactivity of a web page, and deliver
client-side content. Applets run in their own frame, and can display graphics, accept
input from GUI components, and even open network connections. Due the potential security
risks associated with running applets from external and potentially malicious sources,
most web browsers limit file access, and impose additional restrictions on applets (such
as only being able to connect to the hostname from which the applet was downloaded).
Fortunately, stand-alone applications have no such restrictions, and a full range of
functionality is provided for in the way of pre-written Java classes. Stand-alone
applications can run as a console application (writing text to the screen or terminal
window), or they can have a graphical user-interface, by opening a new window or dialog
box. You've used applications before, such as word processors, text editors, and games.
The Java language is capable of all this things.
Since stand-alone applications offer more freedom to the programmer, and applets
running under a browser often demonstrate a certain degree of instability depending on the
platform under which it is run, this tutorial series will concentrate primarily upon the
stand-alone application.
The first thing required for writing stand-alone Java applications is a java
compiler/interpreter. While there are commercial offerings available, such as Visual J++
and Borland JBuilder, a freely available SDK is available from Sun, the original creators
of the Java language. It contains a compiler, interpreter, debugger, and more. I highly
recommend using the latest version of Sun's Java Development Kit (JDK). You should
download the JDK from http://java.sun.com.
After downloading and installing the Sun Java SDK for your required platform (Windows
95, NT, or Solaris), its time to write, compile, and run your first Java application - the
obligatory "Hello World".
class myfirstjavaprog { public static void main(String args[]) { System.out.println("Hello World!"); } }
Listing 1.0 - myfirstjavaprog.java
The source file above should be saved as myfirstjavaprog.java, using any standard text
editor capable of saving as ASCII (eg - Notepad, Vi). As an alternative, you can download
the source for this tutorial. class myfirstjavaprog
{
public static void main(String args[])
{
System.out.println("Hello World!");
}
}
To compile your first java application, enter the following (assuming that the java
directory is in your path) :
javac myfirstjavaprog.java
Javac is a compiler included with Sun's JDK. It translates the source file into Java
byte-codes. While Java is an interpreted language, it is reduced into byte-codes which are
interpreted by a Java virtual machine (in much the same way assembly language / machine
code for older computing systems can be executed by emulator software). The compiler
stores these byte-codes in a ' .class ' file. To execute the application, the Java
interpreter will run this ' .class ' file.
java myfirstjavaprog
If everything goes according to plan, the message "Hello World!", followed by
a newline should appear on your terminal/screen. You've just compiled and executed your
first application.
How it works
For those new to object-orientated programming, the concept of a class will be new to
you. We defined a new class, called myfirstjavaprog. Simplistically, a class is the
definition for a segment of code that can contain both data (called attributes) and
functions (called methods).
When the interpreter executes a class, it looks for a particular method by the name of
main, which will sound familiar to C programmers. The main method is passed as a parameter
an array of strings (similar to the argv[] of C), and is declared as a static method (more
on this in a later tutorial).
To output text from the program, we execute the ' println ' method of System.out, which
is Java's output stream. Unix users will appreciate the theory behind such a stream, as it
is actually standard output. For those who are instead used to the Wintel platform, it
will write the string passed to it to the user's screen.
That wraps it up for this first part of the introduction to Java tutorial
series. In the next tutorial, we'll cover some more object-orientated principles, and
extend your knowledge of the Java language and syntax. |