<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: rohit juyal</title>
    <description>The latest articles on DEV Community by rohit juyal (@rohit_juyal_c93b63c3dcf9c).</description>
    <link>https://dev.to/rohit_juyal_c93b63c3dcf9c</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3499087%2F18544edb-bab8-432b-b2bb-fb2985855abe.png</url>
      <title>DEV Community: rohit juyal</title>
      <link>https://dev.to/rohit_juyal_c93b63c3dcf9c</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rohit_juyal_c93b63c3dcf9c"/>
    <language>en</language>
    <item>
      <title># 📘 Java Basics – More of theory part.</title>
      <dc:creator>rohit juyal</dc:creator>
      <pubDate>Sun, 28 Sep 2025 07:54:51 +0000</pubDate>
      <link>https://dev.to/rohit_juyal_c93b63c3dcf9c/-java-basics-more-of-theory-part-41f2</link>
      <guid>https://dev.to/rohit_juyal_c93b63c3dcf9c/-java-basics-more-of-theory-part-41f2</guid>
      <description>&lt;p&gt;&lt;strong&gt;Date: 28 Sept 2025&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Welcome back to my Java learning journey!&lt;br&gt;
I am not counting days for blogging as it was creating a unnecessary pressure on me to blog daily. I know it's good but with job it's hard to do coding and most of my time was going into blogging which I could have diverted into coding. Blogging is not waste of time, I learn a lot when I have to explain the topic in my own words. I am just limiting it to once in a week or so.  &lt;/p&gt;


&lt;h2&gt;
  
  
  🔹 Variables in Java
&lt;/h2&gt;

&lt;p&gt;A &lt;strong&gt;variable&lt;/strong&gt; is a name given to a memory location that stores data.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Stored in &lt;strong&gt;RAM&lt;/strong&gt; during execution.&lt;/li&gt;
&lt;li&gt;We must define its &lt;strong&gt;data type&lt;/strong&gt; to indicate what kind of value it will hold.&lt;/li&gt;
&lt;li&gt;First, we &lt;strong&gt;declare&lt;/strong&gt; a variable, then we may &lt;strong&gt;initialise&lt;/strong&gt; it.
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;      &lt;span class="c1"&gt;// declaration&lt;/span&gt;
&lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;     &lt;span class="c1"&gt;// initialisation&lt;/span&gt;
&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;b&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// declaration + initialisation&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;✅ A variable can only be &lt;strong&gt;declared once&lt;/strong&gt;, but its value can be changed anytime.&lt;/p&gt;


&lt;h2&gt;
  
  
  🔹 Data Types in Java
&lt;/h2&gt;

&lt;p&gt;Java has two categories of data types:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Primitive (8 types)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Non-Primitive&lt;/strong&gt; (String, Arrays, Classes, etc.)&lt;/li&gt;
&lt;/ol&gt;


&lt;h3&gt;
  
  
  🟢 1. Primitive Data Types
&lt;/h3&gt;

&lt;p&gt;These are the most basic types in Java, predefined by the language.&lt;/p&gt;
&lt;h4&gt;
  
  
  A. Whole Numbers
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;byte&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;short&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;int&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;long&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  B. Real Numbers (Decimals)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;float&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;double&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  C. Single Character
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;char&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  D. Logical Values
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;boolean&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;⚠️ Each primitive data type has a &lt;strong&gt;predefined range&lt;/strong&gt;. For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kt"&gt;byte&lt;/span&gt; &lt;span class="n"&gt;b&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;127&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;   &lt;span class="c1"&gt;// max value&lt;/span&gt;
&lt;span class="kt"&gt;byte&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;128&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;  &lt;span class="c1"&gt;// min value&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  🟢 2. Non-Primitive Data Types
&lt;/h3&gt;

&lt;p&gt;These are built using primitive types. Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;String&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Array&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Class&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;📌 Note:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;""&lt;/code&gt; → String literal&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;''&lt;/code&gt; → Char literal (cannot be empty)&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔹 Literals
&lt;/h2&gt;

