FULL JAVA NOTES – EXPANDED EDITION
1. Introduction to Java
Java is a high-level, object-oriented, secure, robust, multithreaded and platform■independent
programming language.
Developed by James Gosling at Sun Microsystems (1995). Follows WORA – Write Once Run
Anywhere.
2. Java Architecture
Source Code → Compiler (javac) → Bytecode (.class) → JVM → Execution.
Components:
• JDK – Development Kit (Compiler, Debugger, JRE)
• JRE – JVM + Libraries
• JVM – Responsible for code execution, memory mgmt, garbage collection.
3. Data Types (Primitive & Non-Primitive)
Primitive (8): byte, short, int, long, float, double, char, boolean.
Non■Primitive: String, Arrays, Class, Interface, Enum.
4. Variables & Keywords
Types of Variables: local, instance, static.
Important Keywords: static, final, break, continue, return, synchronized, volatile, transient, this,
super.
5. Operators
• Arithmetic: + - * / %
• Relational: > < >= <= == !=
• Logical: && || !
• Assignment: = += -= *=
• Bitwise: & | ^ ~ >> << >>>
• Ternary: ? :
6. Control Flow
Conditional: if, if■else, nested if, switch.
Loops: for, while, do■while, enhanced for.
Jump Statements: break, continue, return.
7. Arrays
Single-dimensional, multi-dimensional arrays.
int[][] arr = new int[3][3];
Useful property: [Link].
8. Strings
Immutable class in [Link].
Important Methods: length(), substring(), equals(), compareTo(), indexOf(), toUpperCase().
Mutable: StringBuilder, StringBuffer.
9. OOP Concepts
Encapsulation – data hiding using private and getters/setters.
Inheritance – extends keyword; types: single, multi■level, hierarchical.
Polymorphism – Method Overloading & Method Overriding.
Abstraction – Achieved using abstract class and interface.
Classes & Objects – Blueprint and instance.
10. Constructors
Default constructor, parameterized constructor, constructor overloading.
11. Access Modifiers
private, default, protected, public.
12. Packages
User■defined & built■in packages ([Link], [Link], [Link]).
13. Exception Handling
Purpose: prevent abnormal termination.
Keywords: try, catch, finally, throw, throws.
Types: Checked, Unchecked.
Common Exceptions: NullPointerException, ArithmeticException,
ArrayIndexOutOfBoundsException.
14. Collections Framework
Interfaces: List, Set, Map.
Implementations:
• List – ArrayList, LinkedList, Vector
• Set – HashSet, TreeSet, LinkedHashSet
• Map – HashMap, TreeMap, LinkedHashMap
Utility class: Collections (sort(), reverse(), shuffle())
15. Multithreading
Thread creation:
1) Extending Thread class
2) Implementing Runnable
Thread methods: start(), run(), sleep(), join(), yield(), interrupt().
Thread states: New, Runnable, Running, Blocked, Terminated.
Synchronization – prevents thread interference.
16. File Handling ([Link])
File, FileReader, FileWriter, BufferedReader, BufferedWriter.
Serialization – converting object to byte stream.
17. Java 8 Features
• Lambda Expressions
• Functional Interfaces
• Streams API
• Default Methods in Interface
• Method References
18. JDBC (Database Connectivity)
Steps:
1. Load Driver
2. Establish Connection
3. Create Statement (Statement/PreparedStatement)
4. Execute Query
5. Close Connection
19. Memory Management
Stack – method calls, local variables.
Heap – objects.
Garbage Collection – automatically removes unused objects.
20. Important Programs
• Reverse a number
• Palindrome number
• Fibonacci series
• Factorial
• Prime number
• Armstrong number
• String reverse
• Array sorting
• File read/write
21. Sample MCQs (Extended)
1) Which feature makes Java platform independent? → Bytecode.
2) Which is not a primitive data type? → String.
3) Which collection allows duplicates? → List.
4) Which keyword prevents inheritance? → final.
5) Which method starts a thread? → start().
6) Which package contains ArrayList? → [Link].
7) Which exception is checked? → IOException.
END OF NOTES