Skip to content
Java Programming: The Comprehensive Modern Java Course cover image
Play overlay
Preview this course

Java Programming: The Comprehensive Modern Java Course
Lemubit Academy

Learn How To Code Using Modern Java Features

Summary

Price
£19 inc VAT
Study method
Online, On Demand
Duration
14.8 hours · Self-paced
Qualification
No formal qualification

Overview

Get an in-depth understanding of the core concepts in the Java programming language. After going through this course you would have a solid understanding of the Java programming language and can move to other more advanced applications of the language.

This course makes use of simple illustrations and animations to help explain concepts in easy-to-understand bits. It is designed to educate you while keeping things entertaining.

If you have learned Java previously and got stuck, give this course a try and find out how easy the language is.

If this is your first time with Java then that's great! This course will gently take you through the concepts of the language.

Curriculum

22
sections
225
lectures
14h 48m
total
    • 1: Installation Theory 04:14
    • 2: Installing in Windows 03:49
    • 3: Installing In Mac 02:07
    • 4: Java Jshell 03:33
    • 5: Java Variable Theory 01:41
    • 6: Java Variables 04:20
    • 7: Primitives 08:08
    • 8: Var 03:19
    • 9: Case Sensitive 02:43
    • 10: Keywords 02:20
    • 15: If-Then 04:26
    • 16: If-Then-Else 05:43
    • 17: If-Then-Else-If 06:01
    • 18: Switch Blocks 05:34
    • 19: Break Statements In Switch 04:47
    • 20: Print Statement 04:22
    • 26: Arrays 03:44
    • 27: Creating Arrays 02:17
    • 28: Array Index 03:46
    • 29: Index Value Preview 02:20
    • 30: Array Length 01:12
    • 31: Print Array With ForLoop 01:52
    • 32: Sum With ForLoop 03:35
    • 33: Last Element With Length 02:18
    • 34: Looping With Last Index 01:25
    • 35: Creating Array With New Keyword 02:32
    • 36: MultiDimentional Arrays 01:15
    • 37: MultiDim Array 03:30
    • 38: ForEach-Loop 01:51
    • 39: Intro To Methods 01:49
    • 40: Java Methods 02:45
    • 41: Method Return 02:27
    • 42: Method Parameters 02:10
    • 43: OOP Anim Preview 01:25
    • 44: Java Classes 03:41
    • 45: Access Modifiers 02:30
    • 46: Static Members - Part 1 02:12
    • 47: Static Members - Part 2 03:32
    • 48: Static Members - Part 3 Preview 01:29
    • 49: Constructors 02:14
    • 50: Constructors w Parameters 02:02
    • 51: Predefined classes 02:38
    • 52: Java And The JVM 01:51
    • 53: The Main Method 01:32
    • 54: Running Java Files 06:04
    • 55: IntelliJ Revisited 03:31
    • 56: Variable Scope 01:47
    • 57: Break and Continue 05:18
    • 58: ForLoop Variations 05:18
    • 59: For Each Loop 05:58
    • 60: While Loops Preview 04:55
    • 61: Do While Loop 04:18
    • 62: Switch Statements 07:33
    • 63: Reference and Value Variables 08:13
    • 64: Method Overloading 06:43
    • 65: Constructor Overloading 04:57
    • 66: Assigning Reference Variable Values Preview 06:45
    • 67: Objects As Arguments 03:51
    • 68: Pass by Value & Reference 05:33
    • 69: Non-Primitive Member Variables 05:42
    • 70: Inner Classes 07:39
    • 71: Static Inner Classes 03:26
    • 72: Multiple Classes In One Java File 03:40
    • 73: Method Local Class 02:35
    • 74: Static Blocks 06:16
    • 75: Init Blocks 02:45
    • 76: The Scanner Class 06:29
    • 77: The Final Keyword 05:20
    • 78: Java Var Limitations 02:59
    • 79: Comments 02:22
    • 80: Inheritance Concept 02:11
    • 81: Inheritance Need 05:38
    • 82: Extends Keyword 06:29
    • 83: Overriding 07:16
    • 84: Super Instance Variables 07:05
    • 85: Super Methods 03:13
    • 86: Super Constructors Preview 05:12
    • 87: Dynamic Method Preview 05:44
    • 88: Dynamic Method Dispatch - Part 2 04:04
    • 89: Final Methods and Classes 03:21
    • 90: Object Class 04:30
    • 91: Abstract Classes 05:16
    • 92: Anonymous Classes 04:07
    • 93: Abstract Class With Anonymous 03:32
    • 94: Java Packages Preview 05:43
    • 95: Java Lang Package 01:26
    • 96: Access Modifiers Revisited 06:30
    • 97: Intro to reflection 03:40
    • 98: Field Reflection 06:12
    • 99: Private Field Reflection 04:16
    • 100: Method Reflection Preview 06:47
    • 101: Constructor Reflection 06:30
    • 102: Interface Concept 02:27
    • 103: Interface Need 05:03
    • 104: Intro To Interfaces Preview 07:40
    • 105: Implementing Multiple Interfaces 04:34
    • 106: Nested Interfaces 03:40
    • 107: Interface Variables Preview 03:08
    • 108: Interfaces Extending Interfaces 02:30
    • 109: Default Methods 03:27
    • 110: Private Methods 03:05
    • 111: Static Interface Methods 01:48
    • 112: Implementing Interface With Same Methods 01:34
    • 113: Intro To Exceptions 01:22
    • 114: Throwable Class 01:54
    • 115: Exception Example 02:41
    • 116: Try Catch Block Preview 04:36
    • 117: Multiple Catch Blocks 07:04
    • 118: Throw Keyword 03:20
    • 119: Throws Keyword 03:08
    • 120: Finally Block 02:31
    • 121: Custom Exceptions 02:05
    • 122: Chained Exceptions 03:00
    • 123: Multi Catch Exception 02:08
    • 138: Introducing Lambda Expressions 03:03
    • 139: Functional Interface with Anonymous Class 03:47
    • 140: Functional Interface with Lambdas 03:48
    • 141: Lambda expression with multiple parameters Preview 03:49
    • 142: Block lambdas 03:45
    • 143: Generic Functional Interfaces 06:40
    • 144: Lambdas As Arguments 05:45
    • 145: Variable Capture 04:55
    • 146: Abstract Method Return Value 03:20
    • 147: Method References 06:03
    • 148: Instance Method Reference 01:38
    • 149: Instance Method With Class Name 03:39
    • 150: Instance Method With Class Name - Two Params 03:29
    • 151: Constructor Reference 03:16
    • 152: Predefined Functional Interfaces 07:10
    • 153: The Collection Framework 04:06
    • 154: The Collection Class 01:21
    • 155: Intro To ArrayList 06:09
    • 156: Add & Remove Method Preview 05:42
    • 157: Set, AddAll & RemoveAll 02:36
    • 158: RemoveIf, Clear & Contains 04:04
    • 159: Using Arrays Class 02:30
    • 160: Iterators 03:42
    • 161: Spliterators 03:32
    • 162: For & ForEachLoop 02:48
    • 163: List With Custom Class Type 04:02
    • 164: Using ListOf 01:21
    • 165: Convert List To Array & Back 01:33
    • 166: LinkedList 02:02
    • 167: Intro To HashSet 03:14
    • 168: HashSet Capacity & LoadFactor 02:08
    • 169: Linked HashSet 01:39
    • 170: TreeSet Preview 01:40
    • 171: Intro To Comparator 03:52
    • 172: TreeSet With Comparator 05:08
    • 173: Queues 02:10
    • 174: LinkedList Revisisted 02:25
    • 175: Linkedlist As List 02:50
    • 176: LinkedList As Queue 08:00
    • 177: LinkedList as Deque 02:34
    • 178: ProrityQueue 07:35
    • 179: ArrayDeque 05:19
    • 180: Maps 01:53
    • 181: HashMaps - Put & Get 03:24
    • 182: HashMaps - PutIfAbsent 01:53
    • 183: HashMaps - GetOrDefault 04:12
    • 184: HashMaps - Values, KeySet, Remove Preview 02:55
    • 185: HashMaps - Remove & Replace 04:22
    • 186: HashMaps - ReplaceAll Preview 02:11
    • 187: HashMaps - Compute 04:20
    • 188: HashMaps - Merge 01:48
    • 189: HashMaps - Extra Methods 02:27
    • 190: TreeMap 01:36
    • 191: LinkedHashMap 00:46
    • 192: Collection Algorithms 03:23
    • 193: Need For Optionals 03:31
    • 194: Optional Init 03:46
    • 195: Optional isPresent & isEmpty Preview 04:41
    • 196: Optional OrElse 04:32
    • 197: Optional Map 03:12
    • 198: Optional Filter 03:05
    • 199: Optional IfPresent 02:25
    • 200: Optional on NonNull Return 05:34
    • 201: Optional on Nullable 03:32
    • 202: Java Streams 03:21
    • 203: Creating New Streams 05:01
    • 204: Create Stream From Collection 04:35
    • 205: Create IntStream From int array 03:56
    • 206: Create Stream From Primitive Values 04:44
    • 207: Sorted, Min, Max Preview 04:27
    • 208: Min Max On Primitive Streams 02:14
    • 209: Count 03:00
    • 210: Reduce Preview 08:58
    • 211: Reduce On List of Objects 05:54
    • 212: Map Operation 03:22
    • 213: Map To Int, Double, & Long 05:02
    • 214: Map To Object 02:27
    • 215: Order Of Stream Operations 06:14
    • 216: FlatMap 06:12
    • 217: All, Any, None Match 03:37
    • 218: StreamBuilder 04:06
    • 219: Collect 04:20
    • 220: Collectors toList & toSet 02:29
    • 221: Collectors Joining 02:39
    • 222: Collectors toMap 02:31
    • 223: Collectors PartitioningBy Preview 02:39
    • 224: Collectors PartitioningBy With Two Arguments 04:08
    • 225: GroupingBy 02:11

