Learn Java in Hindi

Java एक most popular computer programming language है, जिसका use वर्तमान में अधिकतर Electronic-devices में किया जाता है। इसलिए Java के बारे में knowledge होना बहुत ही आवश्यक हो जाता है। Java से related ज्यादतर Books और Study-materials English में ही उपलब्थ होते है, इस कारण जो students hindi medium से होते है उन को Java language को English में सीखने में problem होती है। अगर आप भी उन students में से है तो आप इस website के माध्यम से Java को hindi language में भी सीख सकते है। इस website में Java से related topics को hindi में समझाया गया है, जिससे आप को Java language को सीखने में आसानी होगी।
.........

An Overview of Java

Java एक high level computer programming language है जिसे Sun Microsystems Inc. ने develop किया था। Java के ज्यादातर character 'c' और 'c++' language से लिए गए है, Java का syntax 'c' language से और Java के object oriented features 'c++' से लिए गए है। Java का most important feature यह है कि Java, platform independent programming language है जबकि other programming languages जैसे 'c' और 'c++' के साथ ऐसा नहीं है 'c' और 'c++' के program किसी particular hardware को target करके बनाए जाते हैं लेकिन 'c++' के program अलग-अलग type के CPU में run हो सकते हैं, लेकिन 'c++' के program के साथ problem यह है कि 'c++' का compiler काफी expensive होता है और उसे बनाने में time भी ज्यादा लगता है, लेकिन इन सबसे अलग Java का use करके आप ऐसा portable program बना सकते है जो different types के CPU में चल सके। इस कारण java के program platform independent और portable  होते है।

Version of Java

Java के बहुत से versions अब तक release हो चुके है जिनकी list नीचे दी हुई है -
  1. JDK Alpha and Beta (1995)
  2. JDK 1.0 (1996)
  3. JDK 1.1 (1997)
  4. J2SE 1.2 (1998)
  5. J2SE 1.3 (2000)
  6. J2SE 1.4 (2002)
  7. J2SE 5.0 (2004)
  8. Java SE 6 (2006)
  9. Java SE 7 (2011)
  10. Java SE 8 (2014)

Features of Java

यंहा Java के कुछ features दिए गए है जिन्हें Java buzzwords भी कहा जाता है -
  • Simple
  • Secure
  • Portable
  • Object-Oriented
  • Robust
  • Platform independent
  • Multithreaded
  • Distributed
  • Architecture neutral
  • Interpreted
  • Dynamic
  • High Performance

1) Simple

Java को easily सीखने के लिए design किया गया है, अगर आप 'c' और 'c++' से familiar है तो जावा सीखना आप के लिए बहुत आसान है। Java के syntax और object-oriented features 'c' और 'c++' से लिए गए है।

2) Secure

Java के program secure होते है, क्योकि Java byte code कोई executable code नही होता है यह JVM के द्वारा किसी hardware platform पर run होता है। Java के program, Java Runtime Environment में run होते है और operating system से बहुत ही कम interact होते है इसलिए Java के program ज्यादा secure होते है।

3) Portable

Java Byte Code अलग-अलग platform पर run हो सकते है different device के लिए हमें अलग code लिखने की आवश्यकता नही होती , इसलिए Java program portable होते है।

4) Object-Oriented

Java एक Object Oriented programming language है, Java में सब कुछ Object based होता है। Object एक real world entity होती है, जिसकी कोई state हो सकती है और जिसका कोई behavior हो सकता है।

Basic concepts of OOPs -

  • → Object
  • → Class
  • → Inheritance
  • → Polymorphism
  • → Abstraction
  • → Encapsulation

5) Robust

Java के कुछ features इसे Robust (Strong) programming language बनाते है जैसे -
  • ♦ Strong Memory Management
  • ♦ Lack of Pointers
  • ♦ Automatic Garbage Collection
  • ♦ Crash Recovery
  • ♦ Exception Handling
  • ♦ Strict Run-time checking

6) Platform independent

Java के program किसी particular hardware को target कर के नही बनाये जाते , Java के program JVM के द्वारा किसी भी platform पर चल सकते है।

7) Multithreaded

Java language का use कर के multithreaded program बनाए जा सकते है, जो कि parallel में एक साथ कई tasks perform कर सकते है। Thread program का कोई भी एक part हो सकती है, Multithreaded program में program के एक से अधिक parts एक साथ concurrently execute होते है।

8) Distributed

Java का use का करे आप distributed application बना सकते है, Java Remote Method Invocation (RMI) को support करती है । इस feature का use करके आप network पर किसी भी method को invoke कर सकते है।

9) Architecture Natural

Java complier एक architecture natural object file format generate करता है जो की Java runtime system द्वारा different types के processors में execute होता है।

10) Interpreted

Java byte code कोई executable code नहीं होता है, यह program का intermediate representation होता है, Java interpreter का use कर के compiled byte-codes को execute किया जाता है।

11) Dynamic

Java के program dynamic होते है, क्योकि Java Byte code जो की एक Class file होती है Java program run कराते time lode होती है और Java में memory allocation run-time के दौरान होता है इसलिए Java एक Dynamic programming language है।

