Umit-Soylu / Mastering-Java-For-Beginners

Java Core Course Materials

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Mastering Java For Beginners

This repository includes Java Core Course Materials for Mastering Java For Beginners

Why Java?

Currently, Java is the 2nd most popular Programming language according to PYPL.

Java has wide variety of applications including but not limited to;

  • Web development
  • Banking
  • Financial Services
  • Big Data
  • Android Application

As a result, it can be said that java is a trending topic.

Installing Tools

Here is the list of tools that is used in conjunction with this repository

Getting Started

Following items are covered in their respected links. Please use the link provided to access given course materials.

Variables

  • This section covers variables and casting of variable types to each other with examples in java.
    • Source code can be found in here.
    • Issues tackled: variable, parameter, field, local variable, casting.
  • Coding Examples: Addition and Division operations for int values.
    • Source code can be found in here.
  • Coding Exercise: Multiplication operation for int values.
    • Source code can be found in here.

Methods

  • This section covers declaring and using methods with examples in java. Also provides insight to JavaDocs.
    • Source code can be found in here.
    • Issues tackled: method, return, @param, @return.

Packages

  • This section covers declaring and using packages with same named java classes.
    • Source code can be found in here.
    • Issues tackled: package, import.

Modifiers

  • This section covers access modifiers for classes, methods, and fields.
    • Source code can be found in here.
    • Issues tackled: public, protected, private.
  • Also, non-access modifiers are briefly mentioned without any use cases.
    • Issues introduced: final, static, abstract, synchronized, volatile.

Program Flow

Operators

  • Operators consist of arithmetic, bitwise, logical, assignment, and relational operators.
    • Arithmetic operators issues tackled: +, -, *, /, %, ++, --.
    • Bitwise operators issues tackled: <<, >>, <<<, &, |, ^.
    • Logical operators issues tackled: &&, ||, ==.
    • Assignment operators issues tackled: =, +=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=.
    • Relational operators issues tackled: <, >, <=, >=, !=, ==.

Decision-Making

  • Decision-making concepts consist of if ... else and switch cases, loops, and loop control statements.
    • If .. else statement issues tackled: if, if .. else, if .. else if .. else, switch.
    • Loop issues tackled: for, for each, while, do .. while.
    • Loop control statement issues tackled: break, continue.
  • Coding Example: Matching Parenthesis checker for String inputs and token generator from String inputs.
    • Source code can be found in here

Constructors

  • This section covers default constructors, how to define custom constructors, and use cases.
    • Source code can be found in here.
    • Issues tackled: public, protected, private constructors, and final variables.

Object vs. Class

  • This section covers the definition of class, object and its implementations.
    • Source code can be found in here.
    • Issues tackled: static.

Specialized Java Classes

  • This section describes special Java Classes, mainly Enumerations and Records. These special classes generates their respective boilerplate code automatically.

Enumerations

  • This section covers enumerations in java, basically a specialized list of objects.
    • Source code can be found in here.
    • Issues tackled: enum.

Records

  • This section covers Records introduced in Java 16, basically a class with immutable fields.
    • Source code can be found in here.
    • Issues tackled: record.

Object-Oriented Programming

  • This section covers the object-oriented programming capabilities of Java.
    • Abstraction concept details introduced: abstract, interface, default
    • Inheritance concept details introduced: extend, instanceof, super, this
    • Polymorphism concept details introduced: @Override
    • Encapsulation concept investigated in detail.

Exceptions

  • This section covers throwing and handling exceptions in Java
    • Source code can be found in here.
    • Issues tackled: try ... catch, throws, finally

Strings

  • This section covers Strings. formatting and Building Strings.
    • Source code can be found in here.
    • Issues tackled: StringBuilder, StringBuffer, String.format, System.out.printf

Examples Summary

  • There are multiple coding examples included in this repository. The main package for examples can be found in here
ID Definition Solution
1 Addition for int values here
2 Division for int values here
3 String parser for matching parenthesis here
4 Token generator from Strings here

Exercises Summary

  • There are multiple coding exercises included in this repository. The main package for exercises can be found in here
ID Definition Solution
1 Multiplication for int values here
2 Basic Mathematical operator executor for String input here
3 Execution of project phases via enum here
4 Prime Factorization of a number with exceptions here
5 Finding shared Primes of numbers comma seperated in a String using String libraries here

CodeQuality CodeGrade

About

Java Core Course Materials

License:MIT License


Languages

Language:Java 100.0%