Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Object Oriented Java
3 students

Object Oriented Java

Mastering the Java programming language
Last updated 4/2024
English
English

What you'll learn

  • Participants will develop a strong understanding of Java syntax, including variables, data types, operators, and control structures such as conditional statem
  • Learners will become proficient in using essential tools for Java development, including the Eclipse Integrated Development Environment (IDE) and the Java Dev
  • Participants will grasp fundamental programming concepts such as arrays, ArrayLists, and basic mathematical operations, laying a solid foundation for Java pro
  • The course will cover advanced topics in Java programming, including handling Strings, creating and utilizing static methods, and working with input/output op
  • Learners will explore object-oriented programming (OOP) principles in Java, including classes, inheritance, abstract classes, and interfaces, and gain practic
  • Participants will learn GUI development using the Lightweight Java Game Library (lwjgl) and rendering graphics with the Graphics Library Framework (GLFW), ena
  • The course will provide insights into network programming and cryptographic procedures using the Java Standard Library, equipping learners with essential skil

Course content

1 section • 33 lectures • 13h 32m total length
  • Installation and Setup Java24:29

    Install the Java development kit and Eclipse IDE, set up the workspace, and write a hello world program. Understand the JDK, JRE, and JVM concepts and run your application.

  • Language Basics23:32

    Learn Java language basics by building simple programs, declaring and using int and double types, applying final constants, and calculating circle area with pi, in Eclipse with key tips.

  • Control and Program Flow: if22:08

    Explore control flow in Java with if statements, boolean logic, and comparison operators; learn to combine conditions using and, or, and distinguish assignment from equality in conditionals.

  • Control and Program Flow: else20:03

    Learn to control program flow with if, else, and else-if chains in Java, implement mutually exclusive conditions, calculate triangle and rectangle areas, and validate input ranges.

  • Control and Program Flow: switch14:31

    Explore how to use the switch statement in Java to map a month value to its name, employing cases, breaks, and a default fallback.

  • Java Primitive Types17:06

    Discover Java's eight primitive types—byte, short, int, long, float, double, boolean, and char—and how bit limits, overflow, and ASCII affect storage and operations.

  • Arrays and ArrayLists22:28

    Learn how arrays in Java allocate memory, are fixed size, and use 0-based indexing, with examples of arrays and array lists and primitive versus object types.

  • Loops19:06

    Explore loops in Java, including while, do-while, for, and foreach. Learn array and array list iteration, manage bounds and increments, and format output effectively.

  • Strings27:43

    Explore strings in Java, from command line arguments to concatenation, length, substring, and toCharArray. Master trim, replace, contains, equals, equalsIgnoreCase, and split, with guidance to docs for method signatures.

  • Math Library22:04

    Explore the Java math library, including pi and e, with key functions like abs, round, floor, ceil, toRadians, cos, sin, tan, pow, sqrt, log, and Random.

  • Static Methods24:19

    Master static methods in Java by building power and factorial routines, examining parameters, return types, recursion, base cases, and basic access modifiers.

  • IO Scanner27:49

    Learn how to use the Java Scanner class to read input from files and the command line, handle file not found exceptions, and process tokens with nextLine, nextInt, and nextDouble.

  • IO Streams29:10

    Explore io streams in Java, using buffered writers and readers to read from and write to files, with flush and close guarantees, and examine prime factorization via trial division.

  • JUnit Testing18:26

    Master test-driven development with JUnit in Java, writing unit tests that guide implementation, using before and after annotations, and configuring Eclipse to run and debug tests.

  • Basic Guessing Game24:13

    Build a basic guessing game in Java using test driven development, showcasing static imports, package organization, and unit tests to verify input validation, game logic, and user feedback.

  • Debugging Techniques in Eclipse22:08

    Learn practical debugging techniques in Eclipse for Java, including using breakpoints, stack view, and step-by-step execution to diagnose and fix runtime errors in a shunting-yard algorithm example.

  • Handling Exceptions21:36

    Explore how Java handles errors and exceptions, learn to use try-catch blocks and finally, and understand specific exception types and the importance of catch order for robust programs.

  • Deploying and Publishing20:21

    Export and publish your Java program as a runnable jar, run from the command line, and share source and jar on GitHub for public deployment.

  • Object-Oriented Concepts26:48

    Master key object oriented concepts in Java, including classes, instances, and references. Understand constructors, static versus instance members, fields, methods, interfaces, and the role of garbage collection.

  • Object-Oriented Implementation25:11

    Demonstrate implementing an entity class in Java within a model-view-controller game architecture, defining x and y positions, speed, and angle, with boundary clamping and tests guiding behavior.

  • Object-Oriented Implementation Part 233:39

    Develop and test an object-oriented entity class in Java, implementing getters and setters, distance, tickSecond, and wall checks within a 2D game loop using GLFW.

  • Object-Oriented Inheritance and Hierarchy24:39

    Learn Java object-oriented inheritance, using extends to build animal hierarchies, explore single inheritance and the diamond problem, and apply interfaces, abstract and final classes, and polymorphism for flexible design.

  • Abstract Classes and Interfaces24:47

    Explore the differences between abstract classes and interfaces in Java, with practical examples using an abstract Animal class and a driveable interface for a car.

  • Abstract Classes and Interfaces Part 225:07

    Explore how to implement interfaces in Java with a concrete car example, extending Entity, using enums for color, and managing speed, odometer, and cruise control in an object-oriented design.

  • Abstract Classes and Interfaces Part 333:50

    Explore implementing abstract classes and a driveable interface in a car class within a Java object oriented course, covering constructor normalization, input validation, angle handling, turning, and crash logic.

  • Abstract Classes and Interfaces Part 421:26

    Implement a concrete class from a robust interface in abstract classes and interfaces part 4, ensure speed bounds and crash handling, and finalize a debug-friendly toString for testing.

  • 2d Graphics and Sprites34:03

    Explore 2D graphics and sprites in object-oriented java using LWJGL and GLFW to render textures with OpenGL, set up a window, and outline the rendering loop.

  • 2d Graphics and Sprites Part 224:38

    In object oriented Java, part 2d graphics and sprites, implement a texture class to load PNGs, bind with OpenGL, and render textures for a car and a star.

  • Keyboard Controls with GLFW25:17

    Implement keyboard controls in object oriented java using GLFW: W A S D for gas, brake, turning; C cruise control; E to spawn an entity with a random velocity.

  • Saving the Game32:04

    Learn to save and load a Java game by serializing an array list of entities to savegame.ser with object streams, then restore them on startup.

  • Java HTTP Server22:59

    Explore building a simple Java HTTP server using server sockets on localhost:2017, handling a client via input/output streams, and sending an HTML response over HTTP/1.0.

  • Java Collections API34:51

    Explore the Java collections interface, comparing lists, sets, and maps, focusing on performance trade-offs, contains checks, and practical usage with hash and tree structures.

  • Security and Cryptography22:00

    Learn cryptography and security in object oriented java by implementing AES and RSA algorithms, exploring symmetric and asymmetric key cryptography, key generation, and cipher operations.