12) High Performance

Just-In-Time compilers का use कर के Java byte code, directly native machine code में translate किए जाते है इसलिए Java programs की performance high होती है।

Java Byte Code

Java Byte Code, Program की security और portability की problem को solve करता है, Java compiler कोई executable code generate नहीं करता है, यह Java byte code generate करता है । Java byte code एक highly optimized instructions का set होता है जो Java run-time-system के द्वारा execute किया जाता है, जिसे Java virtual machine कहते हैं। Java Program के source code पहले Java Compiler के द्वारा Java byte code में convert किए जाते है जो कि एक class file होती है, जिसमे Java virtual machine के द्वारा execute की जाने वाली instruction होती है, इसलिए Java के Program platform independent और secure होते है।

Applications of Java Programming Language

Java का use बहुत सी Applications में किया जाता है जैसे -
  • → Mobile
  • → Web Applications
  • → Desktop Applications
  • → Embedded System
  • → Robotics
  • → Enterprise Applications
  • → Scientific Applications
  • → Video Games etc.

Java Environment Set-up


Java program बनाने के लिए और program को run कराने के लिए आप को पहले अपने computer में Java install करनी पड़ेगी -

How to Install Java

Java को दो तरह से install किया जा सकता है -

1) Install JDK and JRE

Java program को run कराने के लिए JRE (Java Runtime) की आवश्यकता होती है, अगर आप Java program create करना और program को run कराना चाहते है तो आप को JDK ( Java Development Kit ) install करना पड़ेगा। जिसमें JRE और Java development tools (जैसे compiler और debugger) include होते है, जिनका use कर के आप Java के program compile कर सकते है और program को run करा सकते है, Java program को लिखने के लिए आप कोई भी text editor use कर सकते है जैसे TextPad, NotePad , NotePad++ आदि, Java के programs बनाने के लिए आप NeatBeans भी install कर सकते है।
JDK और NetBeans download करने के लिए link नीचे दी गई है -
http://www.oracle.com/technetwork/java/javase/downloads/index.html



Setting the PATH Environment Variable

Java को download और install करने के बाद आप को Java program compile करने और run कराने के लिए 'PATH' Environment variable Set करना पड़ेगा।
Windows में Java "C:\Program Files\Java\jdk1.8.0_xx" directory में install होती है, यंहा xx आपने जो JDK का version download किया है उस के लिए use किया गया है, 'PATH' Environment variable Set करने के लिए -
→ 'My Computer' पर Right Click करें और 'Properties' select करें
→ Advanced tab select करें और Environment variable पर click करें
→ System variables में PATH variable को select करें और Edit button पर click करें
→ Variable value text field के अंदर "c:\Program Files\Java\jdk1.8.0_xx\bin" directory path को insert करें, यंहा xx को जो JDK version आपने download किया है उस से replace करें

2) Install Eclipse

Eclipse का use कर के Java program बनाने के लिए आप को पहले JDK install करना पड़ेगा और उस के बाद Eclipse install करना पड़ेगा। Eclipse का use कर के Java program बनाना आसान होता है क्योकि आप eclipse में ही program लिख सकते है, उसी में compile कर सकते है और उसी में ही Java program को run करा सकते है और जब आप eclipse के editor में program लिखते है, तो program में error find करना आसान होता है, इसलिए Java program बनाने के लिए eclipse का use करे तो बेहतर होगा।
Eclipse download करने के लिए इस link पर click करे-
http://www.eclipse.org/downloads/eclipse-packages/



Getting Started- Your First Java Program


आप जब भी अपने computer को use करते है आप अलग-अलग applications execute कराते है, जो अलग-अलग tasks perform करती है, Computer programmer इन applications को computer programs लिख कर बनाते है। Java Application भी एक तरह का computer program होता है जो तब execute होता है जब आप Java command से Java Virtual Machine (JVM) को launch करते है, चलो एक simple Java application बना कर देखते है जो एक text-line को display पर show करेगा।
यहां पर एक simple Java Program दिखाया गया है, जो Output Window पर एक message Print करता है, जो भी Double Quotes (" ") के बीच में लिखा हुआ है, वह Display पर Show हो जाता है।

इसे 3 steps में करना होगा

1) पहले Java Source Code लिखे और उसे MyFirstProgram.java नाम से save करें
2) javac command से program को complie करें ( javac MyFirstProgram.java )
3) java command से program को run करें ( java MyFirstProgram )
अगर आप eclipse use कर रहे है तो Run Icon पर click करें

Program:

/*
This is a simple Java program
*/
public class MyFirstProgram {
public static void main( String args[ ] ) { &nbsp&nbsp&nbsp // program entry point
System.out.println( "Hello world!" ); &nbsp&nbsp&nbsp //print message
}
}

Output:

Hello world!

जब आप javac command से MyFirstProgram.java file को compile करते है तो MyFirstProgram.class file generate होती है जिसके अंदर program का bytecode version होता है। Java bytecode आप के program का intermediate representation होता है जिसके अंदर वो instructions होती है जो Java Virtual Machine के द्वारा execute होती है।

Brief Explanation of the Program -

