Skip to content
geeksforgeeks
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • Tutorials
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
  • Practice
    • GfG 160: Daily DSA
    • Problem of the Day
    • Practice Coding Problems
    • GfG SDE Sheet
  • Java Arrays
  • Java Strings
  • Java OOPs
  • Java Collection
  • Java 8 Tutorial
  • Java Multithreading
  • Java Exception Handling
  • Java Programs
  • Java Project
  • Java Collections Interview
  • Java Interview Questions
  • Java MCQs
  • Spring
  • Spring MVC
  • Spring Boot
  • Hibernate
Open In App
Next Article:
Learn Java on Your Own in 20 Days - Free!
Next article icon

Learn Java on Your Own in 20 Days - Free!

Last Updated : 10 Sep, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report

Indeed, JAVA is one of the most demanding programming languages in the IT world. Statistically, there are around 7-8 million JAVA Developers across the world and the number is growing rapidly. Needless to say, JAVA has a lot of career opportunities in the tech market and the language will undoubtedly remain in demand in the upcoming times as well. Moreover, all the aspiring developers who want to make it big in the programming world can take JAVA into consideration. Additionally, you can learn this particular language efficiently by following a relevant pathway and with genuine hard work & dedication. 

Table of Content

  • Java in 20 Days
    • 1. Start with the Fundamentals (Day: 1)
    • 2. Learn DataTypes, Variables & Conditional Statements (Day: 2-3)
    • 3. Understand Arrays & String Manipulation in JAVA (Day: 4-5)
    • 4. Get Familiar with Classes, Objects & Methods (Day: 6-8)
    • 5. Gear Up to the OOPs concepts (Day: 9-10)
    • 6. Learn about Interfaces & Packages in JAVA (Day: 11-13)
    • 7. Go Through Exception Handling, I/O Streams & Multithreading Concepts (Day: 14-16)
    • 8. Understand Collection Framework, AWT & SWING (Day: 17-20)

Before moving further, let's take a look at the origin of the language. JAVA was developed by James Gosling at Sun Microsystems in 1995 and the language runs on different platforms such as Windows, Mac, Linux, etc. The language is majorly used for building enterprise-scale web applications and Android apps. Also, the salaries of JAVA developers are comparatively higher in comparison to various other languages. Here in this article, we will let you know about the structured roadmap or curriculum that you need to follow to learn JAVA in a mere 20 days! 

Learn Java programming with this self-paced course specially curated by Sandeep Jain (Founder & CEO GeeksforGeeks) for beginners to help them grasp the basics of Java in just 20 days! Enroll now in our Java Programming Foundation - Self Paced and improve your skills.

Java in 20 Days

Learn-Java-on-Your-Own-in-20-Days-Free-of-Cost-With-GeeksforGeeks

1. Start with the Fundamentals (Day: 1)

Whether it be JAVA or any other programming language, you're always required to understand the nature and basics of the language before proceeding to the core concepts. You can start with the introduction of the language, its features, applications, etc. Meanwhile, you also need to know how to set up the JAVA environment in a system and can consider creating, compiling, and executing your first Java Program as well. It will help you to get familiar with the basic syntax of the language and other aspects. You can explore several Integrated Development Environments (IDEs) as well such as Eclipse, Netbeans, etc.  

  • Introduction to Java & Its Features
  • Java Virtual Machine (JVM)
  • Setting Up the JAVA Environment
  • Hello World Program in JAVA
  • Integrated Development Environments (IDEs) for JAVA

2. Learn DataTypes, Variables & Conditional Statements (Day: 2-3)

Once you'll get done with the basics, now you need to learn several other crucial concepts that can be considered as prerequisites before working on any language. You need to know how to declare variables in JAVA, how to implement conditional statements, modifiers & operators in JAVA, etc. You are also recommended to learn about the implementation of loop statements in JAVA. Moreover, you can practice several basic programs based on the relevance to particular topics for a better understanding of the concepts.  

  • Data Types | Variables
  • Conditional Statements
  • Loops in JAVA
  • Modifiers | Operators
  • Programs: Swapping of numbers, Factorial, Fibonacci Series, etc.

3. Understand Arrays & String Manipulation in JAVA (Day: 4-5)