Requirements

  • No prior programming experience is required to enroll in this course. However, participants should have basic computer literacy, familiarity with navigating a computer operating system, and the ability to install software on their computer.

Description

This comprehensive course, led by Mark and Justin, is designed to guide learners through mastering the Java programming language from scratch. By the end of the course, participants will have developed a strong understanding of Java syntax, common tools, and essential programming concepts.

The course begins with setting up the Eclipse Integrated Development Environment (IDE) and installing the Java Development Kit (JDK) necessary for compiling and running Java programs. Subsequent episodes cover fundamental programming constructs such as conditional statements, loops, arrays, and ArrayLists.

As the course progresses, learners delve into more advanced topics including handling Strings, utilizing the Math class for complex mathematical operations, creating and utilizing static methods, and working with input/output operations using the Scanner object.

Moreover, the course explores object-oriented programming (OOP) principles in Java, including classes, inheritance, abstract classes, and interfaces. Practical demonstrations include implementing classes, constructors, and managing exceptions effectively.

Additionally, learners will explore graphical user interface (GUI) development using the Lightweight Java Game Library (lwjgl) and rendering graphics with the Graphics Library Framework (GLFW). They will also gain insights into network programming and cryptographic procedures using the Java Standard Library.

Throughout the course, Mark and Justin provide examples, common mistakes, shortcuts, and practical exercises to reinforce learning. By the end of the series, participants will have built feature-filled programs and gained the skills necessary to tackle junior programming jobs with confidence.

Whether learners are new to programming or looking to expand their skills, this course equips them with the knowledge and tools needed to succeed in Java programming.

Who this course is for:

  • This course is suitable for individuals who are new to programming and want to learn Java as their first programming language, as well as those who have some experience in programming and wish to deepen their understanding of Java.