public class MyFirstProgram {
....................
}

class keyword नई class को create करने के लिए use किया जाता है। उस के बाद का class का नाम लिखा जाता है। यंहा MyFirstProgram हमारी calss का नाम है। File को class का नाम लिख कर और .java extension लगा कर save किया जाता है। Java में Java Source File और class का नाम same होना चाहिए। Class के सारे variables और methods Opening curly brace तथा Closing curly brace {.....} के बीच होने चाहिए।

public static void main ( String args[] ) {
................
}

यँहा से main method start होता है, main method program का entry point होता है,JVM सब से पहले main method को execute करता है,जो भी के अंदर होती है वो हो statement execute हो जाती है। public keyword एक access specifier है जो class members की visibility को control करता है, कि class के variables और methods class के बाहर से use हो सकते है या नही।
ये तीन types के होते है -
Public
Private
Protected
Main method public होना चाहिए क्योकि JVM इसे class बाहर से call करता है।static method को class का object बनाए बिना ही call किया जा सकता है। यह method कोई value return नही करता है इस लिए void keyword का use किया गया है।
आप कोई भी information method को pass कर सकते है,जो variables information receive करता है उसे के parentheses (...) के बीच में, method के नाम के बाद लिखा जाता है, वो variables, parameters कहलाते है । यंहा पर String args[] एक parameter को declare करता है जिसका नाम args है। यह String class का एक Array instances है। यंहा args जो की एक array variable है, program execution के time command line arguments receive करता है।आप program execute कराते time method को argument भी pass कर सकते है।

System.out.println("Hello world!");

यह method कोई भी String को print कराने के लिए use होता है, यह System class का method है जो String argument लेता है और उसे Output Window पर print करा देता है । आप कोई String भी इसे pass करेंगे वह Outpout Window पर show हो जाएगी ।

Comments

//program entry point
//print message
इन lines को comments के लिए use किया गया है। Comments executable नहीं होती है, compiler इन को ignore कर देता है comments को इसलिए use किया जाता है ताकि कोई दूसरा person आपके program को आसानी से समझ सके या फिर बाद में आपको program समझने आसानी हो, Java में comments को दो तरह से लिखा जाता है -

1) Single-Line Comments

Single line comment इस से // start होती है और current line के end तक मानी जाती है।

2) Multi-Line Comments

Multi line comment इस से /* start होती है इस से */ end होती है।


Java In Hindi : Data Types


Java में कोई भी variable declare करने से पहले उस का data-type define करना पड़ता है जिसके आधार पर operating system उस variable को memory allocate करता है । Data type ही specify करता है की उस variable में किस type की और कितने size की value store होगी।

Java में दो प्रकार के data types होते है -
1) Primitive data types
2) Reference/Object data types

Primitive data types

Java में primitive data types data manipulation के building blocks होते है, Java language 8 primitive data types को support करती है -

Boolean Types

Boolean data types 1 bit information को represent करते है इनमे दो values ही store की जा सकती है 'true' या 'false'।
Example- Boolean isRunning=true;

Character Types

Charcater data types 1 16-bit Unicode character होता है जिसमे किसी भी single character को store किया जा सकता है।
Example- char letter='Z';

Integral Types

Java four integer data types support करती है जिनकी value signed, positive या negative हो सकती है, Java unsigned, positive-only integer support नहीं करती है।
  • byte
  • short
  • int
  • long

Range of integral data types in Java
Name Width Range
long 64 bits -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
int 32 bits -2,147,483,648 to 2,147,483,647
short 16 bits -32,768 to 32,767
byte 8 bits -128 to 127

Floating-Point Types

Floating-point numbers को real numbers भी कहते है जिन mathematical expressions में fractional precision की जरूरत होती है वंहा इनका use किया जाता है जैसे किसी number का squre-root calculate करना। Two floating-point data types-
  • double
  • float

Range of floating-point data types in Java
Name Width Range
double 64 4.9e-324 to 1.8e+308
float 32 1.4e-045 to 3.4e+038

Reference/Object data types

Reference variables class के constructor को define कर के create किए जाते है, इनका use class के objects को access करने में किया जाता है। Class के objects और different types के array reference variables के अंतर्गत आते है।
Example-
ClassName classObj=new ClassName(passing_para);

Primitive Data-type Example-

Program:

public class MyClass {
public static void main( String args[] ) {
Boolean isJumping=true;
char letter='B'; int x=99999;
byte y=120;
short z=30000;
long l=999999999;
double pi=3.141592653;
float f=1.41421f;
System.out.println("Boolean: "+isJumping);
System.out.println("Char: "+letter);
System.out.println("Integer: "+x);
System.out.println("Byte: "+y);
System.out.println("Short: "+z);
System.out.println("Long: "+l);
System.out.println("Double: "+pi);
System.out.println("Float: "+f);
}
}

Output:

Boolean: true
Char: B
Integer: 99999
Byte: 120
Short: 30000
Long: 999999999
Double: 3.141592653
Float: 1.41421

Non Primitive Data-type Example-

Program:

