Description
Course Description:
This is a comprehensive introduction in Java Programming
Class requirements: Laptop / PC with pre-installed Windows, Mac OS or Linux OS,
WiFi access, Browser, Gmail account
Instructor: Lawrence
Pre-reqs: None, but any programming background is an advantage
Course Content
- Downloading, Installing and Configuration
- What to download? o JDK or JRE? o Text Editor o IDE
- Where to download?
- Installation of the JDK
- Configuration of the JDK
- Introduction to Core Java
- Installation and Configuration of the Java Development Kit
- Describe the key features of Java
- Object Oriented
- Simple
- Multithreaded
- Network Aware
- Can run in cross platform
- Secure
- Supports GUI
- Three flavors of Java
- Job of the Java Virtual Machine
- The Java Runtime Environment
- The Garbage Collector
- Tasks performed by Java in handling code security
- Class loader
- Byte Code Verifier
- Interpreter
- HelloWorld Application
- Compiling your HelloWorld Application
- Debugging compilation errors
- Running your HelloWorld Application
- Correcting Runtime Errors
- Your *.java file and your *.class files
- Escape Sequence Characters
- The System.out.println() method
- Object Oriented Concepts
- Objects vs. Classes
- What are Objects?
- What are Classes?
- How to create an object?
- Encapsulation
- The public access modifier
- The private access modifie
- The setter and getter methods
- The Constructor
- The constructor's golden rule
- The default constructor
- The Java Source File Layout
- package statement
- Creating a sample developer layout using package and import statements
- The Jar File
- creating a Jar file without a manifest file
- creating a Jar file with a manifest file ? what is a manifest file?
- Running the Jar file without a manifest file
- Running the Jar file with a manifest file
- Introducing the Java API documentation
- online documentation
- downloaded, offline documentation
- Identifiers, Keywords and Java Data Types.
- Three types of Java Comments
- Single line comment
- Multi line comment
- Java doc comment
- Semicolons, Blocks and white spaces
- Java Identifiers
- 50 Java Keywords
- Special keywords
- Java Programming and Language Coding convention.
- Packages
- Classes, Interfaces, and Enumerated Types
- Methods
- Variables
- Constants
- Control Structures
- Spacing
- Comments
- Java Data Types
- Primitive Data Types
- Integral formats
- decimal
- Octal
- Hexadecimal
- Binary
- Short
- Floating Points
- double
- Textual
- Logical
- Boolean
- Expressions and Flow Control Structures
- The Java Operators
- Pre and Post Increment and Decrement Operators
- Binary Toggle Operato
- Boolean Toggle
- Casting
- Implicit cast
- explicit cast
- Multiplication Operator
- Division Operator
- Modulo Operator
- The addition and concatenation operator
- The shift left, shift right, and the unsigned shift right operators
- The less than, greater than, less than equal to, greater than equal to operators
- Exactly equal to and not equal to
- Bitwise operators
- Logical operators
- short circuit operators
- Ternary operators
- The assignment operator
- The short hand operators
- The Java Control Structures
- Reference Data Types
- Reference Types
- Assigning References to Variables
- Pass-by-Value
- The this Reference.
- Arrays, Strings, StringBuffer, StringBuilder
- What are arrays
- Array declaration
- Array creation
- Initial values upon creation
- Initialization
- Creation and initialization
- Array of primitives
- Array of objects
- Array Limits
- Enhanced for loop
- Copying of arrays
- Command-line Arguments
- Array of Arrays (Two Dimensional Arrays)
- Non Rectangular Arrays
- What are String objects?
- Commonly used String methods
- What are StringBuffer and StringBuilder objects?
- The difference between StringBuffer and StringBuilder
- When to use each one
- Commonly used StringBuffer and StringBuilder methods
- Java Class Features
- Inheritance
- Superclasses
- Subclasses
- Single Inheritance
- Java Access Modifiers
- Method Overriding
- The super keyword
- Polymorphism
- Virtual Method Invocation
- Polymorphic Arguments
- The instanceof Operator
- Casting of Objects
- Overloading
- Constructors and Inheritance
- Overloading Constructors
- The static keyword
- Advance Class Features.
- Wrapper Classes
- The final keyword
- The enum keyword
- the old way to declare enumerations
- How to use enumerated values
- The abstract keyword
- Interfaces
- Functional Interface
- Lambda Operator
- Auto box in and Auto box out
- Exceptions and Assertions.
- Exceptions
- What are exceptions
- checked and unchecked exceptions
- Sample exceptions
- Errors vs. Exceptions
- multiple catches
- the try – catch finally block
- multiple Exceptions in a catch parameter
- throws keyword
- overriding methods and exceptions
- What are assertions?
- Syntax for assertion tests
- how to enable and disable assertions
- compiling codes with assertion checks in Java 1.4 and 5.0 onwards
- executing codes with assertion checks in Java 1.4 and 5.0 onwards
- Building Java text Based Applications.
- IO Stream Fundamentals
- Fundamental Stream Classes
- Data within Streams
- Sample Node Streams
- IO Stream Chaining
- Reading input via keyboard, converting inputted values to numerical values
- The Scanner Class
- The String.format() method
- The File Classes
- What is a File Object?
- What is the relationship between the File Object and the Physical File on your Hard Drive
- Common File methods
- Reading inputs via File
- Writing to a File
- The Collections API and The Generics Framework
- Collection Interface
- Set Interface
- List Interface
- Map Interface
- The Comparable Interface
- Iterator Interface and ListIterator Interface
- Java Generics
- The use of enhanced for loop in retrieving objects inside the Collection
- Building GUI Based Applications
- The java.awt package
- Three thing to consider in building your GUI Application
- TextFields
- Label
- Containers
- Panel
- Frames
- Dialog
- Layout Managers
- FlowLayout
- BorderLayout
- CardLayout
- Converting your AWT Components to Swing Components
- Event Handlers
- Event Object
- Event handlers
- The java.awt.event package
- Components with their corresponding listeners
- Event Delegation Model
- Use of Listeners
- Use of Adapter Classes
- Use of Inner Classes
- Use of Anonymous Classes
- Creating an executable GUI app using JAR
- Threads
- Define what a thread is and to know its components.
- CPU
- Code
- Data
- Creating a Thread Object
- Starting a Thread Object
- Thread states
- Basic Thread methods
- The synchronized keyword
- The Object Lock Flag
- The Deadlock state
- How to avoid the Deadlock state
- Monitor Model for Synchronization
- the wait and notify methods
- how to use the wait and notify methods to avoid deadlocks
- JDBC Concept
- What is JDBC
- Creating your Database Schema, using Derby / Java DB
- Connecting your Database with your Java Application
- Encryption
- What is Encryption and Decryption
- History, how it started
Tags: Software Development