Description

Java is a top programming language used in almost all areas of software development. Learning Java will put a significant boost to your skillset. This course is not just another Java course, it is designed to give learners a gentle but comprehensive education on the Java programming language.

After going through this course you will be equipped to dive deeper into other concepts of the Java programming language.

Why learn from this course

This course not only teaches you Java but also gets you up to speed with the latest Java features. Java is quickly evolving and there are better ways of solving problems, more concise than you must have seen in your old Java textbooks. You will learn not just Java but current practices in the language.

Here is what we would explore:

* Basics of Java Programming - Learn Variables, Primitives, The Var Keyword

* Java Operators - Arithmetic, Unary, Equality, and Conditional Operators

* Java Conditionals and Loops - If Statements, Switch Blocks and ForLoops

* Arrays - Creating Arrays, Index Value, Multidimensional Arrays

* Methods - Parameters, Arguments, and Return Values

* Object-Oriented Programming - Class, Object, State, and Behavior

* Java Classes In-Depth - Abstract classes, Anonymous Classes, Packages...

* Java Interfaces - Interfaces, Nested Interfaces, Default Methods

* Java Wrapper Classes and Autoboxing

* Java Strings

* Java Enums

* Java Exceptions - Throw, Finally, Custom Exceptions, Chained Exceptions, Multi Catch