public class MainClass {
public static void main( String args[] )
{
OtherClass classObj=new OtherClass("Hello world!"); &nbsp&nbsp&nbsp // creating object
}
}
class OtherClass
{
OtherClass(String msg) &nbsp&nbsp&nbsp // constructor
{
System.out.println(msg);
}
}

Output:

Hello world!


Java In Hindi : Variables


Computer program data को process करने का कार्य करता है। Variable का use, data को store करने के लिए किया जाता है, जिससे data का use program में processing के लिए किया जा सके। आप इसकी value को कभी भी program में change कर सकते है इसलिए इसे variable कहा जाता है। दूसरे शब्दों में Variable उस memory location को represent करता है जंहा पर data को store किया गया है।
Variable का एक unique name और data type होता है। Data type उस data के type को represent करता है जिसे वो variable store करेगा। अगर आप program में कोई variable use करना चाहते है तो आप को पहले उस variable का name और type को declare करने पड़ेगा जैसे-

int x=100;
double pi=3.14;
boolean isRunning=true;

Varaible Declaration

Program में variable को use करने से पहले आप को variable को declare करना पड़ेगा, variable declaration का syntax निचे दिया गया है -
type identifier;
type identifier1, identifier2, identifier3, identifier4 ......... identifierN;


Example- int a;
double pi;
boolean isRunning;
int x, x1, x2, x3;

Varaible Initalization

Variable को declare करने के बाद आप variable को कोई initial value assign कर सकते है, जिसे की आप program में use करना चाहते है variable को value assign इस तरह से कर सकते है -
identifier = initialValue;
identifier1 = initialValue, ......... identifierN = initialValueN;


Example- a=100;
pi=3.14;
isRunning=true;


Variable को value assign declaration के time भी की जा सकती है जैसे -
int x=100;
double pi=3.14;
boolean isRunning=true;

Types of Variables

Java में 3 types के variables होते है-
1) Local Variables
2) Static Variables
3) Instance Variables

1) Local Varibles

Local variables को method body के अंदर declare किया जाता है और उन्हें method के अंदर ही use किया जा सकता है, बाहर नहीं इसलिए इन्हे local variable कहते है।
Example-

Program:

public class myClass {
public static void main( String args[] )
{
myMethod();
}
public static void myMethod()
{
String str="Hello Word !"; // local varible
System.out.println(str);
}
}

Output:

Hello Word !

2) Static Varibles

Static variables को static keyword का use कर के declare किया जाता है इन्हे class के अंदर और method body के बाहर declare किया जाता है और उन्हें class के अंदर कंही भी किसी method में भी use किया जा सकता है। Static variables को class का object create किए बिना ही ' className.variableName' से access किया जा सकता है।
Example-

Program:

public class Addition
{
static int x=100; // static variable
static int y=200;
public static void main( String args[] )
{
myMethod();
}
public static void myMethod()
{
int sum = Addition.x + Addition.y;
System.out.println("Addition- "+sum);
}
}

Output:

Addition- 300

3) Instance Varibles

Instance variables को class के अंदर और method body के बाहर declare किया जाता है और उन्हें class के अंदर कंही भी किसी method में भी use किया जा सकता है। इस types के variables को use करने के लिए आपको उस class का object create करना पड़ेगा जिस class में इन्हे declare किया गया है।
Example-

Program:

public class Addition {
int x=55; // instance varible
int y=45; // instance varible
public static void main( String args[] )
{
myMethod();
}
public static void myMethod()
{
Addition addObj = new Addition();
int sum = addObj.x + addObj.y;
System.out.println("Addition- "+sum);
}
}

Output:

Addition- 100

Java In Hindi : Conditional Flow Control


Program में statements जिस order में लिखी हुई होती है उस order में एक के बाद एक sequentially execute होती है, conditional statements का use कर के आप program के flow को control कर सकते है।
अगर आप चाहते हैं कि आपके program का कोई part तभी execute हो जब कोई condition true या false हो तो आप conditional statements का use करके program में condition लगा सकते हैं, जब condition true होगी तभी statement execute होगी।

Types of Conditional statements -

1) if-then
इस तरह के conditional statement में if statement का block तभी execute होगा जब parenthesis (.......) के अंदर दी गई boolean expression true होगी, otherwise वो statement block skip हो जाऐगा ।
Syntax
if(booleanExpression) {
true-block ;
}

Example -
इस program में if statement का block तभी execute होगा जब int marks की value 33 से ज्यादा होगी, marks की value 33 से कम होने पर यह block execute नही होगा । int marks की value 67 है, जो की 33 से ज्यादा है इस लिए output window पर Pass message print होगा ।

Program:

public class MyExample {
public static void main(String args[])
{
int marks=67;
if(marks>33) {
System.out.println("Pass");
}
}
}

Output:

Pass

2) if-then-else
इस तरह के conditional statement में 'if' statement के अंदर दी गई boolean expression false होने पर 'else' statement के अंदर दिया गया statement block execute होगा, मतलब 'if' statement का block execute नही होने पर 'else' statement का block execute होगा ।
Syntax
if(booleanExpression) {
true-block ;
}
else {
false-block;
}

