A process that software developers use to create software programs. It has different stages from the initial idea to final release and maintenance. The objective is to create software that works well, meets objectives, and is reliable
Phases of Program Development Life Cycle
Conceptualization
Design
Implementation
Testing
Deployment
Maintenance
Conceptualization Phase
Gather and analyze software requirements, define project scope, timeline, and budget, develop a project plan
Design Phase
Create software design based on requirements, design architecture, create data models, define algorithms, create a prototype
Implementation Phase
Write code for the software, perform unit testing
Testing Phase
Test software as a whole, identify and fix bugs, perform functional testing, performance testing, security testing
Deployment Phase
Release software to end-users, install software, configure for use, provide documentation and training, provide maintenance and support
Maintenance Phase
Continue to maintain and support software, fix bugs, update software, provide technical support
Java
A programming language used to develop software applications, can run on various operating systems without modifications, code is compiled into bytecode for execution on any machine with a Java Virtual Machine (JVM)
Java was introduced by Sun Microsystems
1995
Java
Write once, run anywhere
Java Virtual Machines
Uses of Java in different Aspects of Technology
Web Applications
Mobile Applications
Web frameworks built using Java
Spring
Struts
Hibernate
Java in Mobile Applications
Language of choice for developing Android applications
Android Studio, the official IDE for Android app development, is built on Java
Java in Enterprise Applications
Widely used for developing large-scale enterprise applications
Ideal for finance, healthcare, and other industries
Java in Desktop Applications
Can be used to develop desktop applications
Provides a powerful UI toolkit for creating rich and interactive applications
Java in Gaming
Used for developing games
Provides APIs for graphics, audio, and input
Java in Internet of Things (IoT)
Used in the development of IoT applications
Ability to run on low-power devices and support for a wide range of sensors and actuators
Java in Machine Learning and Artificial Intelligence
Used for developing machine learning and AI applications
Support for libraries like Weka and Mahout, ability to run on large-scale distributed systems
How Java Works
1. Compilation
2. Loading
3. Verification
4. Execution
5. Garbage Collection
6. Termination
Programmers create a program by translating Java code into bytecode, loading it into the JVM, verifying it, executing it, performing garbage collection, and terminating it
Java's Programming Paradigms
Programming Paradigms in Java
Procedural
Object-Oriented
Inheritance
Encapsulation
Polymorphism
Abstraction
Example of a Java Program
Access Modifiers in Java
Types of Access Modifiers
Public
Private
Protected
Default
Classes in Java can be built-in or custom, representing standard or specific concepts respectively
Class Header specifies the class name in Java programs
Class Header
Specifies the class header with the name Mavenproject1 as the class name
Every java program must have at least one class definition
Class is used as a container for the statements that we will use for our program
You cannot have more than one public class in a single .java file
The name of the public class should be the same as the file name of the .java file
Method Header
This method is directly under the class Mavenproject1
Static vs Non-Static
Static Method is associated directly to the class itself, can be called directly without creating an object of a class
Non-Static Method (Instance Method) need to create an object of the class in order to access it
Data Types
Java has data types, when used in a method, signals that there will be data to be returned once the method is done executing, in the main method, void data type is used
Method Name
The main method in java is always named main as this is where the program always starts
Array
A string class that accepts zero or multiple arguments
Open and Close Brace
Indicates the content of the class or method
Method
Also called as Method Definition, a block of code that will perform a specific task when executed
Escape Sequence
Character combinations consisting of a backslash (\) followed by a letter or digits, used to represent special characters like newline, single quotation mark, etc.
Import is a keyword used to include classes or packages from other files or libraries into a program
When you import a class or package, 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