Java Tutorial to Learn Java Programming
1. Java Tutorial – Objective
In this Java tutorial, we are going to learn about java evolution, development of Java language, java features, Java frameworks, and Java support systems. Java tutorial covers various development tools, classes in Java programming, and Java methods which comprises the Java environment. This tutorial on Java will help you get a quick insight into the Java programming language and thus, help you learn java language.
So, let’s start Java programming for beginners.
2. What is Java Programming Language?
Java Programming is a general-purpose object-oriented programming language, designed for the development of software for consumer electronic devices such as TVs, VCRs, toasters, etc.
Java Programming Language is a platform neutral language, which means it is not tied to any particular hardware or operating system. It guarantees users to ‘write once, run anywhere’. Java language is supported by almost every operating system such as Sun Solaris, RedHat, Windows etc.
The Java programming language was developed by Sun Microsystems of the USA in 1991, it was originally called Oak by James Gosling, who was one of the inventors of the language. The main goal for the developers was to make the language highly reliable, portable and simple.
The team for the development of Java language included Patrick Naughton, who discovered that the existing languages such as C and C++ had some major drawbacks in terms of reliability and portability. They modeled the new language Java on C and C++ while removing some features which they considered as constraints. This made Java a really simple, portable and powerful language. To learn java basics, let’s revise Java syntax.
3. Java Tutorial – History of Java
There is a chronicle of events that occurred during the whole course of development of the Java Programming language.
- 1990 – A team of Sun Microsystems programmers decided to develop a special software to manipulate consumer electronic devices. The team headed by James Gosling
- 1991 – The team studied various languages present at that time, viz., C and C++ and announced the new language to “Oak”.
- 1992 – The team at Sun known as Green Project demonstrated the application of their new language. For example, to control a list of home appliances using a hand device with the tiny touchscreen.
- 1993 – The World Wide Web came to the internet and transformed the text-based Internet into the graphical rich environment. The Green Project team came up with an idea of developing Web applets (tiny programs) that could run on all types of computers connected to the internet.
- 1994 – The team developed a web browser called “HotJava” to locate and run applet programs on the internet. This made it immensely popular amongst the internet users.
- 1995 – Oak was renamed as “Java”, due to some legal snags. Java is a name, no acronym.
- 1996 – Java programming was established as the leader for internet programming and also as a general-purpose object-oriented programming language. Sun releases Java Development Kit 1.0.
- 1997 – Sun releases Java Development Kit 1.1 (JDK 1.1)
- 1998 – Sun releases the Java 2 with version 1.2 of the Software Development Kit (SD K 1.2)
- 1999 – Sun releases Java 2 platform, Standard Edition (J2SE) and Enterprise Edition (J2EE)
- 2000 – Release ofJ2SE with SDK 1.3.
- 2002 – The release of J2SE with SDK 1.4.
- 2004 – The release of J2SE with JDK 5.0 (instead of JDK 1.5), known as J2SE 5.0.
- 2006 – The release of Java SE 6.
- 2011 – The release of Java SE 7.
- 2014 – The release of Java SE 8.
- 2017 – The release of Java SE 9.
4. Java Tutorial – Features of Java Programming
The main goal of the inventors was to design a language which could offer solutions to the problems encountered in modern programming. The goal being the language to reliable, portable and distributed and at the same time simple, compact and interactive.
Let’s discuss some Features of Java Programming:
a. Compiled and Interpreted
Java language combines both of these approaches thus making Java a two-stage system. This approach was never offered before, as any language before was either compiled or interpreted.
Firstly, Java compiler translates source code into bytecode instructions, bytecodes are not machine instructions.
Secondly, Java interpreter generates machine code that can directly execute by the machine that is running the Java program.
b. Independent and Portable
Java programs can easily move from one system to another, anywhere and anytime. Changes or any upgrade in the operating system, processors and system resources will not force any changes in Java programs.
Java programming ensures portability in two ways: firstly, Java compiler generates bytecode instructions that can implemente on any machine, and secondly, the size of the primitive data types are machine independent.
Almost everything in Java language is an object, which makes it a true object-oriented language. All program code and data reside within objects and classes. Java comes with an extensive set of classes, arranged in packages, which are used in program inheritance.
d. Robust and Secure
Java language provides many safeguards to ensure reliable code. It has strict run-time checking for data types. It is designed as a garbage collected language, i.e., it captures series errors and eliminates any risk of crashing the system.
Java systems verify all the memory access and thus ensures that no virus is communicated with an applet.
Java programming facilitates both, sharing of data and programs. Java applications can open and access remote objects on Internet as easily as on any local system.
f. Simple, Small and Familiar
Java is a simplified version of C++, which is why it is familiar and yet different as it eliminates all the redundant and unreliable code. For example, Java does not use pointers, preprocessor header files, and many others. It also eliminates operator overloading and multiple inheritances in Java.
g. Multithreaded and Interactive
Multithreaded means handling different tasks simultaneously. Java language supports multithreaded programs, which means that we need not have to wait for one task to finish for another to start. This feature of Java programming greatly improves the interactive performance of graphical applications.
h. High Performance
Java programming performance is very impressive considering the fact that is an interpreted language, mainly because of the bytecodes. Java architecture is designed to reduce overheads.
i. Dynamic and Extensible
Java is a dynamic language, it is capable of dynamically linking in new class libraries, methods, and objects. It can also determine the type of class through query.
j. Ease of Development
Java 2 standard edition (J2SE) 5.0 supports features such as Generics, Enhanced for loop, autoboxing or unboxing, typesafe enums, varargs, static import and annotation. These java features make it easy for the Java programmer by shifting the responsibility of creating the reusable code to the compiler, and also the resulting code is free from bugs.
k. Scalability and Performance
J2SE 5.0 improves the startup time and reducing the amount of memory used in Java 2 runtime environment. Learn more features of Java.
5. Java Tutorial – C vs Java vs C++
a. C vs Java
The major difference between C vs Java Programming language is that Java is an Object Oriented language and has a mechanism to define classes and objects in java. The features of C which are not included in Java are:
- No unique statement keywords of C size and typedef.
- No data types such as struct and union.
- Java does not define the type modifier keywords such as auto, extern, register, signed and unsigned.
- No support for pointer type.
- Non-availability of preprocessor
- Java requires that the function with no argument must declare with empty parenthesis and with the void keyword.
- New Java operators such as instanceof and >>>.
- Java programming has label break and continue statements.
b. Java vs C++
The main difference between c++ vs Java is that Java is a true Object-oriented language while C++ just adds an object-oriented extension to C. The increment operator in C++ indicates the same thing.
The list of features, below intentionally omit from Java language to make it better.
- No support for operator overloading.
- No template classes as in C++.
- A new feature called “interface” in Java programming and thus not supporting multiple inheritances.
- Java language does not support global variables.
- Java uses a finalize () function instead of the destructor function.
- There are no header files in Java programming.
6. Java Tutorial – Java Language and the Internet
The Java Programming is often called Internet language because the first application program written in Java was HotJava, a Web browser to run applets on the Internet. Internet users can use Java to create applets and run them locally using HotJava. A Java-enabled browser to download an applet located anywhere on the Internet can also use.
Java applets have made the Internet a true extension of the storage system on local computers. Internet users can also set up their websites containing Java applets that could use by remote users.
7. Java Tutorial – Java Programming and World Wide Web
World Wide Web (www), an information retrieval system where any information or file identify as Uniform source Locators (URLs) and are interlinked via hypertext links. WWW can access with the help of internet.
Internet and Java programming, both had the same philosophy and thus they were incorporated with each other easily. Java made it possible for the World Wide Web to support animation, graphics, games, and a wide range of special effects.
To communicate with any web page, Java uses APPLETs. The steps involved are –
- The user requests for a hyperlink document to remote computer’s web server. (a web server receives, processes, and sends the requested document)
- The document contains the APPLET tag, which identifies the applet.
- Java source code file compiles the bytecode for that applet, which is then transferred to user’s computer.
- The browser which is enabled by Java programming then interprets the bytecode and provides the output.
8. Java Tutorial – Support Systems
The operations of Java language and Java-enabled browsers on the internet requires a variety of support systems, namely,
- Internet Connection
- Web server
- Web Browser
- HTML- A language for creating hypertext for the web.
- APPLET tag
- Java code
- Proxy Server-an intermediate server between the requesting client workstation and the original server.
- Mail Server
9. Java Tutorial – Java Environment
It includes a large number of java development tools and java classes and methods.
The Java development tools are part of the system known as Java Development Kit (JDK) and the classes and the methods in Java are a part of the Java Standard Library (JSL), also known as the Application Programming Interface (API).
a. Java Development Kit
Java Development Kit includes-
- appletviewer (for viewing Java applets)
- javac (Java compiler)
- java (Java interpreter )
- javap (Java disassembler)
- javah (for C header files)
- javadoc (for creating HTML files)
- jdb (Java debugger)
b. Application Programming Interface
The Java Standard Library includes classes and packages, some most commonly used packages are-
Language Support Package- A collection of Java classes and methods required for implementing basic features of Java.
- Utility Package- To provide java utility functions.
- Input/output Package– For java input/ output manipulation.
- Networking Package– For communicating via the internet.
- AWT Package- The abstract window toolkit package contains classes that implement platform independent graphical user interface.
- Applet Package- It allows to create Java applets.
c. Java Runtime Environment
It facilitates the execution of Java programs, comprising-
Java Virtual Machine (JVM) – It interprets the intermediate Java bytecode and generates the desired output.
- Runtime class libraries- These are a set of core Java class libraries for execution of the java program.
- User interface toolkits- Used for interaction with the Java application program.
- Deployment technologies
1)Java plugin- Enables the execution of a Java applet.
2) Java Web start- Enables an application to directly launch from the web browser without installing. Learn more about Java Datatypes and Java Modifiers.
10. Java Tutorial – Constructs
So, this was all about Java Tutorial. Hope you like our explanation on Java Programming Langauge.
11. Java Tutorial – Conclusion
Finally, in this Java tutorial, we learned about the history of Java programming language, java features, how java is different from C and C++, how it incorporates in World Wide Web with help of Web browsers and the environment required for running Java applications. Furthermore, if you have any query, feel free to ask in the comment box.
See also- Best Java Book