Example -
इस program int marks की value 30 declare की गई है,जो कि 33 से कम है इस लिए if statement का block execute न हो कर else statement का block execute होगा और Fail message print होगा ।

Program:

public class MyExample {
public static void main(String arg[]) {
int marks=30;
if(marks>33) {
System.out.println("Pass"); }
else
{
System.out.println("Fail");
}
}
}
}

Output:

Fail

3) nested-if
अगर program में एक से अधिक conditions लगानी हो तो nested-if statement का use करते है इस तरह की conditional statement में एक से अधिक conditions दी हुई होती है, तथा जिस condition की boolean expression true होगी उस condition का statement block execute होगा, अगर दी हुई सारी conditions false होती है तो else statement का block execute होगा, else statement का block नही लिखा है तो कोई भी statement execute नही होगी ।
Syntax
if(booleanExpression-1) {
true-block-1 ;
}
else if(booleanExpression-2) {
true-block-2 ;
}
else if(booleanExpression-3) {
true-block-3 ;
}
else if(booleanExpression-4) {
true-block-4 ;
}
else {
false-block;
}

Example -
इस program में marks की value 55 declare की गई है जो की 40 से ज्यादा और 60 से कम है इसलिए output window पर Second Division message print होगा । यंहा AND operator (&&) का use दो conditions को combine करने के लिए use किया है, जब दोनों conditions true होंगी तभी अंदर की statement execute होगी। अगर कोई भी condition true नही होती है तो Fail message print होगा।

Program:

public class MyExample {
public static void main(String args[]) {
int marks=55;
if(marks>=60)
{
System.out.println("First Division");
}
else if(marks>=40 && marks<60)
{
System.out.println("Second Division");
}
else if(marks>=33 && marks<40)
{
System.out.println("Third");
}
else {
System.out.println("Fail"); }
}
}
}

Output:

Second Division

इस तरह आप program में conditional statements का use कर program के flow को control कर सकते है।

Java In Hindi : Methods


कभी कभी ऐसा होता है कि हमें program के किसी part की program में बार-बार आवश्यकता पड़ती है तो program के उस part को बार-बार लिखने की बजाए हम एक method बनाकर उसमें उस part को डाल सकते हैं और उसे call करा कर उस part को बार बार use कर सकते हैं।
Java method, statements का एक collection होता है जो किसी particular task को perform कराने के लिए use होता है । println() भी एक method है जो किसी भी String को print कराने के लिए use होता है । String characters का एक group होती है जिसमे आप अपना नाम या फिर कोई sentence store करा सकते है।

Method Definition Syntax -

Method को इस तरह define से किया जाता है -
modifier returnType methodName ( arg-1-type &nbsp&nbsp arg-1, &nbsparg-2-type &nbsp&nbsp arg-2 )
{
method-body;
}
modifier -
यह method के access को define करता है कि method किस type का है, public, private या protected आदि ।

returnType -
यह method के perform होने के बाद जो value return होगी उसके type को बताता है, जैसे int, boolean, String आदि, अगर हमे कोई value return नही करनी तो यंहा void लिखेंगे ।

methodName -
यह method के नाम को represent करता है, method के नाम का use कर हम method को call करते है ।

( arg-type arg ) -
यंहा पर argument का type और argument लिखा जाता है जो argument हम method को pass करते है, जैसे String, int या boolean आदि ।

method body -
जो task perform करानी है उसे हम curly braces {....} के बीच में लिखेंगे, यह method body कहलाती है । curly braces {.....} के बीच में statements का block लिखा जाता है जिसे हमे perform कराना है ।
यंहा पर एक simple method syntax दिखाया गया है जो एक line print करेगा जब उस method को call की जायेगी।
public void simpleMethod()
{
System.out.println("This is a method");
}

The "return" Statement -

अगर आप चाहते है की method कोई value return करे तो method name से पहले return type लिखना होगा कि method किस type की value return करेगा, जैसे- int, boolean, String आदि, और जो value return करानी है उसे method body के अंदर return keyword के बाद लिखना होगा ।
Example 1

public int getValueOfPi()
{
return 3.14 ;
}


Example 2

public boolean isOn()
{
return true ;
}


Example 3

public String getName()
{
return keith ;
}

Method Calling -

किसी भी method को use करने के लिए आप को उस method को call करना होगा। दो तरह से किसी भी method को call की जा सकती है ।

1) यदि method कोई value return नही करता है -
methodName();

2) यदि method कोई value return करता है -
इस तरह के method को call करते time जिस type की value यह return करेगा उसे उस type के variable में ही store करना पड़ेगा जैसे -

यदि method int return करता है -
int &nbsp k;
k=methodName();

यदि method String return करता है -
String &nbsp name ;
name=methodName();

यदि method boolean return करता है -
boolean &nbsp isTrue;
isTrue=methodName();

ऐसे ही जो भी type की value method return करता है उसे उस type के variable में ही method को call करा कर store करेंगे ।

Example -
यंहा methods का use कर के एक simple program दिखाया गया है, उस से आप किसी method को define करना और method को call करना समझ सकते है -

Program:

