- Trail: Learning the Java Language
- Java Tutorial for Beginners
- Download Java
- Java Introduction
- Java Flow Control
- Arrays in Java
- Java OOPs
- Java Exception Handling
- Collections Framework
- Java References
- Java Programs
- Additional Topics
- What is Java?
- Why learn Java?
- Hello World Program
- Official Documentation
- Comments
- Java — Basic Syntax
- First Java Program
- Example
- Output
- Basic Syntax
- Java Identifiers
- Java Modifiers
- Java Variables
- Java Arrays
- Java Enums
- Example
- Output
- Java Keywords
- Comments in Java
- Example
- Output
- Using Blank Lines
- Inheritance
- Interfaces
- What is Next?
Trail: Learning the Java Language
This trail covers the fundamentals of programming in the Java programming language.
Object-Oriented Programming Concepts teaches you the core concepts behind object-oriented programming: objects, messages, classes, and inheritance. This lesson ends by showing you how these concepts translate into code. Feel free to skip this lesson if you are already familiar with object-oriented programming.
Language Basics describes the traditional features of the language, including variables, arrays, data types, operators, and control flow.
Classes and Objects describes how to write the classes from which objects are created, and how to create and use the objects.
Annotations are a form of metadata and provide information for the compiler. This lesson describes where and how to use annotations in a program effectively.
Interfaces and Inheritance describes interfaceswhat they are, why you would want to write one, and how to write one. This section also describes the way in which you can derive one class from another. That is, how a subclass can inherit fields and methods from a superclass. You will learn that all classes are derived from the Object class, and how to modify the methods that a subclass inherits from superclasses.
Numbers and Strings This lesson describes how to use Number and String objects The lesson also shows you how to format data for output.
Generics are a powerful feature of the Java programming language. They improve the type safety of your code, making more of your bugs detectable at compile time.
Packages are a feature of the Java programming language that help you to organize and structure your classes and their relationships to one another.
Java Tutorial for Beginners
This java tutorial would help you learn Java like a pro. I have shared 1000+ tutorials on various topics of Java, including core java and advanced Java concepts along with several Java programming examples to help you understand better.
All the tutorials are provided in a easy to follow systematic manner. It is for everyone, whether you are a college student looking for learning Java programming for free, or a company employee looking for a particular code snippet while building an application in Java, this Java tutorial would definitely be useful for you. Happy learning!
Download Java
Download Java from official website: link
Java Introduction
- Introduction to Java
- History of Java
- Features of Java
- C++ vs Java
- JDK vs JRE vs JVM
- Java Virtual Machine(JVM) Basics
- First Java Program
- Variables in Java
- Java Data Types
- Java TypeCasting
- Java Operators
Java Flow Control
Arrays in Java
Java OOPs
- OOPs Concepts
- Constructor in Java
- Java String
- Java StringBuffer
- Java StringBuilder
- Java Inheritance with example
- Method overloading in Java
- Method overriding in Java
- Method Overloading vs Method Overriding
- Polymorphism in Java
- Aggregation in Java
- Association in Java
Java Exception Handling
Collections Framework
Java References
Includes collection of guides on various java classes and methods with examples.
Java Programs
Additional Topics
- Java Varargs
- Java Scanner
- Java I/O
- Java Enum
- Java Annotations
- Java Regex
- Java Multithreading
- Java Serialization
- Java AWT Tutorial
- Java Swing Tutorial
- Java autoboxing and unboxing
- Java 8
- Java 9
What is Java?
Java is an object oriented programming language developed by Sun Microsystems in early 1990 by developers James Gosling, Mike Sheridan and Patrick Naughton.
In 1991 James Gosling and his friends formed a team called Green Team to further work on this project. The original idea was to develop this programming language for digital devices such as television, set-top box, remote etc. Later this idea was dropped and Java is developed for internet programming.
Why learn Java?
Java Programming language has several features which other programming languages don’t have. Java receives updates regularly which makes it more robust and future proof. Lots of new features are added on every Java release. There are several features of Java, some of them are:
- Platform independent: Java doesn’t depend on the operating system. For example, a program written on Mac OS can run on Windows and vice versa.
- Easy to learn: Syntax is easy and there are lot of tutorials available online including the one which you are currently reading.
- Performance: Java is significantly faster than other traditional interpreted programming languages. Compiled java code which is known as byte code is like a machine code, that allows a faster execution. Java uses Just in Time compiler which can execute the code on demand, this allows to execute only the method that is being called, which makes it faster and efficient.
Hello World Program
Official Documentation
Comments
Java — Basic Syntax
When we consider a Java program, it can be defined as a collection of objects that communicate via invoking each other’s methods. Let us now briefly look into what do class, object, methods, and instance variables mean.
- Object − Objects have states and behaviors. Example: A dog has states — color, name, breed as well as behavior such as wagging their tail, barking, eating. An object is an instance of a class.
- Class − A class can be defined as a template/blueprint that describes the behavior/state that the object of its type supports.
- Methods − A method is basically a behavior. A class can contain many methods. It is in methods where the logics are written, data is manipulated and all the actions are executed.
- Instance Variables − Each object has its unique set of instance variables. An object’s state is created by the values assigned to these instance variables.
First Java Program
Let us look at a simple code that will print the words Hello World.
Example
public class MyFirstJavaProgram < /* This is my first java program. * This will print 'Hello World' as the output */ public static void main(String []args) < System.out.println("Hello World"); // prints Hello World >>
Let’s look at how to save the file, compile, and run the program. Please follow the subsequent steps −
- Open notepad and add the code as above.
- Save the file as: MyFirstJavaProgram.java.
- Open a command prompt window and go to the directory where you saved the class. Assume it’s C:\.
- Type ‘javac MyFirstJavaProgram.java’ and press enter to compile your code. If there are no errors in your code, the command prompt will take you to the next line (Assumption : The path variable is set).
- Now, type ‘ java MyFirstJavaProgram ‘ to run your program.
- You will be able to see ‘ Hello World ‘ printed on the window.
Output
C:\> javac MyFirstJavaProgram.java C:\> java MyFirstJavaProgram Hello World
Basic Syntax
About Java programs, it is very important to keep in mind the following points.
- Case Sensitivity − Java is case sensitive, which means identifier Hello and hello would have different meaning in Java.
- Class Names − For all class names the first letter should be in Upper Case. If several words are used to form a name of the class, each inner word’s first letter should be in Upper Case. Example:class MyFirstJavaClass
- Method Names − All method names should start with a Lower Case letter. If several words are used to form the name of the method, then each inner word’s first letter should be in Upper Case. Example:public void myMethodName()
- Program File Name − Name of the program file should exactly match the class name. When saving the file, you should save it using the class name (Remember Java is case sensitive) and append ‘.java’ to the end of the name (if the file name and the class name do not match, your program will not compile). But please make a note that in case you do not have a public class present in the file then file name can be different than class name. It is also not mandatory to have a public class in the file. Example: Assume ‘MyFirstJavaProgram’ is the class name. Then the file should be saved as ‘MyFirstJavaProgram.java’
- public static void main(String args[]) − Java program processing starts from the main() method which is a mandatory part of every Java program.
Java Identifiers
All Java components require names. Names used for classes, variables, and methods are called identifiers.
In Java, there are several points to remember about identifiers. They are as follows −
- All identifiers should begin with a letter (A to Z or a to z), currency character ($) or an underscore (_).
- After the first character, identifiers can have any combination of characters.
- A key word cannot be used as an identifier.
- Most importantly, identifiers are case sensitive.
- Examples of legal identifiers: age, $salary, _value, __1_value.
- Examples of illegal identifiers: 123abc, -salary.
Java Modifiers
Like other languages, it is possible to modify classes, methods, etc., by using modifiers. There are two categories of modifiers −
- Access Modifiers − default, public , protected, private
- Non-access Modifiers − final, abstract, strictfp
We will be looking into more details about modifiers in the next section.
Java Variables
Following are the types of variables in Java −
- Local Variables
- Class Variables (Static Variables)
- Instance Variables (Non-static Variables)
Java Arrays
Arrays are objects that store multiple variables of the same type. However, an array itself is an object on the heap. We will look into how to declare, construct, and initialize in the upcoming chapters.
Java Enums
Enums were introduced in Java 5.0. Enums restrict a variable to have one of only a few predefined values. The values in this enumerated list are called enums.
With the use of enums it is possible to reduce the number of bugs in your code.
For example, if we consider an application for a fresh juice shop, it would be possible to restrict the glass size to small, medium, and large. This would make sure that it would not allow anyone to order any size other than small, medium, or large.
Example
class FreshJuice < enum FreshJuiceSize< SMALL, MEDIUM, LARGE >FreshJuiceSize size; > public class FreshJuiceTest < public static void main(String args[]) < FreshJuice juice = new FreshJuice(); juice.size = FreshJuice.FreshJuiceSize.MEDIUM ; System.out.println("Size: " + juice.size); >>
The above example will produce the following result −
Output
Note − Enums can be declared as their own or inside a class. Methods, variables, constructors can be defined inside enums as well.
Java Keywords
The following list shows the reserved words in Java. These reserved words may not be used as constant or variable or any other identifier names.
abstract | assert | boolean | break |
byte | case | catch | char |
class | const | continue | default |
do | double | else | enum |
extends | final | finally | float |
for | goto | if | implements |
import | instanceof | int | interface |
long | native | new | package |
private | protected | public | return |
short | static | strictfp | super |
switch | synchronized | this | throw |
throws | transient | try | void |
volatile | while |
Comments in Java
Java supports single-line and multi-line comments very similar to C and C++. All characters available inside any comment are ignored by Java compiler.
Example
public class MyFirstJavaProgram < /* This is my first java program. * This will print 'Hello World' as the output * This is an example of multi-line comments. */ public static void main(String []args) < // This is an example of single line comment /* This is also an example of single line comment. */ System.out.println("Hello World"); >>
Output
Using Blank Lines
A line containing only white space, possibly with a comment, is known as a blank line, and Java totally ignores it.
Inheritance
In Java, classes can be derived from classes. Basically, if you need to create a new class and here is already a class that has some of the code you require, then it is possible to derive your new class from the already existing code.
This concept allows you to reuse the fields and methods of the existing class without having to rewrite the code in a new class. In this scenario, the existing class is called the superclass and the derived class is called the subclass.
Interfaces
In Java language, an interface can be defined as a contract between objects on how to communicate with each other. Interfaces play a vital role when it comes to the concept of inheritance.
An interface defines the methods, a deriving class (subclass) should use. But the implementation of the methods is totally up to the subclass.
What is Next?
The next section explains about Objects and classes in Java programming. At the end of the session, you will be able to get a clear picture as to what are objects and what are classes in Java.