

Osäker på var
börja?
Track
Certifikat
Java-Grunder
4.3+
★★★★★
★★★★★
9 omdömen
Beginner
Ge dig ut på en omfattande resa in i Java-programmeringens värld. Oavsett om du precis börjar eller har viss kodningserfarenhet, kommer detta spår att utrusta dig med kunskapen och färdigheterna för att lyckas som Java-utvecklare. Visa mer
java
Boost your Tech Skills!
with up to 55% off
What you'll get with our subscription:
Access to 85+ top-rated courses
AI-driven Learning
Workspaces for practicing your skills
Personalized study tracks
Certificates of completion
Training 2 or more people?
Get your team access to Codefinity courses anytime, anywhere.
Try Codefinity TeamsWhat you will learn
- Build a strong foundation in Java by learning essential syntax, data types, and control structures
- Expand your Java knowledge with advanced concepts, enhancing your ability to write efficient and maintainable code
- Master Object-Oriented Programming (OOP) principles, including encapsulation, inheritance, and polymorphism
- Learn how to work with data structures in Java, such as lists, sets, maps, and queues, to optimize performance
- Understand the fundamentals of unit testing using JUnit, covering different types of testing methodologies
- Dive into Java multithreading to develop high-performance applications that execute multiple tasks concurrently
- 216 chapters
- 32 hours
- 376 tasks
Trusted by employees of leading companies
Learning track content
Module 1 / Java Basics
Discover the unique features of Java and understand why it's a recommended programming language to learn. Write your first Java code and explore how to print text to the console.
Learn the basics of programming, dive into primitive data types, and explore operations with them. Write code that performs mathematical tasks and evaluates conditions for seamless execution.
- Primitive Data TypesFörhandsgranska
- Challenge: Primitive TypesFörhandsgranska
- Mathematical Operations on charFörhandsgranska
- Mathematical Operations in JavaFörhandsgranska
- If-Else StatementFörhandsgranska
- Switch-Case StatementFörhandsgranska
- New Task StructureFörhandsgranska
- Challenge: Weekday SwitchFörhandsgranska
Explore various loops such as for, while, and do-while, which are essential in any programming language. Loops enable efficient iteration over large datasets, saving significant time. Apply them extensively in tasks like sorting, working with arrays, collections, and more.
Learn how to effectively use arrays in Java programming by discovering how to group data into arrays and exploring common methods and properties for working with them. Techniques for manipulating and optimizing arrays in real-world applications will also be examined.
Learn about String, a crucial data type in Java, and discover its many built-in methods and operations. Explore String and StringBuilder, understanding their basic methods and how to use strings effectively in Java.
- What Is String?Förhandsgranska
- Basic Methods In StringFörhandsgranska
- Practical Applications of String MethodsFörhandsgranska
- Challenge: Filter Failure MessagesFörhandsgranska
- NullPointerExceptionFörhandsgranska
- StringBuilderFörhandsgranska
- String Pool, Method Equals()Förhandsgranska
- SummaryFörhandsgranska
Module 2 / Java Fördjupad
Under de följande lektionerna kommer du att bekanta dig med de inre mekanismerna i Java och upptäcka optimerade metoder för att arbeta med språket. Detta innebär att utforska Javas operationer på datornivå och tillämpa bästa praxis för att använda välkända koncept effektivt.
Du har redan stött på metoder, och nu kommer du äntligen att förstå vad de faktiskt är, hur du skapar egna metoder och hur du arbetar med dem. Du kommer att lära dig att returnera önskade värden från metoder och avsevärt förbättra kvaliteten och logiken i din kod.
Förbered dig på att fördjupa dig i String och upptäck mer om dess inre funktioner och metoder. Vi kommer att utforska de intressanta egenskaper som String erbjuder, inklusive möjligheten att anpassa "toString"-metoden, dela upp strängar i delsträngar och använda index för effektiv datahämtning. Låt oss påbörja denna spännande resa för att utöka vår kunskap om strängmanipulation!
I det här avsnittet kommer du att lära dig hur du skapar egna klasser och deras objekt. Du kommer att kunna använda metoder från en klass inom en annan och etablera relationer mellan dem. Förbered dig på att upptäcka många intressanta koncept och fördjupa dig i OOP-programmering!
- Vad är en klass?Förhandsgranska
- Huvudklass och MetodFörhandsgranska
- ÅtkomstmodifierareFörhandsgranska
- Skapa KlassFörhandsgranska
- Utmaning: Hämta Information om ObjektetFörhandsgranska
- KonstruktorFörhandsgranska
- Utmaning: TeamkonstruktorFörhandsgranska
- Metod toString()Förhandsgranska
- Utmaning: Visning av PapegojinformationFörhandsgranska
I det här avsnittet fortsätter vi vår studie av klasser. Vi kommer att utforska mer avancerad användning av klassobjekt och lära oss mer om åtkomstmodifierare och hur de används effektivt. Vi kommer även att fördjupa oss i getters och setters, eftersom de anses vara bästa praxis inom programmering.
- Användning av Komplexa KlasserFörhandsgranska
- Utmaning: Förhållande Mellan Husdjur och ÄgareFörhandsgranska
- Privat ModifierareFörhandsgranska
- Utmaning: Visning av DjurinformationFörhandsgranska
- Getter och SetterFörhandsgranska
- Utmaning: Uppdatering av AnvändarinformationFörhandsgranska
- SammanfattningFörhandsgranska
Nu kan vi äntligen börja lära oss objektorienterad programmering (OOP) i Java. Det kommer att vara utmanande, men jag är övertygad om att du kommer att lyckas! I detta avsnitt går vi igenom alla principer för OOP och förklarar varför OOP är viktigt. Du kommer att lära dig hur man ärver klasser, överlagrar och överskuggar metoder, kapslar in data från andra klasser samt arbetar med abstraktion. Dessutom kommer du att förstärka alla dessa teoretiska koncept med praktiska övningar och arbeta med uppgifter i din IDE. Du får omfattande kunskaper, både praktiska och teoretiska, så låt oss börja!
I föregående avsnitt konstaterade vi att all objektorienterad programmering huvudsakligen bygger på abstraktion. En abstrakt klass har dock en betydande begränsning – du kan endast ärva från en abstrakt klass. Men vad händer om vi behöver mer?
Här kommer gränssnitt till undsättning. I detta avsnitt får du lära dig vad ett gränssnitt är, varför det är nödvändigt, hur det används korrekt, och du fortsätter att öva på objektorienterad programmering. Låt oss göra dig till ett proffs!
Module 4 / Java Data Structures
Discover the concept of lists and explore the most commonly used types in Java. Learn how to create, modify, and manage lists efficiently. Understand their internal structure and discover when to use ArrayList vs. LinkedList based on performance. Implement your own singly linked list and reinforce key concepts through practical coding challenges.
- Introduction to Data StructuresFörhandsgranska
- List and ArrayList in JavaFörhandsgranska
- Challenge: Library Management SystemFörhandsgranska
- CRUD Operations in JavaFörhandsgranska
- LinkedList in JavaFörhandsgranska
- Implementing LinkedList in JavaFörhandsgranska
- Challenge: Implementing size and delete Methods in LinkedListFörhandsgranska
- Quiz: Fundamental Data StructuresFörhandsgranska
Learn about data structures that are not as commonly used but are still valuable. Data structures like Set, Stack, Queue, and Deque will help you better understand how Java works and their various applications in databases.
Learn about key-value pair-based data retrieval, enabling the creation of structures similar to databases. Discovery of concepts like hashcode and exploration of data structures such as HashMap and HashSet are also included.
Learn to use enum for defining a fixed set of constants and explore the Stream API to process, filter, and transform data efficiently.
Module 5 / Java JUnit Library. Types of Testing
Let's talk about types of testing and which testing methods developers use. You will learn about the stages an application goes through before being delivered to the client and the specific tests you will need to write.
In this section, we're going to dive into unit testing — you'll get the rundown on its structure in Java and the ins and outs of crafting them the right way. Setting up your IDE, importing necessary libraries, and lots of hands-on practice.
In this section, we will enhance our coding skills by dealing with errors that can also be caught in unit tests. When testing an application, you may come across various errors, and sometimes they should be turned into exceptions. I will explain how to catch exceptions in your code, test them, and handle them properly.
Module 6 / Multithreading in Java
This section will delve into the foundational concepts of multithreading in Java, focusing on the creation and management of threads, and the use of synchronization techniques to avoid conflicts. You’ll also learn how to utilize essential keywords and methods to ensure the accurate and reliable execution of multithreaded programs, providing a solid understanding of how to handle concurrency effectively in your applications.
This section explores synchronized collections in Java, explaining their purpose and the common concurrency issues they are designed to solve. You’ll gain insights into how these collections work, why they are essential in multithreaded environments, and how they help ensure safe and consistent data manipulation when multiple threads access shared resources.
- Collections with Multithreading SupportFörhandsgranska
- Parallel Stream APIFörhandsgranska
- BlockingQueue and its ImplementationsFörhandsgranska
- Сhallenge BlockingQueueFörhandsgranska
- ConcurrentMap and its ImplementationsFörhandsgranska
- Challenge ConcurrentMapFörhandsgranska
- CopyOnWrite CollectionFörhandsgranska
- Examples of Using Collections MethodsFörhandsgranska
This section covers high-level synchronization mechanisms in Java, such as the use of Lock and Condition, semaphores, barriers, atomic variables, and thread pooling with Executors. Each topic is paired with practical exercises designed to reinforce your understanding and help you apply the theoretical knowledge to real-world scenarios.
This section explores fundamental multithreaded programming patterns and practices such as Producer-Consumer, Fork/Join, ThreadLocal, and asynchronous programming with CompletableFuture. You'll work through examples and see the practical outcomes of these approaches, gaining hands-on experience that will enable you to apply these techniques effectively in real-world applications.
Module 7 / Stream API
Discover how Stream API revolutionizes data processing in Java with its expressive and functional approach. Explore its architecture, principles, and key functional features to write concise and efficient code.
- ArchitectureFörhandsgranska
- PrinciplesFörhandsgranska
- What Is a Functional Interface?Förhandsgranska
- Predicate: Data FilteringFörhandsgranska
- Challenge: Filtering Corporate Email AddressesFörhandsgranska
- Function: Data TransformationFörhandsgranska
- Challenge: Income Tax CalculationFörhandsgranska
- Comparable: Natural Ordering of DataFörhandsgranska
- Comparator: Custom Comparison of DataFörhandsgranska
- Challenge: Sorting EmployeesFörhandsgranska
- Consumer: Processing DataFörhandsgranska
- Supplier: Data GenerationFörhandsgranska
- Bi-versions of Functional InterfacesFörhandsgranska
- Challenge: Filtering Users by Two CriteriaFörhandsgranska
- BinaryOperator: Combining Two ValuesFörhandsgranska
Learn about various intermediate operations available in the Stream API that allow you to manipulate and process data in a functional style. These operations, such as filtering, transforming, and sorting, enable you to efficiently work with collections and perform tasks like removing duplicates, limiting results, or handling nested structures. Each operation can be combined to create powerful data pipelines, making your code more concise and readable.
- Transforming Elements with the map() MethodFörhandsgranska
- Filtering Elements with the filter() MethodFörhandsgranska
- Challenge: Factory Product FilteringFörhandsgranska
- Working with Nested Structures with the flatMap() MethodFörhandsgranska
- Arranging Items in Order with the sorted() MethodFörhandsgranska
- Challenge: Selecting the Best Cars on the Production LineFörhandsgranska
- Eliminating Duplicates with the distinct() MethodFörhandsgranska
- Challenge: Factory Quality ControlFörhandsgranska
- Restricting and Skipping Elements with the limit() and skip() MethodsFörhandsgranska
- Challenge: Finding the Top 3 Hardest-Working EmployeesFörhandsgranska
- Intermediate Processing with the peek() MethodFörhandsgranska
Learn about various terminal operations available in the Stream API that allow you to process and retrieve data efficiently. These operations, such as collecting, reducing, and counting, enable you to aggregate results, find specific elements, or perform side effects like printing or writing to a file. Understanding these operations helps you efficiently handle data processing tasks while keeping your code concise and expressive.
- collect() Gathering Stream Elements into a CollectionFörhandsgranska
- Challenge: Build a Custom Collector for Category CountingFörhandsgranska
- Collectors Utility Class for Stream APIFörhandsgranska
- Processing Elements with the forEach() MethodFörhandsgranska
- Handling Values with the Optional ClassFörhandsgranska
- Aggregating Elements with the reduce() MethodFörhandsgranska
- Challenge: Calculating Total Cost with Discounts and TaxFörhandsgranska
- Calculating Stream Statistics with count(), max(), and min()Förhandsgranska
- Retrieving Stream Summary Metrics with summaryStatistics() MethodFörhandsgranska
- Retrieving Elements from a Stream with findFirst() and findAny()Förhandsgranska
- Challenge: Selecting Random Products Within a CategoryFörhandsgranska
- Checking Stream Elements Against a Condition with allMatch()Förhandsgranska
- Challenge: Ensuring Fast Delivery for Expensive ProductsFörhandsgranska
Discover how to apply Stream API in real-world scenarios, improving code readability and efficiency. Learn how to refactor existing code, analyze performance trade-offs, and handle exceptions properly. Will help you write cleaner and more maintainable Java code using Stream API.
Requirements
- A computer with a browser - all browsers are supported.
- Your enthusiasm to enhance your tech skills.
- Everything else needed to start learning and practicing is already included in this course.
Over 200,000 5-star ratings and counting
Ruslan Kravchuk
Det viktigaste är att lära sig och inte ge upp
Materialet är bra, det finns mycket att lära, allt för att bli bättre och det viktigaste är att lära sig det man vill....
Matteo Comune
Tack vare dem lär jag mig mycket…
Tack vare dem lär jag mig mycket snabbare eftersom de hjälper dig att förstå allt från grunden. Det är den bästa webbplatsen som hjälper personer utan IT-bakgrund...
Yuliana Cadavid
Utmärkt kurs för nybörjare
Utmärkt kurs för nybörjare, de testar dina kunskaper i varje lektion...
Elpunzon
Jag njuter av min Codefinity-upplevelse…
Jag njuter av min Codefinity-upplevelse med att lära mig Python. Det självstyrda lärsättet är fantastiskt eftersom jag kan anpassa det efter mitt schema...
Alexandru Alexandru
Det är trevligt att lära sig från Codefinity
Det är trevligt att lära sig från Codefinity. Det är enkelt och har bra exempel på vad jag lärt mig här...
jacob Templet
Easy to follow along with and provides…
Lätt att följa med i och ger utmaningar i min vardag. Utmaningen får mig att vilja lära mig dag efter dag...
Elan
Codefinity är ett heltäckande lärverktyg…
Codefinity är ett heltäckande lärverktyg som hjälper dig att utveckla dina färdigheter som mjukvaruingenjör eller datavetare. Övningarna är roliga och ett bra sätt att skärpa dina kunskaper...
Thibault
Första gången jag lär mig att koda
Första gången jag lär mig att koda och lyckas med Codefinity - tack...
Adrien Morel
Väl utformad för totala nybörjare
Väl utformad för totala nybörjare, med stegvis utveckling som får mig att känna mig trygg....
_Gracy
det är helt enkelt perfekt förklarat
det är helt enkelt perfekt förklarat! Hittills har jag inte upplevt några svårigheter eftersom allt är så välorganiserat...
Ruslan Kravchuk
Det viktigaste är att lära sig och inte ge upp
Materialet är bra, det finns mycket att lära, allt för att bli bättre och det viktigaste är att lära sig det man vill....
Matteo Comune
Tack vare dem lär jag mig mycket…
Tack vare dem lär jag mig mycket snabbare eftersom de hjälper dig att förstå allt från grunden. Det är den bästa webbplatsen som hjälper personer utan IT-bakgrund...
Yuliana Cadavid
Utmärkt kurs för nybörjare
Utmärkt kurs för nybörjare, de testar dina kunskaper i varje lektion...
Elpunzon
Jag njuter av min Codefinity-upplevelse…
Jag njuter av min Codefinity-upplevelse med att lära mig Python. Det självstyrda lärsättet är fantastiskt eftersom jag kan anpassa det efter mitt schema...
Alexandru Alexandru
Det är trevligt att lära sig från Codefinity
Det är trevligt att lära sig från Codefinity. Det är enkelt och har bra exempel på vad jag lärt mig här...
jacob Templet
Easy to follow along with and provides…
Lätt att följa med i och ger utmaningar i min vardag. Utmaningen får mig att vilja lära mig dag efter dag...
Elan
Codefinity är ett heltäckande lärverktyg…
Codefinity är ett heltäckande lärverktyg som hjälper dig att utveckla dina färdigheter som mjukvaruingenjör eller datavetare. Övningarna är roliga och ett bra sätt att skärpa dina kunskaper...
Thibault
Första gången jag lär mig att koda
Första gången jag lär mig att koda och lyckas med Codefinity - tack...
Adrien Morel
Väl utformad för totala nybörjare
Väl utformad för totala nybörjare, med stegvis utveckling som får mig att känna mig trygg....
_Gracy
det är helt enkelt perfekt förklarat
det är helt enkelt perfekt förklarat! Hittills har jag inte upplevt några svårigheter eftersom allt är så välorganiserat...
Data Engineer
Certifikat för slutförande
Visa dina nyförvärvade färdigheter. Du har förtjänat det
Discover more
Learning tracks
Endast för Ultimate
1 Kurs
1 Projekt
0 Task
Endast för Ultimate
7 Kurser
345 Uppgifter
Endast för Ultimate
4 Kurser
98 Uppgifter
Endast för Ultimate
5 Kurser
145 Uppgifter
Endast för Ultimate
4 Kurser
115 Uppgifter
Endast för Ultimate
6 Kurser
101 Uppgifter
Endast för Ultimate
6 Kurser
195 Uppgifter
Endast för Ultimate
5 Kurser
144 Uppgifter
Endast för Ultimate
3 Kurser
1 Projekt
125 Uppgifter
Endast för Ultimate
4 Kurser
143 Uppgifter
Endast för Ultimate
5 Kurser
180 Uppgifter
Endast för Ultimate
5 Kurser
165 Uppgifter
Endast för Ultimate
6 Kurser
308 Uppgifter
Endast för Ultimate
6 Kurser
252 Uppgifter
Endast för Ultimate
8 Kurser
2 Projekt
185 Uppgifter
Endast för Ultimate
2 Kurser
89 Uppgifter
Endast för Ultimate
7 Kurser
293 Uppgifter
Endast för Ultimate
1 Projekt
0 Task
Endast för Ultimate
2 Kurser
21 Uppgifter
Endast för Ultimate
5 Kurser
139 Uppgifter
Endast för Ultimate
2 Kurser
0 Task
Endast för Ultimate
4 Kurser
81 Uppgifter
Endast för Ultimate
13 Kurser
555 Uppgifter
Endast för Ultimate
13 Kurser
555 Uppgifter
Endast för Ultimate
1 Kurs
0 Task
Endast för Ultimate
0 Task
Endast för Ultimate
6 Kurser
180 Uppgifter
Endast för Ultimate
3 Kurser
70 Uppgifter
Endast för Ultimate
7 Kurser
282 Uppgifter
Endast för Ultimate
5 Kurser
239 Uppgifter
Endast för Ultimate
4 Kurser
125 Uppgifter
Endast för Ultimate
3 Kurser
119 Uppgifter
Endast för Ultimate
1 Kurs
15 Uppgifter
Endast för Ultimate
3 Kurser
75 Uppgifter
Endast för Ultimate
3 Kurser
41 Uppgifter
Endast för Ultimate
3 Kurser
180 Uppgifter
Endast för Ultimate
3 Kurser
61 Uppgifter
Endast för Ultimate
2 Kurser
1 Projekt
38 Uppgifter
Endast för Ultimate
3 Kurser
36 Uppgifter
Endast för Ultimate
2 Kurser
1 Projekt
38 Uppgifter
Endast för Ultimate
5 Kurser
134 Uppgifter
Endast för Ultimate
5 Kurser
211 Uppgifter
Endast för Ultimate
5 Kurser
206 Uppgifter
Endast för Ultimate
3 Kurser
2 Projekt
59 Uppgifter
Learning tracks
spår
TEST TRACK 12
Nybörjare
4.0
(9121)
spår
Fullstack Webbutveckling
Nybörjare
4.6
(58)
spår
Bli en React-Utvecklare
Medelnivå
4.9
(7)
spår
Bemästra Datavisualisering
Medelnivå
4.6
(7)
spår
SQL från Nybörjare till Expert
Nybörjare
4.7
(93)
spår
C++-Grunder
Nybörjare
4.4
(17)
spår
Python från Noll till Hjälte
Nybörjare
4.7
(287)
spår
Övervakad Maskininlärning
Medelnivå
4.9
(7)
spår
Python Bortom Mellanliggande
Nybörjare
4.7
(3)
spår
Spelutveckling med Unity
Nybörjare
4.6
(7)
spår
Become a Django Developer
Avancerad
4.5
(28)
spår
Flask for Dummies
Medelnivå
4.5
(32)
spår
Grunderna i Frontend-Utveckling
Nybörjare
4.6
(53)
spår
Web Developer from Zero to Hero
Nybörjare
4.6
(57)
spår
Preparation for Data Science
Medelnivå
4.5
(11)
spår
Deep Learning Odyssey
Avancerad
5.0
(3)
spår
Webbutveckling med C#
Nybörjare
4.8
(98)
spår
TEST E2E TRACK BEGINNER
Nybörjare
spår
Test Track
4.7
(3)
spår
Skilled Python BackEnd Developer
Avancerad
4.7
(264)
spår
Test Recalculate
Nybörjare
spår
Excel-Grunder
Nybörjare
4.5
(39)
spår
Full-Stack .NET Developer Journey
Medelnivå
4.8
(129)
spår
Full-Stack .NET Developer Journey
Medelnivå
4.8
(129)
spår
Test track with rating
Avancerad
4.0
(4)
spår
TEST TEST TRACK
Nybörjare
spår
Dataanalytiker Grundläggande
Nybörjare
4.7
(116)
spår
C++ Mästerskap
Avancerad
spår
Java Web
Avancerad
4.5
(31)
spår
Bli en QA-Ingenjör
Nybörjare
4.5
(44)
spår
Videoproduktion med Adobe
Nybörjare
spår
UI/UX Designverktyg
Nybörjare
spår
Test image upload track
Nybörjare
spår
Grundläggande Kontorsfärdigheter
Nybörjare
4.6
(24)
spår
GitHub from Zero to Hero
Nybörjare
spår
No-Code Website Development
Nybörjare
spår
C Programming & Low-Level Development
Nybörjare
spår
testes
Nybörjare
4.7
(3)
spår
Test translation track
Medelnivå
spår
Test CMS Track
Nybörjare
4.7
(3)
spår
Python for Data Analysis
Medelnivå
4.6
(9)
spår
Digital Marketing Essentials
Nybörjare
spår
Complete Social Media Management
Nybörjare
spår
Business AI Toolkit
Nybörjare
4.5
(2)
Become a Development expert
Interactive exercises
Learning videos
AI-assistant on all courses
Workspaces for designing your own projects
Ready to get started?
ProBest intro offer | UltimateA complete experience to kickstart your career | |
---|---|---|
85+ Top-Rated courses | ||
Completion certificates | ||
AI-Assistant in all courses | ||
20+ hands-on Real-world projects | ||
Personalized study tracks | ||
Unlimited workspaces | ||
Boost your Tech Skills!
with up to 55% off
What you'll get with our subscription:
Access to 85+ top-rated courses
AI-driven Learning
Workspaces for practicing your skills
Personalized study tracks
Certificates of completion
Training 2 or more people?
Get your team access to Codefinity courses anytime, anywhere.
Try Codefinity Teams