Okay, now take a step forward and start to learn the concepts like Array, Strings, etc in JAVA. You're required to understand how to create an Array & access its elements, Strings in JAVA, and other related concepts. Meanwhile, the working of Arrays in JAVA is different in comparison to C/C++ as in Java all arrays are dynamically allocated and various other features as well. Also, you can explore some additional tips such as Type conversions, Scope of Variables, etc. to clarify your concepts.  

  • Arrays | Strings
  • Array vs ArrayList in Java
  • Scope of Variables
  • Type Conversion in Java
  • Switch Statement in Java 

4. Get Familiar with Classes, Objects & Methods (Day: 6-8)

After going through the above-mentioned topics, you will have a decent base that is required to learn any programming language. Now, you're required to understand the basic building blocks of JAVA i.e, Classes & Objects. You're required to understand what are the Classes in JAVA, how to create an Object, etc thoroughly. Moreover, you need to learn about the Methods in JAVA, what are their significance, and how to create & use them. You also need to learn about Constructors which is a crucial part of JAVA programming. 

  • Classes & Objects
  • Methods in Java
  • Method Overloading | Method Overriding
  • Parameter Passing in JAVA
  • Constructors in Java

5. Gear Up to the OOPs concepts (Day: 9-10)

Now, it's time to get into the core of JAVA programming - Object-Oriented Programming (OOPs) Concepts. JAVA is an Object-Oriented Programming Language that works on various principles such as Polymorphism, Inheritance, Encapsulation, and Abstraction. You need to command these paradigms to learn the language more efficiently. Moreover, you will be able to understand the topics like overloading, overriding, etc. more credibly, once you'll get done with the understanding of OOPs concepts. 

  • Inheritance | Encapsulation
  • Polymorphism | Runtime Polymorphism
  • Abstraction
  • Super Keyword | This Keyword | Final Keyword
  • Association, Composition, and Aggregation 

6. Learn about Interfaces & Packages in JAVA (Day: 11-13)

After going through the OOPs concepts, now you need to dive deeper into the JAVA programming world. You are required to cover topics like Interfaces, Packages, Abstract Class, etc. Precisely, an interface can also have methods and variables, but the methods declared in an interface are by default abstract. On the other hand, Packages in Java are a process to encapsulate a group of classes, sub-packages, and interfaces. Here you can cover several other topics also such as the difference between Abstract Class and Interface in Java, Nested Interface, etc. 

  • Interfaces | Packages
  • Nested Interface | Marker Interface
  • Abstract Classes
  • Difference between Abstract Class & Interface
  • Java.Time, Java.Lang, Java.Math and other packages

7. Go Through Exception Handling, I/O Streams & Multithreading Concepts (Day: 14-16)

Now, it's time to understand concepts like how to deal with exceptions and warnings in JAVA - Exception Handling, concurrent execution of two or more parts of a program - Multithreading, input and output streams in Java - I/O Streams, etc. Also, you need to learn about Regular Expressions (Regex) in Java for defining String patterns that can be used for searching, manipulating, and editing text. These concepts are very crucial for understanding the deep functioning of JAVA and also play a vital role in program or project development.  

  • Exception Handling
  • Types of Exceptions
  • Multithreading in JAVA
  • Regular Expression in JAVA
  • File Handling in JAVA

8. Understand Collection Framework, AWT & SWING (Day: 17-20)

Okay, now you're required to emphasize on implementation aspects also of all the concepts and theoretical knowledge you've covered in the above stages. You need to know about the Collection Framework that defines several classes and interfaces to represent a group of objects as a single unit. Meanwhile, you're also required to get familiar with Abstract Window Toolkit (AWT) and Swing in JAVA to work on several minor and major projects with Graphical User Interface (GUI).  

  • Collections in Java
  • Generics in Java
  • Java Swing | Simple Calculator
  • Java AWT
  • JAVA Projects

So this is a thorough roadmap that you need to follow to get into the JAVA programming world. Meanwhile, as per the above-mentioned stages, there are nearly 40 topics all over i.e., you just need to cover 2 topics per day (not so tough!) to cover the whole curriculum in just 20 days!! Now, what are you waiting for? Start learning JAVA now and put all your hard work and dedication to get command over it.


