-
4 months in Java to Better , Follow The ROADMAP.
-
How do we see the recordings?
-
0x - Job Software Testing Blueprint
-
How to join the class - WhatsApp Community, SDET.club or Email
-
Required Access - Form
- Required Accesshttps://forms.gle/L47EKJns4ZPobLUH6
-
SDET Club -
- Private - sdet.club/t/atb8x-only
- We have all the members apart from you.
- What to Install
- How to Ask the doubts - sdet.club
- Masterclass - Every Friday 8 pm IST - https://sdet.club/events
- 1 year - Previous Sesions - Mobile Testing, PeroformanceAppiumDocker, Resume Reviews, Linked Masterclass
-
0X, GIT, SQL, SDET Masterclass - Required Accesshttps://forms.gle/L47EKJns4ZPobLUH6 (. SDET.club, WhatsApp, )
-
Notes - Figma Linkhttps://www.figma.com/board/swfQKkWjvVPOnMqQnNeNJf/ATB7x-Plan?node-id=0-1&t=SpqCrFNBOhAXdQM4-1
-
Email - For Class - I
-
Whats App Reminder - Community - Reminders
-
SDET.club - 7 am IST MWF
-
**Bonus Course Material **https://courses.thetestingacademy.com/mycourses https://courses.thetestingacademy.com/courses/software-tester-blueprint/dashboard https://courses.thetestingacademy.com/courses/sdet-club-masterclasses-1337/dashboard
-
Important FQA
- **PDF, Access, ACCESS Course. **https://www.loom.com/share/7f9ce18bb6864bec8e0b556a3b53f746?sid=ac25b9e9-0a9b-4007-afe5-80da97a010fe
-
Support email - [email protected]
(Subject ) - ATB8x - Name -
Topics and Roadmap - www.figma.com/board/swfQKkWjvVPOnMqQnNeNJf/ATB7x-Plan?node-id=2-55&t=SpqCrFNBOhAXdQM4-1
-
Projects. -
-
Fix Resume Building - my Resume
Laptop - 8 GB, 512 GB (HDD) - Office, home
Checklist
-
SDET.club Access - Doubts Session.
-
WhatsApp Community - Reminders
-
Recordings - mycourses - courses.thetestingacademy.com/mycourses
-
Attendance - https://forms.gle/YuhTLeNC73po2Ep27
-
Question - sdetClub
-
Job Referral Group
-
Fresher / Non IT - 0x Software Testing course ( 2-3 videos per week)
-
MT - Refresher - 2 Videos
-
Next Class - Java ( 30) , 30 API, 30-40 Days Selenium, CI/CD)
-
Required - Access https://forms.gle/L47EKJns4ZPobLUH6
-
Bonus - SQL, GIT, Jenkins, Agile
-
1 hour per day (4-5 hour per week)
-
FT / Non it - 2 hour per day)
-
SDET Masterclass - Friday 8 pm (ist), previous find sdet course
-
Please add your Code to Github.com only -
-
Create a GIST - for issue in single file Java - https://gist.github.com
This Week Task - Week#1 -
- Goal Setting Videos https://sdet.club/wiki/52834265-236f-40a2-bb2d-a70e849f58e3
- Complete the 3 videos of the 0x Course - Fresher/Non IT - courses.thetestingacademy.com/courses/software-tester-blueprint/dashboard
- Fix Resume Building - my Resume
- github.com/ create
Core Java
Why do we need Programming?
- To interact with machine
- to Teach machine
- Communicate with machine.
- Machine don't understand english.
Computers / Machine can't understand the English.
0, 1 -> switch off, switch on. - binary language.
Langage -> Translate -> Machine Language.
010101010101010101010 010101010101001 0101001010101
English , Medium Level
High Level Language
- Easier for humans to read and write; abstracts hardware details.
- Python ,Javascript JS, C#
- Consumes more memory during execution. (Translation happends)
- Easier to modify and maintain.
**Low Level Language **
- Closer to machine code; less readable for humans.
- Binary Language ( 0,1)
- More efficient, consumes less memory.
- More challenging to modify.
- Simple
- Object Oriented
- Platform Independent
- Portable
- Secure
- Human understandable code written using High Level Programming language.
- In java - NameOfFile.java
- Source code is something that human write .
- You have to follow the rules of the programming language.
- Syntax - Rules that we have to follow.
**What is Byte Code? **
Source Code -> Byte Code. ( JVM Can understand) .
- JVM?
Native Code
- Code which NATIVE to the OS.
Compiler, Interpreter
- JDK
- Java Development Kit
- Complete package.
- Create a Java program
- Execute and Run also.
- Java Development Kit
- JRE
- Java Runtime Environment
- Run the Execute /Java Files.
- JVM
- Java virtual Machine
- Execute Byte Code -> Native Code.
TOOLSet
- JDK - Version ->
- JDK different Companies
- Sun Microsystem, -> Oracle
- OS JDK (Source)- Oracle - Paid - EE - JDK EE 22 ( Extra functionality)
- open JDK -> FREE OS - JDK 22
- Amazon - JDK
- MS - JDK
- JDK different Companies
- Code Editor - Source Code.
- Eclipse
- Difficult for Starter.
- IntelliJ
- Professional - Paid - 30 Trial - Don't Install
- FREE Community Edition - Every company - - Accenture, Con.... -OS
- VS Code - Not good for the Automation.
- Eclipse
How to create a Program in java?
- IDE - Integrated Development Environment ( Tool which can help you to write your Source Code)
- JDK **Source Code -> **Code written by the Human which will converted to the machine understandable code later.
Byte Code -> Magic value which Source Code of Java is converted to ByteCode (Compiled Code) by Javac (c ,c++ ), which can be run by the JVM.
Native Code -> OS specific code, ByteCode -> Native Code, different for the different OS. windows - different, mac, different.
Source Code ->(javac) ByteCode Code -> (jvm) -> (java) Native Code
Which part of the Code is Platform Independent -> ByteCode.
- Installed the IntelliJ
- Installed the JDK
Java Versions
1 to 22 ->. which one we are going to use, JDK > 11 is fine
JDK -> Java Development Kit
JRE -> Java runtime environment
JVM -> Java Virtual Machine (Byte Code -> Native Code)
Java Editions
- Enterprise Edition
- Micro Edition
- Standard Edition ( SE)
- Fx
**Install the JDK **
- www.oracle.com/in/java/technologies/downloads/
- 22 or 21
- Open JDK 21 - www.openlogic.com/openjdk-downloads?field_java_parent_version_target_id=828&field_operating_system_target_id=436&field_architecture_target_id=391&field_java_package_target_id=396
How to check if this is installed properly?
- open the CMD file ( mac, terminal)
java --version
'java~~version' is not recognized as an internal or external command,
operable program or batch file.
reason for this error is JAVA_HOME is not set.
JAVA_HOME we need to set it
- C:\Program Files\Java\jdk21
- Search for the Env in th task bar - Add the JAVA_HOME , system variable and user variable -
**How to Install the IDE **
- Eclipse
- Not for starters
- IDE is little difficult to use
- IntelliJ CE
- FREE
- OS
- You can use this (office) - www.jetbrains.com/idea/download/?section=mac
You can install both the IntelliJ and Eclipse on a single machine.
Github.com -> Where we will upload the programs to showcase or practice
**Error **
git.exe not found, error failed...... cann't run No Such a file..
To fix this - git-scm.com/downloads
Restart the system, It will work next time.
GIT vs GITHUB
- git is just protocol (rules) - version control - it is used to track the source code files.
- Github.com is online platform to upload your code or repository. (showcase our project).
Package
- Folder in Java
- We keep the code classes here -> class ?
- Sub - Package - Folder within Folder
We will Push the intial Code to GITHUB.com
- create some class java -> make sure they are green color
- 'In top menu - git -> github -> share the project on the github.com.
**Task #1 **
- JDK Installed
- IntelliJ
- Create a Github.com account Email. -> github.com/
- Our First Program
- Keyboard Shortcuts - resources.jetbrains.com/storage/products/intellij-idea/docs/IntelliJIDEA_ReferenceCard.pdf
package - Folder Java - Where is your class or code is present.
- pakacge name_of_package.
-
Class - Blueprint
-
class Name. {
public static void main(String[] args) functions -> {}
-
}
Running Java program via Notepad
- Create a Program with the name HelloATB.java in the notepad
- Open the CMD and convert your source code -> bytecode ( .java to .class) - javac HelloATB.java
- java HelloATB
- The main method in Java is the entry point for any Java program.
public static void main(String[] - JVM seraching for the Source Code.
- It is a predefined method that is executed when a Java program is run, and is required in every Java program.
- public -> public toilet - - public access modifier -> visibility = everyone.
- static -> we will cover later, void -> doesn't return anything , main -> name of the functions, String [] args -> String array arguments.
System.out.println("Hello World!");
- We are using a println. function from the System class -> which can help to us to print the output in the console.
- The main method takes an optional argument, "args".
Steps that the JVM takes to call the main method:
- JVM - Class Loader Method area heap
-
- Loads the necessary classes for the program. ( System, PrintStream)...
-
- Locates the entry point class specified on the command line. -
String[] args
- Locates the entry point class specified on the command line. -
-
- Locates the main method in the entry point class.
-
- Sets up the environment( javac) -> convert his line by line(JIT(just in time) and executes the code inside the main method. (
System.out.println("Hello World!");
- Sets up the environment( javac) -> convert his line by line(JIT(just in time) and executes the code inside the main method. (
- When the main method completes, the JVM terminates the program.
If a Java program does not have the main()
method, it will compile but not run, because the JVM will not recognize it as the entry point.
Can the main() method be overloaded in Java?
Yes, There will be always 1 main functions rest are just clones
package sept.ex_06092024;
public class Lab005 {
public static void main(String[] args){
System.out.println("Hello World!");
}
public static void main(String args){
System.out.println("Hello World!");
}
public void main(int args){
System.out.println("Hello World!");
}
}
yes, main()
-
Single Line
-
Multiple Line
-
Keywords & Identifiers
-
What are the differences between keywords and identifiers in Java?
-
What are the most commonly used Java keywords?
-
How many Java keywords are currently used?
GIT Push -> Command line
- SDET Club
- WhatsApp Community
- Email Notifications- Class Join
**Attendance **
https://forms.gle/YuhTLeNC73po2Ep27
- Why Learn Java?
- Platform Independent
- Open Source ( Oracle) , Open JDK - OS
- Widely used
- Secure
- Robust , Portable.
- High Level Langauge
High Level Language -> Human Friendly -> Java, Python, C#
Low Level Language -> Machine Close - Binary( 1,0)
Major Features of Java Programming Language
- OOps
- Platform independent
- Secure ( Inner class)
- multi - theading
- High performance
What is Source Code?
- Human understandable code written using High Level Programming language is called as Source Code.
- .java
How to write the Java Class?
- Rule - Name of Class is same as the FileName.java
- Name of class will be always - capital First letter. HelloWorld ✅
- helloWorld, Not space is not.
- numbers are not allowed first letter.
class FileName{
}
**What is Byte Code? **
-
JVM understandable code generated by Java Compiler is called as Byte Code. Byte code is also called as Magic Value.
-
javac - program
-
FileName.java -> FileName.class
-
Magic Value
-
Yes - Platform independent
-
What is Java Compiler? - javac
Is Java compiled or Interpreted?
- Both
- javac -> source code -> bytecode
- java -> (jvm) -> Bytecode -> Native Code( OS)
What is JDK (Java Development Kit) / SDK (Software Development Kit)?
- Java Development Kit
- Create a Java programs.
- Execute and Run also.
- JRE and JVM
- Sun Microsystem -> Oracle
- Oracle JDK
- Open JDK - OS source
- Amzon JDK
- MicroSoft.
- Azul, Eclipse (Apache foundation)
javac -> source to bytecode
java -> bytecode -> native
javap -> used to get the information about the commands in java(
javap java.util.List - help -> List , Help command get information packages.
jar -> zip file contains -> java programs -> zip ( jar) - collections of classes.
Can we have multiple version of the JDK in a same machine?
- jdk 22, 21, 20 -> 1 at a time.
Mac - www.jetbrains.com/idea/download/?section=mac
Windows- www.jetbrains.com/idea/download/?section=windows
What is JRE?
- Java Runtime Environment
- Run the Execute /Java Files.
What is JVM?
- Java virtual Machine.
- Execute Byte Code -> Native Code.
- Class loaders(load your class), Heap, Method area, stack.
- JDK Vs JRE
Java Editions
- Enterprise Edition - Servlets, JSP, JDBC etc.
- Micro Edition - micro devices like Mobiles,Setup Box etc
- Standard Edition - Used to develop standalone applications using applet and swing.
Java Versions
1 to 22 ->
Java Comments
- Single //
- Multiline
- /*
- */
- Documentation - /** ... **/
Last Time
- JAVA
- JDK, JRE, JVM
- basic program Java
- Keywords and Identifier
Variable - Store the value
data type variable_name = variable_value
- data type
- variable_name
- =
- variable_value
Variable Name (identifier)
Rules to follow when you define an Identifier:
- Identifier can contain Alphabets, Digits, and two special symbol i.e. Dollar ($),
- Underscore (_).
- First character of an identifier must be an Alphabet or Dollar ($) or Underscore (_).
- Keywords or Reserved words can't be used as Identifiers.
exit code 0 -> success and no error
Data type
- **Primitive Data Type : **pre defined - java(guys) - they can't be broken
- Boolean Type -> boolean - true, false
- Numeric Type ->
- Integral Type -> integers (whole numbers) - Size and Max, Min Value
- byte : -128 to 127
- short
- int
- long
- char ( ascii, unicode) - integers
- Floating Point Types
- float
- double
- Integral Type -> integers (whole numbers) - Size and Max, Min Value
- Non Primitive Data Type 1.
**Any Ref - Bytes It can take in the memory ? | **User Defined Data types
- 8 Byte, 64 Bit , String s = "Pramod"
- In this, s is 8 Byte, and values are stored differently.
formatting
System.out.print vs ln()
String vs Char
- String == Bunch of Char -
- char - numeric data type (int) -> 'A'
data_type variable_name = variable_value;
e.g int age = 78;
variable_value = literal
- Char
- Integral
- Boolean
- Null literal
- Scientific / Exponent N Literals
✅ Operators
data_type variable_name = variable_value;
-
Operators are used to perform operations by using operands.
-
int a = 10;
-
data type -> int ,
-
variable_name -> a
-
operator =
-
literal = 10
-
Unary Operator
-
Binary Operator
-
Ternary Operator
// Relational Operators = boolean
// > < , >= <= , != , ! -> true or false
// Compound Assignment Operators
int a = 10;
// += ,-= , *=, /=
// a += 20; // a = a+ 20
// a -= 20; // a = a - 20
// a /= 10; // a = a/10
// Unary Operator
int a = +65; // + -> unary operator
int b = -1; // - -> unary operator
System.out.println(a);
System.out.println(b);
b = b+1;
System.out.println(b);
// Arithmetic Operator
// +,-,/,*
int a = 10;
int b = 2;
System.out.println(a+b); // + -> binary - 2 operands
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/b);
int age = 45;
// = Assignment
// right value to variable
- Type Casting
- Source and Destination Conversion.
Increment (++) / Decrement (--) Operators
Ternary operator.
- Condition and Loops
✅ Ternary operator.
The ternary operator is a concise way to perform conditional evaluations in programming, often serving as a shorthand for if-else statements.
age > 18 -> vote india - true
age < 18 -> not allowed to vote..
Condition : anything which has some output -
Syntax Ternary in
condition ? expression_if_true : expression_if_false
✅ Conditions and Loop
-
If Condition
-
if Else
-
if else if, else Disadvantage of if condition
-
break and continue keywords
Switch ( JDK 13)
- Switch is multi way branch statement.
- Java switch statement executes one statement from multiple conditions.
- Java switch expressions must be of byte, short, int, long(with its Wrapper type), enums and String.
- case/s values are not allowed. Pramod != pramod.
- The value for a case must be constant or literal. Variables are not allowed.
Advantage of the Switch
- We can use the break.(break is keyword which can break out your from the loop or statement or condition.)
Syntax of Switch
switch(expression)
{
case statement 1:
code
break;
case statement 2:
code
break;
default statement 1: (optional)
code
break; (optional)
}
// Condition -> If else, switch ( multiple conditions)
// Loops - For, While, Do While - Perform a task multiple times. (execute a code, statement)
- for - keyword
- for( A: B:C) {}
- A - Initialization
- B - Condition for termination
- C - Increment and Decrement - updation.
break -> break keyword, break out from the loop
continue -> do nothing and go to next iteration(skip it)
- While
- Take user input
- Scanner sc = new Scanner(System.in);
- int num = sc.next()
While
- When you are using for statement or while statement then it verifies the condition before executing the block.
- So in the case of for statement and while statement, when first time condition is false then the block will not be executed.
- for and while statement are also called as Entry Controlled Loop. Do While
In the case of do-while first block of statements will be executed and then condition will be verified.
- Essential building blocks that allow programmers to encapsulate code for specific tasks.
- Reusable block of code is called as the functions.
- Define - This is what the function will do -> block of code designed to perform a particular task.
- Call - we need to calling, calling of the functions is important - executing.
Syntax of a Function
accessModifier returnType functionName(parameterType parameterName) {
// code to be executed
return value; // if returnType is not void
}
- accessModifier: Defines the visibility of the function (e.g.,
public
,private
protected). - returnType: The data type of the value returned by the function (e.g.,
int
,void
). - functionName: A descriptive name for the function.
- parameters: Variables passed into the function.
Constructor, Method (in the part of class) - OOPs
**Types of Functions - **
- No Return Type - void
- Return Type - data -> Primitive or Ref Type
- with Argument
- without Argument
No Return Type - No Argument | 1.Without Parameters and Without Return Type
package sept.ex_30092024;
public class Lab121 {
public static void main(String[] args) {
for (int i = 0; i < 100 ; i++) {
greet();
}
}
// Define
// No Return Type and No Argument
public static void greet(){
System.out.println("Hi");
}
}
// Parameter == Arguments
// 1.Without Parameters and Without Return Type
// 2.Without Parameters but With Return Type
// 3.With Parameters and Without Return Type
// 4. With Parameters and With Return Type
Please Explain - Java is Object Oriented Programming - OOPs.
C -> functions - block of code.
Procedural Programming lang -
Class
- Template
- Blueprint to create Objects
- **Class **is a user-defined data type which defines its properties and its methods
A - Attribute
B - Behaviour
static variable, functions
constructors
Object Class
- God father for the all classes.
- In built functions / methods which you can use.
- Main method overloading - Interview.
- Object(Predefined) Class in Java
- Arrays in Java
- String Class
- nextLine vs next
- OOps vs PPL
// Real life problem -> OOPs concepts
Creating - New planet ( OOPs)
// AHuman
// Attributes / properties -> 2 hand, eye color, nose, mouth, height, weight, body color, hair color
// Behaviour / methods -> walk(), eat(), talk(), read(), sleep(), hear().
- Constructor is a special method which is invoked automatically at the time of object creation.
- It has the same name as the Class Name
- It has no return type
- Main purpose of the constructor is to initialise the instance variable values.
- Parameterized Constructor - they can set or initialise the instance variable values.
// functions - perform a task , block of code
// functions within the class are called -> methods?
// class -> blueprint
// object -> real entity created from the class. / instance of the class.
// constructor -> - special method which is invoked automatically at the time of **object creation**
- Default
- Parametric
- Constructor Overloading
- this() and Super()
- Inherit -> Attributes and Behaviour
Child / Sub Class
Parent / Base Class
Single Inheritance -> A class inherits from a single base class.
Son extends Father
Method Overload
- Same name but different para/ argument, return type.
Inheritance
- Single...
- Poly
- Method Overloading
- Method Overriding
- Abstraction ( Interface) , Abtract Class
- Encapsulation
- Access Modifiers - private, public and protected.
- Getter and Setter
- Static keyword and Variable, Methods
- Inner Class
- Wrapper Class
- Final
Encapsulation
Encapsulation helps to promote the principle of "data hiding".
- Hiding the implementation
- You hide the complete class (with data members + methods)
- Abstraction can be achieved
- Abstract class
- Interfaces (Pure Abstraction)
Abstract class
- Abstract is the keyword.
- Remember, abstract can be a class or method both.
- mean -> incomplete.
- If the class doesn’t have any abstract method, then it is a concrete class.
- Abstract class cannot be final.
- Extend
- An abstract class** cannot be instantiated** i.e. one cannot create an object of an abstract class
- .Since the body of an abstract method cannot be implemented in an abstract class.
- You cannot use the following modifier with abstract methods:
- Private, static, final, strictfp, synchronized, native.
Interface
- interface is a keyword which is used to define User Defined Datatypes.
- Instance of the interface is not possible.
- Implement
- Interface can contain the following members:
public final static variables public abstract methods public static inner classes
- Default methods are methods that can have a body.
Encapsulation
- Important instance variables -> by using Methods
- Getter, Setter or making them in private(Access modifiers). - Hiding the data. (data memebers)
- Within the class
Rule
- If parent has a param constructor extended class also will have the param constructor.
- Object can't be created for the Abstract class
Static Keyword
The static keyword in Java is a non-access modifier that is primarily used for memory management and to define class-level variables and methods.
-> Static variables are variable which are created at the time of the class loading.
IIB -> Instance initialisation Block
{
System.out.println("IIB");
System.out.println("Here you can write a code what you want to do when Object is created");
System.out.println("Read a MySQL db()");
}
- Static Functions can't have instance variable in them.
- Non Function can have static varaibles
SIB -> static initialisation Block
- Variable
- Block
- Method
- Class
ENUM
-
Enums, short for enumerations, are a special data type in Java.
-
allow you to define a collection of named constants.
-
Constants: Enum constants are implicitly
public
,static
, andfinal
. This means they cannot be changed once defined.
18/10/2024
- Bunch of characters
- data type used to represent sequences of characters.
- Non Primitive Data Type
- Class - (OOPs) - Java guys
- final class String - can't change.
Immutability: Strings in Java are immutable, meaning once a string object is created, its value cannot be changed. Any modification results in the creation of a new string instance.
String name = "Pramod";
name = "Dutta";
There are now two string created in the SCP.
- = Operator -> String constant Pool(JVM)
- String a = "amit";
- When you create a string literal, the Java Virtual Machine (JVM) checks the "string constant pool" to see if an identical string already exists. If it does, it returns a reference to that instance; otherwise, it creates a new one.
- New operator -> Heap Area -> JVM Objects
- String name = new String("Pramod");
(==) -> Checks for the Locations in case of the String
(equals) -> Check the values
How can String be represented?
-
String class
-
StringBuffer
-
StringBuilder
-
Array of Characters
-
ArrayList of Characters
Run this command in the cmd -> javap java.lang.String
Here are some of the most commonly used functions of the String class:
charAt(int index): Returns the character at the specified index in the string.
Example: "hello".charAt(0) returns 'h'.
concat(String str): Concatenates the specified string to the end of the original string.
Example: "hello".concat(" world") returns "hello world".
contains(CharSequence s): Returns true if the string contains the specified sequence of characters, otherwise false.
Example: "hello world".contains("world") returns true.
equals(Object obj): Returns true if the string is equal to the specified object, otherwise false.
Example: "hello".equals("world") returns false.
**equalsIgnoreCase(String str): **Returns true if the string is equal to the specified string, ignoring case differences, otherwise false.
Example: "HELLO".equalsIgnoreCase("hello") returns true.
**indexOf(int ch): **Returns the index of the first occurrence of the specified character in the string, or -1 if the character is not found.
Example: "hello".indexOf('l') returns 2.
length(): Returns the length of the string.
Example: "hello".length() returns 5.
replace(char oldChar, char newChar): Returns a new string resulting from replacing all occurrences of the specified oldChar with the specified newChar.
Example: "hello".replace('l', 'w') returns "hewwo".
**split(String regex): **Splits the string into an array of substrings based on the specified regular expression.
Example: "hello world".split(" ") returns ["hello", "world"].
**substring(int beginIndex, int endIndex): **Returns a new string that is a substring of the original string, starting from the specified beginIndex and ending at the endIndex (exclusive).
Example: "hello".substring(1, 3) returns "el".
toLowerCase(): Returns a new string with all characters converted to lowercase.
Example: "HELLO".toLowerCase() returns "hello".
StringBuffer and StringBuilder
- Two classes used for creating mutable strings.
- Mutable: Unlike
String
, which is immutable,StringBuffer
allows modifications to its content. - Thread-Safe:
StringBuffer
methods are synchronized, making it safe for use in multi-threaded environments. This means that multiple threads can access aStringBuffer
instance without corrupting its state.
- Mutable: Like StringBuffer, StringBuilder allows modifications to its content.
- Not Thread-Safe: StringBuilder is not synchronized, making it faster than StringBuffer in single-threaded scenarios. It is suitable for use when thread safety is not a concern.
Wrapper Class
Error Handling Exception
Arrays
Collection Framework ( DSA)