Java 11 For Complete Beginners
Learn Modern Java From Scratch
Lo que serás capaz de hacer
This course teaches you computer programming in the Java language from scratch. I'll be typing all the source code in front of your eyes and we'll be using Java version 11-12, taking advantage of many features that have been added to Java over the past few years -- including streams, method references and lambda expressions. Along the way we'll create a number of projects, including two desktop apps. This is a completely updated and revised version of my popular Java for Complete Beginners course, which has gathered over 1.3 million subscribers on Udemy. In addition to newer Java features, this revised course includes lots of exercises to increase your fluency.
- Computer programming in Java
Temario
UNIDAD 1 - Hello World · 12 leccionesUNIDAD 1 - Hello World
UNIDAD 1 - Hello World
- Intro
- What is Java
- How Java Works
- Installing the JDK
- Installing Eclipse
- Creating a Class
- Running Your First Program
- The Structure of a Java Project
- A Closer Look at Hello World
- The Main Method
- Formatting and Code Blocks
- Auto-format
UNIDAD 2 - Using Variables · 10 leccionesUNIDAD 2 - Using Variables
UNIDAD 2 - Using Variables
- Integer Variables
- Addition
- Outputting Variables and Text
- Doubles
- Arithmetic
- Variable Assignment
- Calculations
- Coding Tips
- How to Get the Most From This Course
- Converting Temperatures
UNIDAD 3 - Strings and Text · 9 leccionesUNIDAD 3 - Strings and Text
UNIDAD 3 - Strings and Text
- Strings
- Joining Strings
- Control Characters
- Outputting a Menu
- Format Specifiers
- Format Specifiers Example
- User Input
- Stack Traces
- Eclipse Themes, Tasks and Working Sets
UNIDAD 4 - Loops and Conditions · 35 leccionesUNIDAD 4 - Loops and Conditions
UNIDAD 4 - Loops and Conditions
- While Loops
- Loop Conditions
- Some Comments on While
- Increment and Decrement
- PostfixAndPrefix
- Postfix and Prefix Expressions
- More While Loops
- For loops
- Boolean
- Equality
- If
- Using If
- If Else
- If Else If
- More If Else If
- One Line If
- Switch
- Converting If Else to Switch
- Switch Fallthrough
- The String Equals Method
- The Final Keyword
- Break
- Checking Passwords
- Password Loops
- Do While Loops
- Not
- Not Equal
- Variable Scope
- Checking Passwords with Do While
- Flags
- Limited Attemps
- String Methods
- Case Insensitivity Exercise
- Case Insensitivity Exercise Solution
- Stream Loops
UNIDAD 5 - Arrays · 15 leccionesUNIDAD 5 - Arrays
UNIDAD 5 - Arrays
- Arrays
- Arrays of Strings
- Iterating Over Arrays
- Iterating with IntStrea
- Primitive Arrays - A Closer Look
- Primitive Arrays Exercise Solution
- For Each Loops
- Stream For Each Loops
- Primitive Arrays - A Closer Look
- Non-Primitive Arrays
- Multidimensional Arrays
- Working With Multidimensional Arrays
- Multidimensional Array Exercise
- Multidimensional Arrays Exercise Solution
- Multiplication Tables
UNIDAD 6 - Methods · 19 leccionesUNIDAD 6 - Methods
UNIDAD 6 - Methods
- Classes and Objects
- Instance Variables
- Methods
- Accessing Instance Variables
- Menu Example
- Menu Example Implementation
- Return Values
- Menu Returning String
- Method Parameters
- Multiple Parameters
- Getters and Setters
- This
- Public and Private
- Window Example
- Window Example Implementation
- Constructors
- Constructors with Parameters
- toString
- Automatically Generating Classes
UNIDAD 7 - Exercise: Hangman in Java · 15 leccionesUNIDAD 7 - Exercise: Hangman in Java
UNIDAD 7 - Exercise: Hangman in Java
- Hangman
- Top Down Design
- A RandomWord Class
- Random
- The char Type
- Char Arrays
- StringBuilder
- Using StringBuilder
- The Ternary Operator
- Using the Ternary Operator
- Filling in Characters
- Closing the Scanner
- Checking User Input
- Limited Tries
- Further Practice
UNIDAD 8 - Booleans and Conditions · 3 leccionesUNIDAD 8 - Booleans and Conditions
UNIDAD 8 - Booleans and Conditions
- Boolean And
- Boolean Or
- Complex Boolean Conditions
UNIDAD 9 - Static · 5 leccionesUNIDAD 9 - Static
UNIDAD 9 - Static
- Static and Final
- Static Variables
- Static Method
- Assigning IDs
- Static Initialization Blocks
UNIDAD 10 - Inheritance · 8 leccionesUNIDAD 10 - Inheritance
UNIDAD 10 - Inheritance
- Inheritance
- Overriding Methods
- The Override Annotation
- Subtype Polymorphism
- Casting and Runtime Errors
- Protected
- Final Classes
- The Garbage Collector
UNIDAD 11 - Exercise: Rock, Paper, Scissors · 13 leccionesUNIDAD 11 - Exercise: Rock, Paper, Scissors
UNIDAD 11 - Exercise: Rock, Paper, Scissors
- Rock Paper Scissors
- A Game Object
- Game Objects
- Naming Objects
- Choosing Objects
- Comparing Objects
- CompareTo
- The Comparable Interface
- UserPicksAnObject
- WinDrawLose
- GameLoop
- Accouncing the Winner
- Some Comments on Rock Paper Scissors
UNIDAD 12 - Overloading Methods and Constructors · 5 leccionesUNIDAD 12 - Overloading Methods and Constructors
UNIDAD 12 - Overloading Methods and Constructors
- Method Overloading
- Default Constructors
- Constructor Chaining
- Super
- Swing and JavaFX
UNIDAD 13 - Exercise: A Swing Desktop Program · 6 leccionesUNIDAD 13 - Exercise: A Swing Desktop Program
UNIDAD 13 - Exercise: A Swing Desktop Program
- Hello World Swing
- SwingUtilities
- Swing Custom Components
- Panels and Layouts
- Toolbars
- About Swing
UNIDAD 14 - Further OOP · 16 leccionesUNIDAD 14 - Further OOP
UNIDAD 14 - Further OOP
- Packages
- AccessModifiers
- The API Docs
- Main Methods
- Upcasting
- Downcasting
- Object
- Abstract Classes
- Interfaces
- Interface Inheritance
- Interface Default Methods
- Multiple Inheritance
- Abstract Class Example
- Interface Example
- Combining Code Exercise
- An Egg Timer
UNIDAD 15 - Swing: Handling Button Clicks · 10 leccionesUNIDAD 15 - Swing: Handling Button Clicks
UNIDAD 15 - Swing: Handling Button Clicks
- About Interfaces
- Starting Point and GitHub
- Button Clicks
- Changing Color
- Naive App Control
- About References
- Naive App Control Review
- Color Button Listener
- What's Wrong With Our Swing App
- Decoupling Using Interfaces
UNIDAD 16 - Inner Classes · 8 leccionesUNIDAD 16 - Inner Classes
UNIDAD 16 - Inner Classes
- HashCode and This
- Local Inner Classes
- Local Inner Classes Example
- Effectively Final
- Static Inner Classes
- Non-static Inner Classes
- Anonymous Classes
- Inner Class Review
UNIDAD 17 - Swing: Handling Button Clicks with Inner Classes · 2 leccionesUNIDAD 17 - Swing: Handling Button Clicks with Inner Classes
UNIDAD 17 - Swing: Handling Button Clicks with Inner Classes
- Handling Button Clicks With Inner Classes
- Handling Button Clicks With Lambda Expressions
UNIDAD 18 - Enumerationns · 10 leccionesUNIDAD 18 - Enumerationns
UNIDAD 18 - Enumerationns
- Enum
- Enum Useful Methods
- Enum Constructors
- Enum and Switch
- Enum Exercise
- Enum Exercise Solution
- Improving Rock Paper Scissors
- Implementing the Beats Method
- Using Beats
- Eliminating Unecessary Code
UNIDAD 19 - Exceptions · 16 leccionesUNIDAD 19 - Exceptions
UNIDAD 19 - Exceptions
- IntroducingExceptions
- Try Catch
- Some Exception Exercises
- Throwing Exceptions
- The Call Stack
- Throwing Runtime Exceptions
- Custom Exceptions
- Handling Multiple Exceptions
- Catching Multiple Exceptions
- Exception Flow Control
- NullPointerException
- AutoCloseable
- Constructor Exceptions and Close
- HandlingConstructorAndCloseExceptions
- TryWithResources
- TryWithResourcesExample
UNIDAD 20 - More Basic Types · 7 leccionesUNIDAD 20 - More Basic Types
UNIDAD 20 - More Basic Types
- Integer Types
- MinimumAndMaximumValues
- Floating Point Types
- Class Equivalents of Primitive Types
- Widening and Narrowing Conversions
- Numeric Literals
- The Mod Operator
UNIDAD 21 - Exercise: Conway's Game of Life in Swing · 22 leccionesUNIDAD 21 - Exercise: Conway's Game of Life in Swing
UNIDAD 21 - Exercise: Conway's Game of Life in Swing
- Introducing the Game of Life
- Basic Swing App - Again
- Painting and Drawing
- About the Grid
- Calculating Margins
- Drawing the Grid
- Numeric Class Methods
- Filling Cells
- Front End vs Back End
- The Model
- Displaying the Model
- Handling Mouse Clicks
- Converting Mouse Coordinates
- Handling Key Presses
- Randomizing the Grid
- Clearing the Grid
- Iterating Over Cells
- Counting Neighbours
- Life and Death
- Implementing the Game of Life Algorithm
- Fixing Resize
- Game of Life Conclusion
UNIDAD 22 - Reading and Writing Files · 16 leccionesUNIDAD 22 - Reading and Writing Files
UNIDAD 22 - Reading and Writing Files
- The File Class
- Reading and Writing Text Files
- File Locations
- Reading Text Files Line By Line
- Writing Text Files Line By Line
- Serializing Objects
- Deserializing Objects
- Transient
- Serial Version UIDs
- Serializing Multiple Objects
- Writing Binary Files
- Reading Binary Files
- Reading Java Class Files
- Endianness
- File Parsing Exercise
- File Parsing Exercise Solution
UNIDAD 23 - Exercise: Implementing Save and Load · 8 leccionesUNIDAD 23 - Exercise: Implementing Save and Load
UNIDAD 23 - Exercise: Implementing Save and Load
- Swing Menus
- Save Dialogs
- Getting the Selected File
- Saving the Grid
- File Open Dialogs
- Loading Files
- Error and Warning Messages
- Saving and Loading Conclusion
UNIDAD 24 - Generics · 12 leccionesUNIDAD 24 - Generics
UNIDAD 24 - Generics
- A Simple Hierarchy
- A Wrapper Class
- Introducing Generics
- Type Erasure
- A Pair Class
- An Array Class
- Generic Methods
- Generic Bounds
- Super and PECS I
- Super and PECS 2
- Util Copy Exercise
- Add All Exercise
UNIDAD 25 - The Java Collections API · 54 leccionesUNIDAD 25 - The Java Collections API
UNIDAD 25 - The Java Collections API
- ArrayList
- Iterating through ArrayList
- Custom Objects in ArrayLists
- Sorting Lists
- Implementing Comparable
- How Comparable Works
- Comparable Example
- Comparators
- ArrayList Exercise
- LinkedList
- The List Interface
- Initializing Lists With Lists
- Static Methods in Interfaces
- Variable Arguments
- Timing List Operations Exercise
- Timing List Operations Solution
- Time Complexity
- Instanceof
- Equals
- Removing Items From Lists
- ConcurrentModificationException
- Iterators
- Getting Creative With Iterators
- Modifying Lists While Iterating
- Ring Buffer Exercise
- Ring Buffer Solution
- Implementing Iterable
- Circular Iterator Exercise
- Circular Iterator Solution
- ForEachAndIterators
- HashSet
- Hashing Algorithms
- The hashCode Method
- UnionAndIntersection
- RemoveAll
- LinkedHashSet
- TreeSet
- Set and SortedSet
- Collections Review
- Sets And Lists Exercise
- Sets And Lists Solution 1
- Sets And Lists Solution 2
- Sets And Lists Solution 3
- HashMaps
- Static Imports
- Initializing Maps
- Iterating Through Maps
- Ordered Maps
- Custom Objects in Maps Exercise
- Custom Objects in Maps Solution
- Lists of Sets
- MapsOfLists
- Complex Data Structures
- CollectionsAndInheritance
UNIDAD 26 - MIDI Exercise · 3 leccionesUNIDAD 26 - MIDI Exercise
UNIDAD 26 - MIDI Exercise
- Playing a Note
- Playing Chords
- MidiExerciseSolution
UNIDAD 27 - Collections Exercise: A Rota · 10 leccionesUNIDAD 27 - Collections Exercise: A Rota
UNIDAD 27 - Collections Exercise: A Rota
- Collections Rota Exercise
- PersonClass
- LoadingTheData
- Rota Class
- Implementing the Rota
- Vital Skill Set
- Rota Algorithm
- TestingTheRotaAlgorithm
- Exercise Conclusion
- Adding People
UNIDAD 28 - Lambda Expressions · 18 leccionesUNIDAD 28 - Lambda Expressions
UNIDAD 28 - Lambda Expressions
- Lambda Expression Example
- Functional Interfaces
- A Lambda Expression From Scratch
- Lambda Expressions With Single Parameters
- Multiple Parameter Lambdas
- Return Values in Lambdas
- LambdasAndCapture
- Functional Programming
- Unmodifiable Lists
- Predicates
- Filtering Lists
- Function
- ReplaceAll
- LambdaExercise
- Multithreading
- Incrementing via Threads
- Synchronized
- Lambda Expressions Summary
UNIDAD 29 - Method References · 7 leccionesUNIDAD 29 - Method References
UNIDAD 29 - Method References
- Method References
- Breaking Down Method References
- Method Reference Examples
- References to Methods of Particular Objects
- References to Methods of Arbitary Objects
- Compare To Method Reference
- References to Constructors
UNIDAD 30 - Streams · 25 leccionesUNIDAD 30 - Streams
UNIDAD 30 - Streams
- Streams
- Generating Streams
- Generating Streams from Files
- Transforming Streams
- Regular Expressions
- Collectors
- Peek
- FlatMap
- Stream Exercise 1
- Reduce
- Combiners
- Stream Exercise 2
- Implementing Collectors
- Streams Exercise 3
- Combining Maps
- Implementing the Solution
- Filter
- Map Exercise
- Sorting Streams
- Group By
- Streams and Static Imports
- Streams Conclusion Almost
- Stream Exercise 4
- Multiplication Table With ForEach
- Stream Multiplication in a Single String
UNIDAD 31 - Jar Files · 4 leccionesUNIDAD 31 - Jar Files
UNIDAD 31 - Jar Files
- Jar Files
- Creating and Using a Jar File
- About Jar Files
- Runnable Jars
UNIDAD 32 - Bitwise Operators · 7 leccionesUNIDAD 32 - Bitwise Operators
UNIDAD 32 - Bitwise Operators
- Numbering Systems
- Formatting Binary Numbers
- Bitwise And Or
- Bitwise Exclusive Or and Not
- Bitwise Shift
- Bitwise Hexadecimal
- Bitwise Exercise Solution
UNIDAD 33 - Cellular Automata · 8 leccionesUNIDAD 33 - Cellular Automata
UNIDAD 33 - Cellular Automata
- Hello Again Swing
- Setting Pixels
- Wolfram Code
- Using the Wolfram Code
- Getting Colors
- Forming the Index
- Implementing the Rule
- About the Wolfram Codes
UNIDAD 34 - Modules · 3 leccionesUNIDAD 34 - Modules
UNIDAD 34 - Modules
- About Modules
- Creating a Module
- Using Modules
UNIDAD 35 - Debugging · 2 leccionesUNIDAD 35 - Debugging
UNIDAD 35 - Debugging
- Using the Debugger
- Conditional and Exception Breakpoints
UNIDAD 36 - Recursion · 5 leccionesUNIDAD 36 - Recursion
UNIDAD 36 - Recursion
- Factorial Exercise
- Factorial Solution
- Recursion
- Using Recursion
- Recursive Factorial Solution
UNIDAD 37 - Conclusion · 1 leccionesUNIDAD 37 - Conclusion
UNIDAD 37 - Conclusion
- Course Conclusion
UNIDAD 38 - Bonus · 1 leccionesUNIDAD 38 - Bonus
UNIDAD 38 - Bonus
- Bonus: Where to Go Next in Your Programming Journey
Tu certificado lo emite la SEP, no solo una plataforma
Al demostrar la competencia recibes un certificado emitido por la Secretaría de Educación Pública a través del Gobierno del Estado de México: un documento oficial que puedes presentar con confianza ante cualquier empleador o institución.
Tu certificado con INEC
- Lo emite la Secretaría de Educación Pública (SEP), a través del Gobierno del Estado de México
- Documento oficial con folio verificable en línea
- Lo otorga la Universidad Tecnológica Fidel Velázquez
Otras plataformas en línea
- Constancia privada emitida por la misma plataforma
- Solo acredita horas cursadas o asistencia
- Sin respaldo de una autoridad educativa
Tu itinerario, de la inscripción al certificado
- 1
Inscripción con pago único
Pagas $2,800 MXN una sola vez y entras de inmediato al curso.
- 2
Estudias a tu ritmo
38 unidades con videos, lecturas y actividades, disponibles 24/7 durante 12 meses.
- 3
Cuestionarios por unidad
Cuestionarios para comprobar lo aprendido.
- 4
Certificado
Emitido por la SEP a través del Gobierno del Estado de México, con folio verificable.
Un certificado oficial de la SEP
- Emitido por la Secretaría de Educación Pública (SEP), a través del Gobierno del Estado de México. No es una constancia privada: es un documento oficial, y ese respaldo marca la diferencia frente a otras plataformas en línea.
- Contenido impartido por John Purcell.
- Folio y QR verificables para compartirlo con quien te contrate.
Empieza hoy, a tu ritmo
Un solo pago y acceso inmediato al curso completo durante 12 meses.
- 38 unidades · 430 lecciones · 60 h
- 12 meses de acceso
- Certificado emitido por la SEP (Gob. del Estado de México) con folio verificable
Sobre tu inscripción
¿Cómo es el pago?
Un solo pago de $2,800 MXN. No hay mensualidades ni cargos recurrentes.
¿Cuánto tiempo tengo acceso?
12 meses desde tu inscripción, 24/7, para avanzar a tu ritmo.
¿Quién imparte el contenido?
El curso es impartido por John Purcell; INEC gestiona tu inscripción, evaluación y certificado.
¿Qué pasa cuando vence mi acceso?
Puedes renovar tu cuenta tú mismo desde la plataforma, sin trámites ni esperas.


