An open API service indexing awesome lists of open source software.

https://github.com/umit-soylu/mastering-java-for-beginners

Java Core Course Materials
https://github.com/umit-soylu/mastering-java-for-beginners

java java-8 javase

Last synced: 2 months ago
JSON representation

Java Core Course Materials

Awesome Lists containing this project

README

          

# Mastering Java For Beginners
This repository includes Java Core Course Materials for [Mastering Java For Beginners](https://www.udemy.com/course/draft/3554715/learn/lecture/22985404/?instructorPreviewMode=student_v4#content)

## Why Java?
Currently, Java is the 2nd most popular Programming language according to [PYPL](https://pypl.github.io/PYPL.html).

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
* Java Development Kit [JDK](https://www.oracle.com/java/technologies/javase-downloads.html)
* [IntelliJ IDEA](https://www.jetbrains.com/idea/)

## 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](https://github.com/Umit-Soylu/Mastering-Java-For-Beginners/tree/Variables).
* Issues tackled: `variable`, `parameter`, `field`, `local variable`, `casting`.
* Coding Examples: Addition and Division operations for `int` values.
* Source code can be found in [here](https://github.com/Umit-Soylu/Mastering-Java-For-Beginners/tree/Examples).
* Coding Exercise: Multiplication operation for `int` values.
* Source code can be found in [here](https://github.com/Umit-Soylu/Mastering-Java-For-Beginners/tree/Exercises).

### Methods
* This section covers declaring and using methods with examples in java. Also provides insight to JavaDocs.
* Source code can be found in [here](https://github.com/Umit-Soylu/Mastering-Java-For-Beginners/tree/Methods).
* 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](https://github.com/Umit-Soylu/Mastering-Java-For-Beginners/tree/Packages).
* Issues tackled: `package`, `import`.

### Modifiers
* This section covers access modifiers for classes, methods, and fields.
* Source code can be found in [here](https://github.com/Umit-Soylu/Mastering-Java-For-Beginners/tree/Modifiers).
* 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
* This section covers [Operators](#operators) & [Decision-Making](#decision-making) concepts.
* Source code can be found in [here](https://github.com/Umit-Soylu/Mastering-Java-For-Beginners/tree/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](https://github.com/Umit-Soylu/Mastering-Java-For-Beginners/blob/master/src/main/java/com/compiled_with_no_errors/examples/string_parsers/ParseStrings.java)

### Constructors
* This section covers default constructors, how to define custom constructors, and use cases.
* Source code can be found in [here](https://github.com/Umit-Soylu/Mastering-Java-For-Beginners/tree/Constructors).
* 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](https://github.com/Umit-Soylu/Mastering-Java-For-Beginners/tree/Objects).
* Issues tackled: `static`.

### Specialized Java Classes
* This section describes special Java Classes, mainly [Enumerations](#enumerations) and [Records](#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](https://github.com/Umit-Soylu/Mastering-Java-For-Beginners/tree/Enum).
* 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](https://github.com/Umit-Soylu/Mastering-Java-For-Beginners/tree/Records).
* 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](https://github.com/Umit-Soylu/Mastering-Java-For-Beginners/tree/Exceptions).
* Issues tackled: `try ... catch`, `throws`, `finally`

### Strings
* This section covers Strings. formatting and Building Strings.
* Source code can be found in [here](https://github.com/Umit-Soylu/Mastering-Java-For-Beginners/tree/Strings).
* 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](https://github.com/Umit-Soylu/Mastering-Java-For-Beginners/tree/Examples)

ID | Definition | Solution
:--: | :--------- | :------:
1 | Addition for `int` values | [here](https://github.com/Umit-Soylu/Mastering-Java-For-Beginners/blob/Examples/src/main/java/com/compiled_with_no_errors/examples/mathematical_operations/MathematicalOperations.java)
2 | Division for `int` values | [here](https://github.com/Umit-Soylu/Mastering-Java-For-Beginners/blob/Examples/src/main/java/com/compiled_with_no_errors/examples/mathematical_operations/MathematicalOperations.java)
3 | String parser for matching parenthesis | [here](https://github.com/Umit-Soylu/Mastering-Java-For-Beginners/blob/master/src/main/java/com/compiled_with_no_errors/examples/string_parsers/ParseStrings.java)
4 | Token generator from Strings | [here](https://github.com/Umit-Soylu/Mastering-Java-For-Beginners/blob/master/src/main/java/com/compiled_with_no_errors/examples/string_parsers/ParseStrings.java)

## Exercises Summary
* There are multiple coding exercises included in this repository. The main package for exercises can be found in [here](https://github.com/Umit-Soylu/Mastering-Java-For-Beginners/tree/Exercises)

ID | Definition | Solution
:--: | :--------- | :------:
1 | Multiplication for `int` values | [here](https://github.com/Umit-Soylu/Mastering-Java-For-Beginners/blob/Exercises/src/main/java/com/compiled_with_no_errors/exercises/mathematical_operations/MathematicalOperations.java)
2 | Basic Mathematical operator executor for `String` input | [here](https://github.com/Umit-Soylu/Mastering-Java-For-Beginners/blob/master/src/main/java/com/compiled_with_no_errors/exercises/string_parsers/MathematicalOperations.java)
3 | Execution of project phases via `enum` | [here](https://github.com/Umit-Soylu/Mastering-Java-For-Beginners/tree/master/src/main/java/com/compiled_with_no_errors/exercises/project_phases/ProjectPhases.java)
4 | Prime Factorization of a number with `exceptions`| [here](https://github.com/Umit-Soylu/Mastering-Java-For-Beginners/blob/master/src/main/java/com/compiled_with_no_errors/exercises/prime_factors/PrimeFactorization.java)
5 | Finding shared Primes of numbers comma seperated in a String using `String` libraries | [here](https://github.com/Umit-Soylu/Mastering-Java-For-Beginners/blob/master/src/main/java/com/compiled_with_no_errors/exercises/prime_factors/SharedPrimes.java)
----------
[![CodeQuality](https://www.code-inspector.com/project/17653/score/svg)](https://frontend.code-inspector.com/public/project/17653/Mastering-Java-For-Beginners/dashboard)
[![CodeGrade](https://www.code-inspector.com/project/17653/status/svg)](https://frontend.code-inspector.com/public/project/17653/Mastering-Java-For-Beginners/dashboard)