Next Article
Learn Java on Your Own in 20 Days - Free!

M

madhur912
Improve
Article Tags :
  • Java
  • GBlog
  • Programming Language
  • GBlog 2024
Practice Tags :
  • Java

Similar Reads

  • How to Learn Python in 21 Days
    At present, Python is one of the most versatile and demanded programming languages in the IT world. Statistically, there are around 8-9 Million Python developers across the world and the number is increasing rapidly. Meanwhile, the average salary of an Entry-Level Python Developer in India is around
    9 min read
  • How to Learn CSS in 21 Days ?
    Have you ever wondered how an actual website is being created? For those who don’t know, all it requires is knowledge of HTML and CSS to create a simple website. Coming to our today’s agenda, keeping this in mind, today, with the help of this article, we’re going to share some of the most fascinatin
    8 min read
  • Learn Machine Learning in 45 Days
    Machine Learning has become one of the most demanding technologies in the world. It is well capable of automating tasks and too with intelligence (like a human touch). This process allows machines to automate tasks by delivering intelligence via machines. Machine Learning has drastically surged in t
    7 min read
  • Best Free JavaScript Online Courses in 2025
    Want to become a JavaScript developer without paying any FEE? There are many courses available in the market for which you have to pay thousands to lakhs of rupees, but what if you register for a course without paying even a single penny? Yes, that's possible. In this blog, let's talk about some of
    5 min read
  • 5 Steps to Learn to Code in Any Programming Language
    Suppose you want to dive deep into machine learning, but you didn't know Python or you want to switch to Full Stack Development and worried that you never code with JavaScript, well this is the common problems students often faced when they want to explore a new exciting field in computer science. A
    9 min read
  • Learn with GeeksforGeeks Course - Best Courses To Land Job In Your Dream Company
    Please refer GeeksforGeeks - FREE & Paid Courses for the latest list of courses.Do you want to learn more about Data Structures and Algorithms to help in your placement process? Or maybe you want to focus on your basics and learn C++, Python, or Java? Be it learning complex topics like Machine L
    11 min read
  • How to Learn Data Science in 10 weeks?
    The magic of “Data Science” has exploded in the entire market and has become a major wagon for all scales of businesses. Today, the decisions companies are making along with the forecast are solely dependent on data science. The field of data science has grown more than 3x folds, especially during t
    8 min read
  • How To Learn Machine Learning in 2025
    Machine learning is setting the future in terms of technologies like recommendation systems, virtual assistants and self-driving cars with endless applications making data science, engineers and geeks consider it to be a requirement for them to possess.This easy-to-read guide will give you a head st
    15+ min read
  • 30 Days to Form a New Habit of Coding – Are You In?
    Many times we have seen people, especially students, complaining about how they can't maintain consistency while doing Coding and solving programming problems. All the excitement and enthusiasm of the beginners often get disappeared as time passes. The scenario somehow looks like this: Day - 1: Task
    5 min read
  • How to land your Dream Job: Three 90 Challenge
    In today's highly competitive job market, only a resume or degree in itself will not be enough; one needs to stand out. Employers are eagerly looking for candidates who in addition to practical skills. The Three 90 Challenge is thus a way to meet such requirements and position oneself among the best
    5 min read
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