public class MyExample {
public static void main(String args[]) {
double area;
area=getArea();
method1();
System.out.println("Area is: "+area);
}
public static void method1() {
System.out.println("This is a simple Java method example");
}
public static double getArea()
{
return 3.14*1.1*1.1;
}
}
}

Output:

This is a simple Java method example
Area is: 3.7994000000000008

इस program में method का use कर के एक line print की गई है और किसी circle का area calculate किया गया है जिस की radius, 1.1 है, इस तरह से methods का use आप Java में कर सकते है ।

Java In Hindi : Loop Flow Control


कई बार ऐसी situation आती है की आप को program के किसी block को बार-बार execute कराना पड़ता है तो ऐसी condition मे आप Loop statement का use कर सकते है । Loop statement से program के किसी part को बार-बार execute किया जा सकता है ।
Loop statement use करके आप program के किसी part को तब तक बार-बार execute करा सकते हैं जब तक कि Loop statement के अंदर दी हुई condition false नहीं हो जाती यहां जो program दिखाया है वह output window पर Hello world! message को 5 बार print करेगा इस example से Loop को समझने का प्रयास करें अधिकतर program में for loop का ही use होता है, यहां पर भी program में for loop का use किया गया है।

Program:

public class MyExample
{
public static void main(String args[])
{
for(int i=1;i<=5;i++)
{
System.out.println("Hello World!");
}
}
}

Output:

Hello world!

Hello world!
Hello world!
Hello world!
Hello world!

यहां Loop statement में int i कि value 1 declare की गई है, यहां loop तब तक repeat होगा जब तक की i की value, 5 से ज्यादा नहीं हो जाती, हर बार जब loop body execute होगी तब int i की value 1 बढ़ जाएगी, int i की value 5 से ज्यादा होते ही loop statement की condition false हो जाएगी और loop break हो जाएगा।

Types of loop

1) for loop
2) while loop
3) do-while loop

1) for loop

Syntax -
for(initialization;test;post-processing)
{ loop body;
}

2) while-do loop

Syntax -
while(test;)
{ loop body;
}

3) do-while loop

Syntax -
do { loop body;
}
while(test;)
Loop-body के अंदर की statements है तब तक repeat होंगीं जब तक की test-condition false नही हो जाती ।

Example -
यहां पर for-loop, while-loop और dowhile-loop का use करके के 1-10 numbers के addition का program दिखाया गया है उस program से इन के syntax में अंतर समझे -

Program:

public class myExample
{
public static void main(String args[])
{
int sum=0;
for(int i=1;i<=10;i++)
{
sum=sum+i;
}
System.out.println("Sum of Numbers= "+sum);
}
}

Output:

Sum of numbers= 55

Program:

public class myExample {
public static void main(String args[])
{
int i=1,sum=0;
while(i<=10)
{
sum=sum+i;
i++;
}
System.out.println("Sum of Numbers= "+sum);
}
}

Output:

Sum of numbers= 55

Program:

public static void main(String args[])
{
int i=1,sum=0;
do {
sum=sum+i;
i++;
} while(i<=10);
System.out.println("Sum of Numbers= "+sum);
}
}

Output:

Sum of numbers= 55

इस तरह से हम Java program में Loop statement का use कर के किसी task को बार-बार repeat करा सकते है ।



Java In Hindi : Strings


String characters का एक sequence होती है जिसमे आप कोई भी word, sentence, या फिर कोई single character को store कर सकते है लेकिन, Java String एक object होती है जो की characters के sequence को represent करती है। Java में ' java.lang.String ' class का use string object create करने में किया जाता है।

Creating Strings

Java में string object को दो तरह से create किया जा सकता है -
1) By String literal
2) By new Keyword

By String literal

Java string literal double quotes (" ") का use कर के create की जा सकती है, String type के variable को create करने और value assign करने का syntax-
String name = "John Cena";

By new Keyword

New keyword का use कर के आप string object create कर सकते है और string constructor में string की initial value pass की जा सकती है जैसे -
String name = new String("John Cena");

String Example-

Program:

public class MyClass {
public static void main( String args[] ) {
String name1="Evdokeia";
String name2=new String("Glikeriya");
char[] charArray={'S','a','p','o','z','h','n','i','k','a'};
String name3=new String(charArray);
System.out.println(name1);
System.out.println(name2);
System.out.println(name3);
}
}

Output:

Evdokeia
Glikeriya
Sapozhnika

Concatenating Strings

String class के concat() method का use दो strings को add करने के लिए किया जा सकता है -
str3=str1.concat(str2);

Example-

Program:

public class Example {
public static void main(String args[]) {
String name="Evdokeia";
String str="My name is";
String newStr=str.concat("name");
System.out.println();
}
}

Output:

My name is Evdokeia



Java In Hindi : Arrays


Array common name के variables का एक ऐसा collection होता है जिनके data types same होते है, Array का use बहुत सारे same data type के variables को store करने के लिए किया जाता है। जैसे की मान लो आप को बहुत सारे students के name store करने है तो आप अलग-अलग name variables ( String name1, name2, name3...... nameN ; ) declare करने की बजाए एक array variable ( String [ ] name ; ) declare कर सकते है, जिसमे आप कई names की value को store कर सकते है।

