Program Development Life Cycle - A process that software developers use to create software programs
Phases of PDLC
Conceptualization
Design
Implementation
Testing
Deployment
Maintenance
Conceptualization Phase
Requirements of the software are gathered and analyzed. A project plan is developed.
Design Phase
Team will create the software design based on the requirements gathered in the planning stage. Team will also create a prototype or mockup of the software to visualize how it will look and work.
Implementation Phase
Team will actually write the code for the software. Team will also perform unit testing.
Testing Phase
Team will test the software as a whole, using various techniques to identify and fix any bugs or defects. This includes functional testing.
Deployment Phase
Software is released to the end-users. Ongoing maintenance and support may also be provided in this stage.
Maintenance Phase
The team will continue to maintain and support the software as needed. May continue for the life of the software, depending on the needs of the users and the organization.
Java
Programming language that is used to develop software applications. Can be run on various operating systems without making any modifications. Code written in Java is compiled into bytecode that can be executed on any machine equipped with JVM.
Java Virtual Machine (JVM)
Converts the bytecode into machine code that the processor of the computer can execute.
Java was introduced by Sun Microsystems
1995
Java
Created by James Gosling, Mike Sheridan & Patrick Naugthon
Created to make a program that could run in multiple platforms
"Write once, run anywhere"
Uses of Java in different aspects of technology
WebApplications
Mobile Applications
Enterprise Applications
Desktop Applications
Gaming
Internet of Things (IoT)
Machine Learning and Artificial Intelligence
How Java works
1. JavaCode
2. Compilation
3. Loading
4. Verification
5. Execution
6. Garbage Collection
7. Termination
Java's programming paradigm
Procedural - involves writing a sequence of procedures or functions perform specific tasks
Object-Oriented - organizes code into objects that have properties (data) and methods (behavior)
Inheritance
Encapsulation
Polymorphism
Abstraction
Example of Java program
public class Mavenproject1 {
public static void main(String[]args){
System.out.println("Hello World!");
}
}
AccessModifier
Keywords that restricts access to a variable, methods or classes
Public - Most permissive
Private - Most restrictive
Protected - Access for class and subclass
Default - No access modifier is specified
Class
Built-in Classes - standard classes or library classes
Custom Class - represent specific concepts, objects, or functionalities needed in your project (building blocks you create yourself)
ClassHeader
Specifies the class header with the name Mavenproject1 as the class name
Method Header
public static void main(String[]args)
Static vs. Non-Static
StaticMethod - It is associated directly to the class itself, Can be called directly without creating an object of a class
Non-StaticMethod - Also called Instance Method, Need to create an object of the class in order to access it
DataTypes - void
It signals that there will be a data to be returned once the method is done executing
Methodname - main
The main method in java is always named main. Since this is where the program always starts
(String[]args)
This is an array of type java. A string class that accepts zero or multiple arguments
Escape Sequence
Character combinations consisting of a backslash (\) followed by a letter or by a combination of digits, regarded as a single character and is therefore valid as a character constant.
Sample of Simple Addition Program
import java.util.Scanner;
public static void main(String[] args) {
int num1, num2, sum;
Scanner scanme = new Scanner (System.in);
System.out.println("Enter first Number: ")
num1 = scanme.nextInt();
System.out.println("Enter second Number: ")
num2 = scanme.nextInt();
sum = num1 + num2;
System.out.println("The sum is: " + sum);
}
Import
Keyword that is used to include classes or packages from other files or libraries into your program. You can use its methods, fields, and other members in your code without having to fully qualify the class or package name each time you reference it.
Package
Mechanism for organizing related classes and interfaces into a single namespace. Essentially a folder or directory that contains a set of related Java classes and interfaces.
Class - Scanner
"class" in the case of Scanner refers to a Java built-in type that provides a way to read input from various sources such as the console or a file.
Instantiation
Process of creating an instance or object of a class. Serves as a blueprint or template for creating objects of that class.
Method of Scanner Class
Reads the next integer value from the input source
Concatenation
Process of combining two or more strings into a single string. Done using the '+' operator, which is also known as the concatenation operator.
Control Structures
Serve to specify what has to be done by our program, when and under which circumstances.
Types of ControlStructures
Sequential Logic
Selection Logic
Looping Statements
Sequential Logic
Also known as Sequential Flow, determined by the set of instructions that are delivered to the computer.
Selection Logic
Also known as Conditional Flow, involves a set of factors or parameters that determine whether one of several written modules will be used.
Types of SelectionLogic
Single Alternative
Double Alternative
Multiple Alternatives
Looping Statements
Allows us to execute a statement or group of statements multiple times.
while loop
Executes a target statement as long as a given condition is true. It tests the condition before executing the loop body.
for loop
Executes a sequence of statements multiple times and abbreviates the code that manages the loop variable.