&lt;p&gt;A &lt;strong&gt;literal&lt;/strong&gt; is simply a fixed value that appears exactly as written.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Example: &lt;code&gt;10&lt;/code&gt;, &lt;code&gt;"Hello"&lt;/code&gt;, &lt;code&gt;'A'&lt;/code&gt;, &lt;code&gt;true&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 &lt;strong&gt;String is a data type&lt;/strong&gt;, and it just means &lt;strong&gt;text&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔹 Statement vs Expression
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Expression&lt;/strong&gt; → Anything that produces a value.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Statement&lt;/strong&gt; → A complete command that can be executed (usually ends with &lt;code&gt;;&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Examples:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;        &lt;span class="c1"&gt;// Expression → produces 7&lt;/span&gt;
&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// Statement → assigns 7 to variable x&lt;/span&gt;
&lt;span class="s"&gt;"Hello"&lt;/span&gt;      &lt;span class="c1"&gt;// String literal → an expression&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🔹 Keywords
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Keywords&lt;/strong&gt; are reserved words in Java with predefined meaning.&lt;br&gt;
Examples: &lt;code&gt;class&lt;/code&gt;, &lt;code&gt;public&lt;/code&gt;, &lt;code&gt;static&lt;/code&gt;, &lt;code&gt;void&lt;/code&gt;, &lt;code&gt;int&lt;/code&gt;, &lt;code&gt;if&lt;/code&gt;, &lt;code&gt;else&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;❌ You &lt;strong&gt;cannot&lt;/strong&gt; use keywords as variable names.&lt;/p&gt;


&lt;h2&gt;
  
  
  🔹 Output in Java
&lt;/h2&gt;

&lt;p&gt;Using &lt;code&gt;System.out.println()&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;println("Hello")&lt;/code&gt; → prints text and moves to the next line.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;println()&lt;/code&gt; → prints a &lt;strong&gt;blank line&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Java is fun!"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt; &lt;span class="c1"&gt;// blank line&lt;/span&gt;
&lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Let's learn more..."&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🔹 Playing with JShell
&lt;/h2&gt;

&lt;p&gt;JShell is an interactive tool for running Java code without creating a full class.&lt;/p&gt;

&lt;p&gt;Some useful commands:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;/list&lt;/code&gt; → shows commands entered so far&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/var&lt;/code&gt; → lists variables created&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;ctrl + c&lt;/code&gt; → cancels a process&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/exit&lt;/code&gt; → exits JShell&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;📌 In JShell, each line is treated as a &lt;strong&gt;statement&lt;/strong&gt;, so &lt;code&gt;;&lt;/code&gt; is optional.&lt;/p&gt;




&lt;h2&gt;
  
  
  📝 Wrap-up
&lt;/h2&gt;

&lt;p&gt;Today I learned:&lt;br&gt;
✔ What variables are and how to declare/initialize them&lt;br&gt;
✔ Primitive vs Non-primitive data types&lt;br&gt;
✔ Statements vs Expressions&lt;br&gt;
✔ What literals and keywords mean&lt;br&gt;
✔ How to use &lt;code&gt;System.out.println()&lt;/code&gt; for output&lt;br&gt;
✔ Some handy JShell commands&lt;/p&gt;




&lt;h3&gt;
  
  
  Self Notes
&lt;/h3&gt;

&lt;p&gt;Coding is a serious thing, in last two days I wasted much of my time in other activities. I have realised my mistake and now I will code daily. I am already short of time and wasting time isn't good. I won't be scrolling social media now on.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>devjournal</category>
      <category>java</category>
    </item>
    <item>
      <title>Hello Java</title>
      <dc:creator>rohit juyal</dc:creator>
      <pubDate>Thu, 25 Sep 2025 09:32:11 +0000</pubDate>
      <link>https://dev.to/rohit_juyal_c93b63c3dcf9c/hello-java-738</link>
      <guid>https://dev.to/rohit_juyal_c93b63c3dcf9c/hello-java-738</guid>
      <description>&lt;h2&gt;
  
  
  Java Learning Journey: Day 02 ✨
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Date:&lt;/strong&gt; 25 Sept, 2025&lt;/p&gt;

&lt;p&gt;Hello everyone 👋 Today I wrote my very first Java program:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Hello&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;print&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Hello java"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🔎 Breaking Down the Code
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Semicolon &lt;code&gt;;&lt;/code&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Tells the compiler (&lt;code&gt;javac&lt;/code&gt;) that one instruction has ended.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Methods (Functions)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;method&lt;/strong&gt; performs a specific action.&lt;/li&gt;
&lt;li&gt;Methods can be &lt;strong&gt;predefined&lt;/strong&gt; (like &lt;code&gt;System.out.print()&lt;/code&gt;) or &lt;strong&gt;user-defined&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;We can pass data into methods called as &lt;strong&gt;arguments&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 Example here:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;print&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Hello java"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Prints the string &lt;code&gt;"Hello java"&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;"Hello java"&lt;/code&gt; is a &lt;strong&gt;string literal&lt;/strong&gt; (just text).&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Curly Braces &lt;code&gt;{ }&lt;/code&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Used for grouping code together into a &lt;strong&gt;block&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Classes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;In Java, &lt;em&gt;everything&lt;/em&gt; lives inside a &lt;strong&gt;class&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Hello&lt;/code&gt; is our class name.&lt;/li&gt;
&lt;li&gt;Convention: class names start with a &lt;strong&gt;capital letter&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;💡 &lt;strong&gt;Important:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If a class is declared &lt;code&gt;public&lt;/code&gt;, the filename must match the class name.&lt;/li&gt;
&lt;li&gt;Public class → &lt;code&gt;Hello.java&lt;/code&gt; ✅&lt;/li&gt;
&lt;li&gt;Non-public class → filename can be anything (but best practice is to match).&lt;/li&gt;
&lt;li&gt;&lt;p&gt;No matter what it will name bytecode file same as class name.&lt;br&gt;
Remember:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We &lt;strong&gt;compile files&lt;/strong&gt; (&lt;code&gt;javac Hello.java&lt;/code&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We &lt;strong&gt;run classes&lt;/strong&gt; (&lt;code&gt;java Hello&lt;/code&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  The &lt;code&gt;main&lt;/code&gt; Method
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt; &lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is special in Java:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Entry point&lt;/strong&gt; of the program.&lt;/li&gt;
&lt;li&gt;Execution starts here.&lt;/li&gt;
&lt;li&gt;Must be &lt;strong&gt;public&lt;/strong&gt; → JVM can access it.&lt;/li&gt;
&lt;li&gt;Must be &lt;strong&gt;static&lt;/strong&gt; → JVM can call it without creating an object.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;void&lt;/strong&gt; → no return value.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;String[] args&lt;/code&gt; → command-line arguments (will learn later).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 Without the &lt;code&gt;main&lt;/code&gt; method, the program compiles fine, but the &lt;strong&gt;JVM can’t run it&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;code&gt;public&lt;/code&gt;, &lt;code&gt;static&lt;/code&gt;, &lt;code&gt;void&lt;/code&gt; — Quick Notes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;public&lt;/code&gt; → anyone can access it.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;static&lt;/code&gt; → belongs to the class, not an object (deep dive later).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;void&lt;/code&gt; → no return value.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🖥️ Running the Program
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Compile the program
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;javac Hello.java
&lt;span class="nb"&gt;ls&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Hello.java  Hello.class
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Run the program
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;java Hello
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Hello java
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  ⚡ Bonus: JShell
&lt;/h2&gt;

&lt;p&gt;I also explored &lt;strong&gt;JShell&lt;/strong&gt;, a REPL (Read–Eval–Print–Loop) included in JDK.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Read&lt;/strong&gt; → takes your input&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Evaluate&lt;/strong&gt; → runs it&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Print&lt;/strong&gt; → shows the result&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Loop&lt;/strong&gt; → waits for more commands&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 JShell is not an IDE. Its main purpose is &lt;strong&gt;quick testing&lt;/strong&gt;, not for full development.&lt;/p&gt;

&lt;h3&gt;
  
  
  Example in JShell
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;jshell&amp;gt; System.out.println&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Hello from JShell!"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Hello from JShell!
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  ✨ Takeaway
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Wrote and ran my first Java program 🎉&lt;/li&gt;
&lt;li&gt;Got basic introduction to some keywords.&lt;/li&gt;
&lt;li&gt;Learned how to compile/run from terminal.&lt;/li&gt;
&lt;li&gt;Got introduced to JShell for quick testing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Next up: For tomorrow, I will be doing front-end basics.🚀&lt;/p&gt;




&lt;h3&gt;
  
  
  Self notes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;I am happy that I am better than yesterday but it is long jouney ahead. Today day 2 I did my best with what time I got, as I was busy in some personal stuff. I wasted much time in choosing ide, later realising it doesn't matter. Somethings are better learned in hard way. I will be careful in future. Above notes are what I understand about the topics, they may be wrong. Thanks for reading. &lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>java</category>
      <category>webdev</category>
      <category>programming</category>
      <category>backend</category>
    </item>
    <item>
      <title>Day 01 Theory behind java</title>
      <dc:creator>rohit juyal</dc:creator>
      <pubDate>Wed, 24 Sep 2025 18:56:23 +0000</pubDate>
      <link>https://dev.to/rohit_juyal_c93b63c3dcf9c/day-01-theory-behind-java-59id</link>
      <guid>https://dev.to/rohit_juyal_c93b63c3dcf9c/day-01-theory-behind-java-59id</guid>
      <description>&lt;h2&gt;
  
  
  My Java Learning Journey: Day 01 🚀
&lt;/h2&gt;

&lt;p&gt;Hi everyone! 👋 I’m Rohit, currently preparing to become a full-stack developer. My plan is to learn &lt;strong&gt;Java&lt;/strong&gt; for backend and &lt;strong&gt;JavaScript&lt;/strong&gt; for frontend, alternating between the two on different days. On holidays, I’ll dedicate time to building projects.&lt;/p&gt;

&lt;p&gt;This post marks &lt;strong&gt;Day 01&lt;/strong&gt; of my Java journey. Today I focused more on the theory — understanding the big picture of how Java works.&lt;/p&gt;




&lt;h2&gt;
  
  
  How a Java Program Runs ⚙️
&lt;/h2&gt;

&lt;p&gt;When we write and run a Java program, it undergoes following steps:&lt;/p&gt;

&lt;p&gt;a. &lt;strong&gt;Writing source code&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We write the program in Java and save it with a &lt;code&gt;.java&lt;/code&gt;   extension.&lt;/li&gt;
&lt;li&gt;A project can have multiple &lt;code&gt;.java&lt;/code&gt; files.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;b. &lt;strong&gt;Compiling with &lt;code&gt;javac&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Java source code is compiled using the Java compiler (&lt;code&gt;javac&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;It checks for errors and converts the code into &lt;strong&gt;bytecode&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;This bytecode is saved in a &lt;code&gt;.class&lt;/code&gt; file.&lt;/li&gt;
&lt;li&gt;The bytecode is &lt;strong&gt;platform-independent&lt;/strong&gt;, meaning it can run on any system.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;c. &lt;strong&gt;Running with JVM&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Java Virtual Machine (JVM) takes the bytecode and executes it.&lt;/li&gt;
&lt;li&gt;The JVM is platform-dependent (different for different OS and hardware) but the bytecode remains the same.&lt;/li&gt;
&lt;li&gt;This makes Java portable.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  JDK vs JRE vs JVM 🔑
&lt;/h2&gt;

&lt;p&gt;This part was a little tricky, but here’s how I understood it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;JDK (Java Development Kit)&lt;/strong&gt;&lt;br&gt;
Contains everything needed to &lt;strong&gt;develop&lt;/strong&gt; Java applications: compiler (&lt;code&gt;javac&lt;/code&gt;), JRE, and other tools.&lt;br&gt;
👉 We developers install this.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;JRE (Java Runtime Environment)&lt;/strong&gt;&lt;br&gt;
Provides the environment to &lt;strong&gt;run&lt;/strong&gt; Java applications. Includes JVM, libraries, and other runtime tools.&lt;br&gt;
👉 End-users typically need this.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;JVM (Java Virtual Machine)&lt;/strong&gt;&lt;br&gt;
Executes the bytecode. It’s like the “engine” that makes Java programs run.&lt;br&gt;
👉 Different for each OS, but invisible to us as developers.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Key Features of Java 🌟
&lt;/h2&gt;

&lt;p&gt;Here are some features that stood out to me:&lt;/p&gt;

&lt;p&gt;a. &lt;strong&gt;Write Once, Run Anywhere&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Compile once, run on any platform with JVM.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;b. &lt;strong&gt;Backward Compatibility&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;New updates don’t break older code.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;c. &lt;strong&gt;Security&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We share bytecode, not the source code.&lt;/li&gt;
&lt;li&gt;JVM restricts resource access (like RAM, storage) for safety.&lt;/li&gt;
&lt;li&gt;If a program crashes, only the JVM crashes — not the whole system.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;d. &lt;strong&gt;Multi-threading&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Supports running multiple tasks at the same time.&lt;/li&gt;
&lt;li&gt;Threading means running multiple tasks concurrently. Java implements software multi-threading, creating many threads in your program.&lt;/li&gt;
&lt;li&gt;The CPU can only execute as many tasks truly in parallel as it has hardware threads (physical cores × threads per core).&lt;/li&gt;
&lt;li&gt;If there are more software threads than hardware threads, the OS time-slices them so all threads appear to run at the same time.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;e. &lt;strong&gt;Object-Oriented Programming&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data is stored in form of object and classes. &lt;/li&gt;
&lt;li&gt;This helps in many things like reusability which I will learn later.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Final Thoughts ✨
&lt;/h2&gt;

&lt;p&gt;Today was all about &lt;strong&gt;understanding the ecosystem&lt;/strong&gt; — how Java runs and what makes it powerful. I did write the code but time was limited to share it here. Kindly pardon for any error. &lt;/p&gt;

&lt;p&gt;Thanks for reading! Please do suggest any improvement 💻🚀&lt;/p&gt;




</description>
      <category>webdev</category>
      <category>java</category>
      <category>backend</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
