Core java

Duration | 60 hours

Java has been one of the most popular programming language for many years. Java is Object Oriented. However it is not considered as pure object oriented as it provides support for primitive data types (like int, char, etc) .
Java is used in all kind of applications like Mobile Applications (Android is Java based), desktop applications, web applications, client server applications, enterprise applications and many more.

Prerequisites

You should know the basics of computer, programming and software. You should have fair knowledge on working of the software.

Course Objectives

To learn why Java is useful for the design of desktop and web applications. To learn how to implement object-oriented designs with Java. To identify Java language components and how they work together in applications. To design and program stand-alone Java applications.

Things you will learn

We help our students at every stage, from the start of a course to the actual skill-building technique. Our curriculum covers the following.

Java as Industry 4.0 Enabler

  • Java’s Might as a Programming Language
  • Relevance of C language in the ultra-modern century
  • Codification: Classification of Programming Languages
  • Machine Level – 11000101
  • Assembly Level – ADD AX, BX
  • High Level – print(10+12)

Organization of a Computer

  • Memory Hierarchy
  • Object File V/s Executable File

Architecture of JAVA

  • Assembler V/s Compiler
  • Compiler V/s Interpreter

Breaking the surface

  • First Java Program: Prototype of main() method – Visibility V/s Accessibility
  • Know your commands: Java commands to Compile and Execute
  • Nitty-gritty of Java: .class File

Procure inputs

  • Command Line Arguments
  • Valid Signatures of main() method
  • Streams in Java

Life in an Objectvilla

  • Object Orientation & its Principles
  • Classes and Objects

Voyage to Objectvilla

  • Design Guesser Game Application
  • Java Documentation (Javadoc)
  • Statically typed V/s Dynamically typed
  • Java Naming Conventions

Data Types | Variables | Literals | Type Casting

  • Integer data types – byte, short, int, long
  • How real-world data is stored in Memory?
  • Overflow V/s underflow
  • Wraparound behavior
  • Binary | Decimal | Hexadecimal | Octal representations

Floating-point data types – float, double

  • Intro to IEEE
  • BigDecimal class
  • Strictfp keyword

Character data type

  • ASCII Encoding Format V/s
  • UNICODE Encoding Format
  • UTF – 8 V/s UTF – 16 V/s UTF – 32
  • Escape sequences

Other Data Types

  • Boolean data type
  • Implicit V/s Explicit Type Casting – Widening | Narrowing
  • Truncation – Rounding towards Zero
  • Wrapper classes
  • Special symbols in identifiers and literals

Modularize your code

  • Methods
  • Types of Methods
  • Method Overloading
  • Don’t fall for the illusion: VirtualPolymorphism
  • Method Overloading with Type Promotion
  • Overloading of main() method

Data Herd: Arrays

  • Variable Approach V/s Array Approach
  • Types of Arrays
  • Regular V/s Jagged Arrays
  • Array of Objects
  • Control Structures
  • Loops in Java – for | while | do-while | for-each
  • Arrays Programming
  • java.util.
  • Arrays inbuilt class
  • Programming with Matrices
  • Time Complexity V/s Space
  • Complexity
  • Know when to use: Advantages and Disadvantages of Arrays

Most commonly used objects: Strings

  • Immutable V/s Mutable Strings
  • Memory allocation of Strings
  • Common Operations on Strings – equals() | concat() | intern() | method()
  • Inbuilt methods of String class
    StringBuffer and StringBuilder classes
  • StringBuffer V/s StringBuilder
  • C Strings V/s Java Strings

Encapsulation

  • Private access modifier
  • Accessors and Mutators
  • Shadowing Problem
  • “this” keyword
  • builder does the setting up: Constructors
  • Types of Constructors
  • Constructor Overloading
  • Constructor Chaining
    – this()
    – super()
  • Singleton Design Pattern
    – Singleton Class

Sharing is caring: “static” keyword

  • Ideal Execution of a Java Program
    – static control flow
    – instance control flow
    – with both static and instance elements
  • Static variables V/s Instance variables – class variables
  • Static methods V/s Instance methods
  • Static blocks V/s Instance blocks
  • Inner classes V/s Nested classes

Know your relationship status: Inheritance – “is-a”

  • “extends” keyword
  • Advantages of Inheritance
  • Rules of Inheritance
  • Types of Inheritance
  • “super” keyword – super V/s super()
  • Sealed classes
  • Constructor chaining in Inheritance
  • Static control flow in Inheritance
  • Types of Methods in Inheritance
  • Method Overriding
  • java.lang.Object class

Carbon is Diamond: Polymorphism

  • Runtime Polymorphism / Dynamic Method Dispatch
  • Tight coupling V/s Loose coupling
  • Type Casting between objects
  • Upcasting V/s Downcasting
  • Advantages of Polymorphism
  • Runtime polymorphism with Data members
  • Benefits of Polymorphism
  • Static Binding V/s Dynamic Binding
  • Instance of operator
  • Method Hiding

Refashion the accessibility: Access modifiers – public | protected | default | private

  • Packages in Java
  • Modules in Java
  • Rules of Overriding

Has-A Relationship: Aggregation and Composition

  • Delegation Model

Everything need not make sense at the top level: Abstraction

  • Abstract classes
  • Concrete methods V/s Abstract methods
  • Advantages of Abstraction
  • “final” keyword
  • Java Enums
  • java.lang.Math class
  • Static import

Raise your standards: Interfaces

  • “implements” keyword
  • Rules governing the use of Interfaces – Marker Interface
  • Inheritance with Interfaces
  • “extends” with “implements”
  • Static and Default methods in Interfaces
  • Private methods in Interfaces
  • Functional Interfaces
  • Lambda Expressions
  • Factory Design Pattern
  • Annotations

Regex Anatomy: Regular Expressions in Java Risky Behavior: Exception Handling

  • Try-catch-finally blocks
  • Different ways of Handling an Exception
  • Multiple catch blocks
  • Exception Object Propagation
  • Exception Hierarchy
  • Checked V/s Unchecked Exceptions
  • “throw” V/s “throws” keyword
  • Error V/s Exception
  • Custom Exceptions
  • Nested try-catch
  • Try with resources
  • “final” V/s “finally” V/s “finalize”
  • Exception handling with Overriding

Pair with your key: Map

  • Map hierarchy
  • HashMap class
  • LinkedHashMap class
  • TreeMap class
  • Collection Views

Data Compression: JAR Files Make a Connection: Input-Output in Java

  • Files and I/O
    – FileInputStream and FileOutputStream
    – FileWriter and FileReader
    – FileInputStream V/s FileReader
  • BufferedWriter and BufferedReader
  • Inbuilt File class methods
  • Standard I/O Streams
  • PrintWriter
  • Projects

Ab Job Pakki!!
Kickstart your career