'); // $('.spinner-loading-overlay').show(); let script = document.createElement('script'); script.src = 'https://assets.geeksforgeeks.org/v2/editor-prod/static/js/bundle.min.js'; script.defer = true document.head.appendChild(script); script.onload = function() { suggestionModalEditor() //to add editor in suggestion modal if(loginData && loginData.premiumConsent){ personalNoteEditor() //to load editor in personal note } } script.onerror = function() { if($('.editorError').length){ $('.editorError').remove(); } var messageDiv = $('
').text('Editor not loaded due to some issues'); $('#suggestion-section-textarea').append(messageDiv); $('.suggest-bottom-btn').hide(); $('.suggestion-section').hide(); editorLoaded = false; } }); //suggestion modal editor function suggestionModalEditor(){ // editor params const params = { data: undefined, plugins: ["BOLD", "ITALIC", "UNDERLINE", "PREBLOCK"], } // loading editor try { suggestEditorInstance = new GFGEditorWrapper("suggestion-section-textarea", params, { appNode: true }) suggestEditorInstance._createEditor("") $('.spinner-loading-overlay:eq(0)').remove(); editorLoaded = true; } catch (error) { $('.spinner-loading-overlay:eq(0)').remove(); editorLoaded = false; } } //personal note editor function personalNoteEditor(){ // editor params const params = { data: undefined, plugins: ["UNDO", "REDO", "BOLD", "ITALIC", "NUMBERED_LIST", "BULLET_LIST", "TEXTALIGNMENTDROPDOWN"], placeholderText: "Description to be......", } // loading editor try { let notesEditorInstance = new GFGEditorWrapper("pn-editor", params, { appNode: true }) notesEditorInstance._createEditor(loginData&&loginData.user_personal_note?loginData.user_personal_note:"") $('.spinner-loading-overlay:eq(0)').remove(); editorLoaded = true; } catch (error) { $('.spinner-loading-overlay:eq(0)').remove(); editorLoaded = false; } } var lockedCasesHtml = `You can suggest the changes for now and it will be under 'My Suggestions' Tab on Write.

You will be notified via email once the article is available for improvement. Thank you for your valuable feedback!`; var badgesRequiredHtml = `It seems that you do not meet the eligibility criteria to create improvements for this article, as only users who have earned specific badges are permitted to do so.

