Basics of Java

Java is a widely-used programming language known for its simplicity, robustness, and platform independence. Understanding its basics is crucial for diving into software development, from web applications to mobile apps. Let’s walk through the foundational elements of Java, covering syntax, data types, variables, control structures, arrays, strings, functions, and input/output operations.


1. Basic Syntax and Data Types

Java Syntax Essentials

Java’s syntax is similar to other C-based languages, so understanding basic syntax can help you transition easily between different programming languages. Here are some syntax essentials:

  • Statements: Each statement ends with a semicolon (;).

  • Blocks: Code blocks are enclosed within curly braces {}.

  • Case Sensitivity: Java is case-sensitive (Hello and hello are different).

  • Class and Main Method: Every Java program must contain a class, and for the program to run, a main method must be defined as the entry point:

      public class Example {
          public static void main(String[] args) {
              System.out.println("Hello, Java!");
          }
      }
    

Data Types in Java

Data types define the kind of values variables can hold. Java has two main categories of data types: primitive and non-primitive.

  • Primitive Types:

    • int: Integer numbers, e.g., int age = 25;

    • double: Floating-point numbers, e.g., double price = 19.99;

    • char: Single characters, e.g., char letter = 'A';

    • boolean: Boolean values (true or false), e.g., boolean isJavaFun = true;

  • Non-Primitive Types:

    • String: A sequence of characters, e.g., String name = "Java";

    • Arrays: A collection of values, like [1, 2, 3].

Java is a strongly-typed language, meaning each variable’s data type must be declared explicitly.


2. Variables, Constants, and Operators

Variables

Variables are containers for storing data values. They must be declared with a specific type and can be initialized with a value.

int number = 10;
String message = "Welcome to Java!";

Constants

Constants are variables whose values cannot change once assigned. Java uses the final keyword to declare constants.

final double PI = 3.14159;

Operators

Operators perform actions on variables and values. Common categories include:

  • Arithmetic Operators: +, -, *, /, %

  • Assignment Operators: =, +=, -=, *=, /=

  • Comparison Operators: ==, !=, >, <, >=, <=

  • Logical Operators: && (and), || (or), ! (not)

Example:

int a = 10;
int b = 5;
int sum = a + b;  // sum is 15
boolean isEqual = (a == b); // isEqual is false

3. Control Flow Statements

Java’s control flow statements manage the sequence of execution in a program, letting you create conditions and loops.

if, else if, else

Use if, else if, and else statements for conditional logic.

int score = 75;
if (score >= 90) {
    System.out.println("A grade");
} else if (score >= 80) {
    System.out.println("B grade");
} else {
    System.out.println("C grade");
}

switch

The switch statement is a multi-way branch statement that can replace long if-else chains.

int day = 3;
switch (day) {
    case 1:
        System.out.println("Monday");
        break;
    case 2:
        System.out.println("Tuesday");
        break;
    default:
        System.out.println("Unknown Day");
}

Loops

Loops execute a block of code repeatedly:

  • for loop: Useful when the number of iterations is known.

      for (int i = 0; i < 5; i++) {
          System.out.println(i);
      }
    
  • while loop: Runs as long as a condition is true.

      int i = 0;
      while (i < 5) {
          System.out.println(i);
          i++;
      }
    
  • do-while loop: Runs at least once, even if the condition is false initially.

      int i = 0;
      do {
          System.out.println(i);
          i++;
      } while (i < 5);
    

4. Arrays and String Manipulation

Arrays

Arrays store multiple values of the same type. Declare arrays using square brackets []:

int[] numbers = {1, 2, 3, 4, 5};
String[] names = {"Alice", "Bob", "Charlie"};

Access elements by their index:

System.out.println(numbers[0]); // Outputs 1

String Manipulation

Strings are non-primitive objects in Java. You can manipulate strings using built-in methods:

  • Concatenation: +

      String firstName = "John";
      String lastName = "Doe";
      String fullName = firstName + " " + lastName;
    
  • Length: .length()

      System.out.println(fullName.length());
    
  • Substring: .substring()

      System.out.println(fullName.substring(0, 4)); // Outputs "John"
    

5. Functions and Methods

Functions (called methods in Java) are reusable blocks of code that perform specific tasks. In Java, all methods must be defined within a class.

Declaring a Method

public class Calculator {
    public int add(int a, int b) {
        return a + b;
    }
}

Calling a Method

Instantiate the class, then call the method using the object:

Calculator calc = new Calculator();
int result = calc.add(5, 3);  // result is 8

Static Methods

Static methods belong to the class, not an instance, and can be called without creating an object. For example, Math class methods are static:

int max = Math.max(10, 20);

6. Basic Input/Output

Java provides several ways to handle input and output, often through the System class.

Output

The System.out.println() method is used to print output to the console:

System.out.println("Hello, World!");

Input Using Scanner

The Scanner class in Java allows you to take input from the user. Import the class from java.util and use it to read different types of input.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("Enter your name: ");
        String name = scanner.nextLine();

        System.out.println("Hello, " + name + "!");
        scanner.close();
    }
}

The above example reads a line of text from the user and prints it. Scanner also includes methods like nextInt(), nextDouble(), and nextLine() for various types of input.


Conclusion

This article covered the basics of Java, including syntax, data types, variables, control flow, arrays, strings, functions, and basic input/output operations. These elements are the building blocks of Java programming and serve as a foundation for more advanced concepts like object-oriented programming, exception handling, and multithreading. By mastering these fundamentals, you’re well on your way to becoming proficient in Java and developing your own applications.

0
Subscribe to my newsletter

Read articles from Mohammed Shakeel directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Mohammed Shakeel
Mohammed Shakeel

I'm Mohammed Shakeel, an aspiring Android developer and software engineer with a keen interest in web development. I am passionate about creating innovative mobile applications and web solutions that are both functional and aesthetically pleasing.