Types of Array

Java में 2 types के array होते है-
  • 1) One Dimensional Array
  • 2) Multidimensional Array

One Dimensional Array

Program में Array को use करने से पहले आप को array variable को declare करना पड़ेगा, array variable declaration का syntax निचे दिया गया है -

Syntax to Declare an Array -

dataType [ ] arrayRefVaraible ; // preferred way.....
or
dataType arrayRefVaraible [ ] ;

Instantiation of an Array -

Java में आप new operator का use कर के array create कर सकते है -
arrayRefVaraible = new datatype [size] ;

Array Index -

Array-index से array elements को refer किया जाता है, आप Array variable को values assign करने और उसमे से values retrieve करने के लिए array-index का use कर सकते है ।
Example-
int[] numbers=new int[5]; // Declare & allocate a 5-element int array
// Assign values to the elements numbers[0]=100;
numbers[1]=200;
numbers[2]=300;
numbers[3]=400;
numbers[4]=500;

int x=numbers[2]; // Retrieve elements of the array
आप array declaration and initialization एक ही statement से भी कर सकते है जैसे -

int[] numbers= { 100, 200, 300, 400, 500 };

One Dimensional Array Example-

Program:

public class myClass {
public static void main( String args[] )
{
int[] x=new int[5];
int[] y={100,200,300,400,500};
x[0]=100;
x[1]=200;
x[2]=300;
x[3]=400;
x[4]=500;
int sum=x[0]+x[1]+x[2]+x[3]+x[4];
System.out.println("sum1- "+sum);
System.out.println("sum2- "+(y[0]+y[1]+y[2]+y[3]+y[4]));
}
}

Output:

sum1- 1500
sum2- 1500

Multi Dimensional Array

इस type के arrays में data row और column based index में या matrix form में store होता है।

Syntax to Declare an Array -

dataType[][] arrayRefVaraible ; // preferred way.....
or
dataType arrayRefVaraible [][] ;

Instantiation of an Array -

arrayRefVaraible = new datatype [row_size][column_size] ;

Multi Dimensional Array Example-

Program:

public class myClass {
public static void main( String args[] )
{
int[][] x=new int[2][2];
x[0][0]=100;
x[0][1]=200;
x[1][0]=300;
x[1][1]=400;
int rowSum1=x[0][0]+x[0][1];
int rowSum2=x[1][0]+x[1][1];
System.out.println("sum of row1- "+rowSum1);
System.out.println("sum of row2- "+rowSum2);
}
}

Output:

sum of row1- 300
sum of row2- 700



Java In Hindi : Passing Parameters


Methods में call करते समय दो तरह से parameters pass किए जा सकते है-
1) Passing parameters by value
2) Passing parameters by reference

Passing Parameters by Value -

किसी method को call करते समय आप उस method में कोई भी value pass करा सकते हैं वह method उस value का use कर कोई action perform करेगा और result में आपको कोई value return करेगा । मान लो आपको Addition का Java program बनाना है तो आप उस method को call करते समय उसमें 2 integer values पास करा सकते हैं और वह method उन values को add कर के आप को result return करेगा ।

Program:

public class Addition {
public static void main( String args[] ) {
int add;
add=getSum(10,20);
System.out.println("Result="+add);
}
public static int getSum( int i, int j)
{
return i+j;
}

Output:

Result=30

Passing an array as parameter

आप array variables को भी किसी method को as parameters pass करा सकते है -

Program:

public class Example {
public static void main(String args[]) {
int result;
int[] no={ 20,50,70,100,300 };
result = addition( no );
System.out.println("Answer: "+result);
}
public static int addition( int[] k ) {
int sum=0;
for(int i=0;i<k.length;i++) {
sum=sum+k[i] ;
}
return sum;
}
}

Output:

Answer: 540

इस program में addition (), method define किया गया है ,जो कि एक return type method है , जो integer value return करता है | जब इस method को call की जाएगी तो यह एक array variable को as parameter receive करेगा | इस program में एक integer type का array variable, no[] declare किया गया है और उस में {20,50,70,100,300} values store की गई है, इस array variable को addition() method में as parameter pass किया गया है addition() method इस array variable में store values को for loop का use कर के add करता है और result को sum variable में store करता है ,और last में sum variable में store value को return करता है ।
इस तरह आप Java program के किसी method में parameters pass करा सकते है, reference variables को as parameters pass कराना आगे के tutorial में बताया गया है ।

Java In Hindi : Method Overloading


Java में आप दो या दो से अधिक method को एक ही नाम दे सकते है,लेकिन उस method में जो parameters आप pass कराते है वो अलग-अलग होने चाहिए, इसे method overloading कहते है, मतलब आपने एक ही नाम के method को कई बार define किया है और आप उसे अलग-अलग तरीके से use कर सकते है। Method Overloading का use कर ने से program की readability बढ़ती है।
Java methods को इस तरह से overload किया जा सकता है -

1) Passing arguments के data types को change कर के -

आप ने method में जो arguments pass किये है वो अलग-अलग types के होने चाहिए जैसे-