* Java Generics

* Java Lambda Expressions and Functional Interfaces

* Java Collections - List Interface(ArrayList, LinkedList and Vector), Set Interface (HashSet, LinkedHashSet and TreeSet), Queue Interface (PriorityQueue) and Map Interface (HashMap, LinkedHashMap and TreeMap() - Compare, Contrast and Choose

Who is this course for?

Anyone willing to get an in-depth understanding of the Java Programming Language

Requirements

  • A good system to install required software i.e IntelliJ Idea
  • Patience and Consistency. It's a full-packed course!

Career path

  • Java Web Developer
  • Android Developer
  • Java FX Developer
  • Backend Developer

Questions and answers

Currently there are no Q&As for this course. Be the first to ask a question.

Reviews

Currently there are no reviews for this course. Be the first to leave a review.

FAQs

Interest free credit agreements provided by Zopa Bank Limited trading as DivideBuy are not regulated by the Financial Conduct Authority and do not fall under the jurisdiction of the Financial Ombudsman Service. Zopa Bank Limited trading as DivideBuy is authorised by the Prudential Regulation Authority and regulated by the Financial Conduct Authority and the Prudential Regulation Authority, and entered on the Financial Services Register (800542). Zopa Bank Limited (10627575) is incorporated in England & Wales and has its registered office at: 1st Floor, Cottons Centre, Tooley Street, London, SE1 2QG. VAT Number 281765280. DivideBuy's trading address is First Floor, Brunswick Court, Brunswick Street, Newcastle-under-Lyme, ST5 1HH. © Zopa Bank Limited 2026. All rights reserved.