However, you can still create improvements through the Pick for Improvement section.`; jQuery('.improve-header-sec-child').on('click', function(){ jQuery('.improve-modal--overlay').hide(); $('.improve-modal--suggestion').hide(); jQuery('#suggestion-modal-alert').hide(); }); $('.suggest-change_wrapper, .locked-status--impove-modal .improve-bottom-btn').on('click',function(){ // when suggest changes option is clicked $('.ContentEditable__root').text(""); $('.suggest-bottom-btn').html("Suggest changes"); $('.thank-you-message').css("display","none"); $('.improve-modal--improvement').hide(); $('.improve-modal--suggestion').show(); $('#suggestion-section-textarea').show(); jQuery('#suggestion-modal-alert').hide(); if(suggestEditorInstance !== null){ suggestEditorInstance.setEditorValue(""); } $('.suggestion-section').css('display', 'block'); jQuery('.suggest-bottom-btn').css("display","block"); }); $('.create-improvement_wrapper').on('click',function(){ // when create improvement option clicked then improvement reason will be shown if(loginData && loginData.isLoggedIn) { $('body').append('
'); $('.spinner-loading-overlay').show(); jQuery.ajax({ url: writeApiUrl + 'create-improvement-post/?v=1', type: "POST", contentType: 'application/json; charset=utf-8', dataType: 'json', xhrFields: { withCredentials: true }, data: JSON.stringify({ gfg_id: post_id }), success:function(result) { $('.spinner-loading-overlay:eq(0)').remove(); $('.improve-modal--overlay').hide(); $('.unlocked-status--improve-modal-content').css("display","none"); $('.create-improvement-redirection-to-write').attr('href',writeUrl + 'improve-post/' + `${result.id}` + '/', '_blank'); $('.create-improvement-redirection-to-write')[0].click(); }, error:function(e) { showErrorMessage(e.responseJSON,e.status) }, }); } else { if(loginData && !loginData.isLoggedIn) { $('.improve-modal--overlay').hide(); if ($('.header-main__wrapper').find('.header-main__signup.login-modal-btn').length) { $('.header-main__wrapper').find('.header-main__signup.login-modal-btn').click(); } return; } } }); $('.left-arrow-icon_wrapper').on('click',function(){ if($('.improve-modal--suggestion').is(":visible")) $('.improve-modal--suggestion').hide(); else{ } $('.improve-modal--improvement').show(); }); const showErrorMessage = (result,statusCode) => { if(!result) return; $('.spinner-loading-overlay:eq(0)').remove(); if(statusCode == 403) { $('.improve-modal--improve-content.error-message').html(result.message); jQuery('.improve-modal--overlay').show(); jQuery('.improve-modal--improvement').show(); $('.locked-status--impove-modal').css("display","block"); $('.unlocked-status--improve-modal-content').css("display","none"); $('.improve-modal--improvement').attr("status","locked"); return; } } function suggestionCall() { var editorValue = suggestEditorInstance.getValue(); var suggest_val = $(".ContentEditable__root").find("[data-lexical-text='true']").map(function() { return $(this).text().trim(); }).get().join(' '); suggest_val = suggest_val.replace(/\s+/g, ' ').trim(); var array_String= suggest_val.split(" ") //array of words var gCaptchaToken = $("#g-recaptcha-response-suggestion-form").val(); var error_msg = false; if(suggest_val != "" && array_String.length >=4){ if(editorValue.length { jQuery('.ContentEditable__root').focus(); jQuery('#suggestion-modal-alert').hide(); }, 3000); } } document.querySelector('.suggest-bottom-btn').addEventListener('click', function(){ jQuery('body').append('
'); jQuery('.spinner-loading-overlay').show(); if(loginData && loginData.isLoggedIn) { suggestionCall(); return; } // script for grecaptcha loaded in loginmodal.html and call function to set the token setGoogleRecaptcha(); }); $('.improvement-bottom-btn.create-improvement-btn').click(function() { //create improvement button is clicked $('body').append('
'); $('.spinner-loading-overlay').show(); // send this option via create-improvement-post api jQuery.ajax({ url: writeApiUrl + 'create-improvement-post/?v=1', type: "POST", contentType: 'application/json; charset=utf-8', dataType: 'json', xhrFields: { withCredentials: true }, data: JSON.stringify({ gfg_id: post_id }), success:function(result) { $('.spinner-loading-overlay:eq(0)').remove(); $('.improve-modal--overlay').hide(); $('.create-improvement-redirection-to-write').attr('href',writeUrl + 'improve-post/' + `${result.id}` + '/', '_blank'); $('.create-improvement-redirection-to-write')[0].click(); }, error:function(e) { showErrorMessage(e.responseJSON,e.status); }, }); });
"For an ad-free experience and exclusive features, subscribe to our Premium Plan!"
Continue without supporting
`; $('body').append(adBlockerModal); $('body').addClass('body-for-ad-blocker'); const modal = document.getElementById("adBlockerModal"); modal.style.display = "block"; } function handleAdBlockerClick(type){ if(type == 'disabled'){ window.location.reload(); } else if(type == 'info'){ document.getElementById("ad-blocker-div").style.display = "none"; document.getElementById("ad-blocker-info-div").style.display = "flex"; handleAdBlockerIconClick(0); } } var lastSelected= null; //Mapping of name and video URL with the index. const adBlockerVideoMap = [ ['Ad Block Plus','https://media.geeksforgeeks.org/auth-dashboard-uploads/abp-blocker-min.mp4'], ['Ad Block','https://media.geeksforgeeks.org/auth-dashboard-uploads/Ad-block-min.mp4'], ['uBlock Origin','https://media.geeksforgeeks.org/auth-dashboard-uploads/ub-blocke-min.mp4'], ['uBlock','https://media.geeksforgeeks.org/auth-dashboard-uploads/U-blocker-min.mp4'], ] function handleAdBlockerIconClick(currSelected){ const videocontainer = document.getElementById('ad-blocker-info-div-gif'); const videosource = document.getElementById('ad-blocker-info-div-gif-src'); if(lastSelected != null){ document.getElementById("ad-blocker-info-div-icons-"+lastSelected).style.backgroundColor = "white"; document.getElementById("ad-blocker-info-div-icons-"+lastSelected).style.borderColor = "#D6D6D6"; } document.getElementById("ad-blocker-info-div-icons-"+currSelected).style.backgroundColor = "#D9D9D9"; document.getElementById("ad-blocker-info-div-icons-"+currSelected).style.borderColor = "#848484"; document.getElementById('ad-blocker-info-div-name-span').innerHTML = adBlockerVideoMap[currSelected][0] videocontainer.pause(); videosource.setAttribute('src', adBlockerVideoMap[currSelected][1]); videocontainer.load(); videocontainer.play(); lastSelected = currSelected; }

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences