Online Free Java tutorials
Java programming language (object-oriented) is developed by Sun Microsystems. Java is a simple, scalable, general purpose object oriented programming language. This is a beginner java tutorial website covering java basics along with java source code.
I'll be making free java tutorials as often as possible to share my knowledge to learn the the java programming language. if you've ever read an online java tutorial from books, they spend a couple chapters explaining computers and how programs methodically work. I'm not going to do that. For getting started with java you'll have to have some basic understanding of the world of programming.
Characteristics of Java
Simple Reusable Portable (Platform Independent) Familiar Robust Secure High Performance Dynamic Threaded Interpreted.
A Java program is a collection of one or more java classes. A Java source file can contain more than one class definition and has a .java extension. Each class definition in a source file is compiled into a separate class file. The name of this compiled file is comprised of the name of the class with .class as an extension. Before we get on with the java online tutorial, I would recommend you to go through the Introduction to Java Section..
Java Architecture
The Java environment is composed of a number of system components. You use these components at compile time to create the Java program and at run time to execute the program. Java achieves its independence by creating programs designed to run on the Java Virtual Machine rather than any specific computer system.
· After you write a Java program, you use a compiler that reads the statements in the program and translates them into a machine independent format called bytecode.
· Bytecode files, which are very compact, are easily transported through a distributed system like the Internet.
· The compiled Java code (resulting byte code) will be executed at run time.
Java programs can be written and executed in two ways:
- Stand-alone application (A Java Swing Application)
- Applet which runs on a web browser (Example: Internet Explorer)
Java source code
Below is a java sample code for the traditional Hello World program.
Basically, the idea behind this Hello World program is to learn how to create a program, compile and run it. To create your java source code you can use any editor( Text pad/Edit plus are my favorites) or you can use an IDE like Eclipse.
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); }//End of main }//End of HelloWorld Class
Output
Hello World
ABOUT THE PROGRAM
I created a class named "HelloWorld" containing a simple main function within it. The keyword class specifies that we are defining a class. The name of a public class is spelled exactly as the name of the file (Case Sensitive). All java programs begin execution with the method named main(). main method that gets executed has the following signature : public static void main(String args[]).Declaring this method as public means that it is accessible from outside the class so that the JVM can find it when it looks for the program to start it. It is necessary that the method is declared with return type void (i.e. no arguments are returned from the method). The main method contains a String argument array that can contain the command line arguments. The brackets { and } mark the beginning and ending of the class. The program contains a line 'System.out.println("Hello World");' that tells the computer to print out on one line of text namely 'Hello World'. The semi-colon ';' ends the line of code. The double slashes '//' are used for comments that can be used to describe what a source code is doing. Everything to the right of the slashes on the same line does not get compiled, as they are simply the comments in a program.
Java Main method Declarations
class MainExample1 {public static void main(String[] args) {}}
class MainExample2 {public static void main(String []args) {}}
class MainExample3 {public static void main(String args[]) {}}
All the 3 valid main method's shown above accepts a single
String array argument.
Compiling and Running an Application
To compile
and run the program you need the JDK.
The JDK is distributed by Sun
Microsystems. The JDK contains documentation, examples, installation
instructions, Java class libraries and packages, and tools.
Download an editor like Textpad or EditPlus to type your
code.
When you save your
source code, you must save it with a .java extension. The name of the file must be the name of the
public class contained in the file. In the above case, it must be 'HelloWorld'
and the .java extension.
Steps for Saving, compiling and Running a Java
Step 1:Save the program With .java Extension, i.e. HelloWorld.java Step 2:Compile the file from DOS prompt by typing javac <filename>,i.e. javac HelloWorld.java Step 3:Successful Compilation, results in creation of HelloWorld.class containing byte code Step 4:Execute the file by typing java <filename without extension>, i.e. java HelloWorld This would print “Hello World” on your screen
Java Development Kit
The Java Developer's Kit is distributed by Sun Microsystems. The JDK contains documentation, examples, installation instructions, class libraries and packages, and tools
javadoc
The javadoc tool provided by Sun is used to produce
documentation for an application or program,
Jar Files
A jar file is used to group together related class
files into a single file for more compact storage, distribution, and
transmission.
PATH and CLASSPATH
The following are the general programming errors, which I think every beginning java programmer would come across. Here is a solution on how to solve the problems when running on a Microsoft Windows Machine.
1. 'javac' is not recognized as an internal or external command, operable program or batch file
When you get this error, you should conclude that your operating system cannot find the compiler
(javac). To solve this error you need to set the PATH variable.
How to set the PATH Variable
Firstly the PATH variable is set so that we can compile and execute Java Programs from any directory without having to type the full path of the command.
To set the PATH of jdk on your system (Windows XP), add the full path of the jdk<version>\bin directory to the PATH variable. Set the PATH as follows on a Windows machine:
a. Click Start > Right Click "My Computer" and click on "Properties"
b. Click Advanced > Environment Variables.
c. Add the location of bin folder of JDK installation for PATH in User Variables and System Variables. A typical value for PATH is:
C:\jdk<version>\bin (jdk<version is nothing but the name of the directory where jdk is installed)
If there are already some entries in the PATH variable then you must add a semicolon and then add the above value (Version being replaced with the version of
JDK). The new path takes effect in each new command prompt window you open after setting the PATH variable.
2. Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld
If you receive this error, java cannot find your compiled byte code file,
HelloWorld.class.
If both your class files and source code are in the same working directory and if you try running your program from the current working directory than, your program must get executed without any problems as, java tries to find your .class file is your current directory.
If your class files are present in some other directory other than that of the java files we must set the CLASSPATH pointing to the directory that contain your compiled class files.
CLASSPATH can be set as follows on a Windows machine:
a. Click Start > Right Click "My Computer" and click on "Properties"
b. Click Advanced > Environment Variables.
Add the location of classes’ folder containing all your java classes in User Variables.
If there are already some entries in the CLASSPATH variable then you must add a semicolon and then add the new value . The new class path takes effect in each new command prompt window you open after setting the CLASSPATH variable.
Java 1.5
The Java 1.5 released in September 2004. It is the largest revision to
Java so far.
Goals
Less code complexity
Better readability
More compile-time type safety
Some new functionality (generics, scanner)
New Features in Java 1.5
Enhanced for loop
Enumerated types
Autoboxing & unboxing
Generic types
Scanner
Variable number of arguments (varargs)
Static imports
Annotations