public int MyMethod(int i,int j ) {
return i*j;
}
public double MyMethod(double x,double y) {
return x*y;
}
इस तरह आप एक ही नाम के method को अलग-अलग तरीके से use कर सकते है।

Example -
यंहा जो program दिया गया है वो maximum number find करेगा -

Program:

public class MaxNo {
public static void main(String args[])
{
int max1;
double max2;
max1=maximumNo(50,90);
max2=maximumNo(45.55,50.22);
System.out.println("Maximum No= "+max1);
System.out.println("Maximum No= "+max2);
}
public static int maximumNo ( int a, int b )
{
int max;
if(a>b) max=a;
else max=b;
return max;
}
public static double maximumNo ( double x, double y )
{
double max;
if(x>y) max=x;
else max=y;
return max;
}
}

Output:

Maximum No=90
Maximum No=50.22

इस program में maximumNo नाम के दो method use किये गए है लेकिन call कराते time इन में जो parameters pass किये गए है वो अलग अलग है एक में double parameter pass किया गया है और एक में int parameter pass किया गया है, { maximumNo(45.55,50.22) , maximumNo(50,90) } return में यह method maximum value calculate कर के देता है ।

2) Passing arguments के numbers को change कर के -

आप ने method में जो arguments pass किये है उन के numbers अलग-अलग होने चाहिए जैसे -
public int MyMethod(int i, int j, int k, int l) {
return i+j+k+l;
}

public int MyMethod(int i, int j) {
return i+j;
}


यंहा एक simple Addition का program दिखाया गया है उस से method overloading को समझे -
Example-

Program:

public class MyExample {
public static void main(String args[])
{
System.out.println("Sum="+MyMethod(45,80,50));
System.out.println("Multiplication="+MyMethod(10,30));
}
public static int MyMethod(int x,int y,int z) {
return x+y+z;
}
public static int MyMethod(int x,int y) {
return x*y;
}
}

Output:

Sum=175
Multiplication=300

इस program में MyMethod नाम का method define किया गया है, जिस में call करते time एक बार तो 3 int numbers pass किए गए है, return में method उन numbers का addition देता है, दूसरी बार इस method में 2 int numbers pass किए गए है return में यह उन को multiply कर देता है।
इस तरह से आप Java में एक ही नाम के method को एक से ज्यादा बार define कर सकते है और उसे program में use कर सकते है जो अलग-अलग tasks perform करेगा ।


Java In Hindi : Multithreading


Java के programs में Instructions sequentially एक के बाद एक execute होती है, मतलब पहले program का एक part run होगा और उसके बाद दूसरा part run होगा। Multithreading, Java का ऐसा feature है जिसका use कर के हम program के दो या दो से अधिक parts को एक साथ run करा सकते है, ऐसा करने से CPU का अधिकतम use किया जा सकता है।
Program के प्रत्येक part को thread कहते है। Thread को दो तरीको से create किया जा सकता है -

  1. Extending the Thread class
  2. Implementing the Runnable Interface

Extending the Thread class

इस तरह से thread create करने के लिए पहले Java.lang.Thread class को extend करना होगा, फिर उस class में जो run( ) method है उस को override करना होगा। Thread इसकी life cycle run( ) method में शुरू करती है। उसके बाद नई class का Object create करेंगे और उस object से start( ) method को call करेंगे। जिससे start( ) method, run( ) method को invoke करेगा और thread execution start हो जाएगा। आप जितनी भी thread create करना चाहते है उतने ही object create करने पड़ेंगे।

Multithreading Example-

Program:

public class MyClass extends Thread {
public void run( ) {
try {
System.out.println ("Thread " + Thread.currentThread( ).getId( ) + " is running");
}
catch ( Exception e ) {
System.out.println ("Exception is caught");
}
}
public static void main( String args[ ] ) {
for( int i=0; i MyClass myObj=new MyClass();
myObj.start();
}
}
}

Output:

Thread 8 is running
Thread 9 is running
Thread 10 is running
Thread 11 is running
Thread 12 is running

Implementing the Runnable Interface

इस तरह से thread create करने के लिए पहले नई class को create करना होगा, फिर उस class में java.lang.Runnable interface को implement करना पड़ेगा उसके बाद जो run( ) method है उस को override करना होगा, फिर नई class का Object create करेंगे और उस object से start( ) method को call करेंगे। जिससे start( ) method, run( ) method को invoke करेगा और thread execution start हो जाएगा। आप जितनी भी thread create करना चाहते है उतने ही object create करने पड़ेंगे।

Multithreading Example-

Program:

public class MyClass implements Runnable {
MyClass( ) {
Thread myThread = new Thread(this);
myThread.start( ); } public void run( ) {
try {
System.out.println ("Thread " + Thread.currentThread( ).getId( ) + " is running");
}
catch ( Exception e ) {
System.out.println ("Exception is caught");
}
}
public static void main( String args[ ] ) {
for( int i=0; i MyClass myObj=new MyClass();
}
}
}

Output:

Thread 8 is running
Thread 9 is running
Thread 10 is running
Thread 11 is running
Thread 12 is running