What is Java?
Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a general-purpose programming language intended to let application developers write once, run anywhere (WORA), meaning that compiled Java code can run on all platforms that support Java without the need for recompilation.
Key Features of Java
- Simple: Java is designed to be easy to learn. If you understand the basic concept of OOP Java, it would be easy to master.
- Object-Oriented: Everything in Java is an object. Java can be easily extended since it is based on the Object model.
- Platform-Independent: Java code is compiled into bytecode that can run on any machine with a Java Virtual Machine (JVM).
- Secure: Java has built-in security features that help protect against viruses and tampering.
- Robust: Java has strong memory management, exception handling, and type checking mechanisms.
- Multithreaded: Java supports multithreading, which allows the execution of multiple threads simultaneously.
- High Performance: Java performance is impressive for an interpreted language, thanks to the use of Just-In-Time (JIT) compilers.
- Distributed: Java is designed for the distributed environment of the internet.
- Dynamic: Java is capable of adapting to an evolving environment. Java programs can carry extensive amounts of runtime information that can be used to verify and resolve accesses to objects on runtime.
History of Java
Java was developed by James Gosling at Sun Microsystems (which has since been acquired by Oracle) and released in 1995. The language was initially called Oak after an oak tree that stood outside Gosling's office. Later, the project went by the name Green and was finally renamed Java, from Java coffee, a type of coffee from Indonesia.
Java Editions
Java is available in three main editions:
- Java Standard Edition (SE): This is the core Java programming platform. It provides all the APIs needed to build general-purpose applications.
- Java Enterprise Edition (EE): This builds on Java SE and provides APIs for enterprise features such as distributed computing and web services.
- Java Micro Edition (ME): This is a subset of Java SE, designed for mobile devices and embedded systems.
Java Development Kit (JDK)
The JDK is a software development kit used to develop Java applications. It includes the Java Runtime Environment (JRE), an interpreter/loader (Java), a compiler (javac), an archiver (jar), a documentation generator (Javadoc), and other tools needed for Java development.
Components of JDK
- JRE (Java Runtime Environment): Provides libraries, Java Virtual Machine (JVM), and other components to run applications written in Java.
- JVM (Java Virtual Machine): An abstract machine that enables your computer to run a Java program. When you run a Java program, the JVM is responsible for converting the bytecode into machine-specific code.
- Development Tools: Includes tools like the compiler (javac), the archiver (jar), and the documentation generator (Javadoc).
Hello World Program
Let's start with a simple "Hello, World!" program in Java to understand the basic structure of a Java application.
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } }
Explanation
- public class HelloWorld: This line declares a public class named
HelloWorld
. In Java, every application must have at least one class definition. - public static void main(String[] args): This is the main method, which is the entry point of any Java application. The
main
method must bepublic
,static
, andvoid
. - System.out.println("Hello, World!");: This line prints the string "Hello, World!" to the console.
System.out
is a standard output stream.
Practical Exercise
Exercise 1: Write a Simple Java Program
Task: Write a Java program that prints your name and your favorite programming language.
Solution:
public class MyIntroduction { public static void main(String[] args) { System.out.println("My name is John Doe."); System.out.println("My favorite programming language is Java."); } }
Common Mistakes
- Missing Semicolon: Every statement in Java must end with a semicolon (
;
). Forgetting this will result in a compilation error. - Case Sensitivity: Java is case-sensitive. For example,
System
is different fromsystem
. - Class Name and File Name: The class name must match the file name. For example, if your class is named
HelloWorld
, the file should be namedHelloWorld.java
.
Conclusion
In this lesson, we introduced Java, its key features, history, and editions. We also discussed the Java Development Kit (JDK) and wrote a simple "Hello, World!" program to understand the basic structure of a Java application. In the next lesson, we will set up the development environment to start writing and running Java programs.
Java Programming Course
Module 1: Introduction to Java
- Introduction to Java
- Setting Up the Development Environment
- Basic Syntax and Structure
- Variables and Data Types
- Operators
Module 2: Control Flow
Module 3: Object-Oriented Programming
- Introduction to OOP
- Classes and Objects
- Methods
- Constructors
- Inheritance
- Polymorphism
- Encapsulation
- Abstraction
Module 4: Advanced Object-Oriented Programming
Module 5: Data Structures and Collections
Module 6: Exception Handling
Module 7: File I/O
Module 8: Multithreading and Concurrency
- Introduction to Multithreading
- Creating Threads
- Thread Lifecycle
- Synchronization
- Concurrency Utilities
Module 9: Networking
- Introduction to Networking
- Sockets
- ServerSocket
- DatagramSocket and DatagramPacket
- URL and HttpURLConnection