Thursday, 17 January 2013

if else loop


अगर हमे कोई प्रोग्राम बनाना हो जहा कोई हमे प्रोग्राम को बताना हो की अगर यह बात है तोह इस काम को करना है वरना उस काम को.
इसको एक उदहारण के साथ समझिये जैसे अगर मेहमान आये तो चाय बनाना नहीं आये तो मत बनाना. ऐसी बातो को check करने के लिए 
हम if-else loop का उपयोग करते है. निचे दिए उदहारण से आपको यह और स्पष्ट हो जायेगा की इसका प्रयोग प्रोग्राम में कब और कैसे 
करते है. 

 
If (condition) then
{
 यह काम करना है  
}
Else
{
   नहीं तोह यह यह काम करना है 

}
 
  चाय वाले उदहारण को if else में डालकर देखते है 
If (मेहमान आये ) then
{

तोह चाय पिलाओ
 }
Else
{
      
वर्ना कुछ मत पिलाओ
}
 
अब सोचिये अगर इस प्रोग्राम को और उपयोगी बनाना हो तोह . इसके लिए जावा में if else if loop होते है. जैसे की ऊपर दिए
प्रोग्राम में हम चाहे की राम आये तोह चाय पीलाओ , भरत आये तोह काफ्फी और उनके आलावा कोई भी और आये तोह कुछ मत पिलाओ : 
 
If (राम आये) then
{
 चाय पीलाओ }
Else If (भरत आये ) then
{ 
   काफी  पीलाओ  } 
 
Else
{
   वर्ना कुछ मत पिलाओ }
 
अब देखिये हम if-else loop का बच्चो की grade बताने वाले प्रोग्राम में कैसे उपयोग करते है .उदहारण के लिए हम एक बच्चे के
नंबर ४० लेंगे और प्रोग्राम से कहेंगे की if else if का प्रयोग करके हमे इस बच्चे का grade बताओ : 

class IfElseUdharan {     // क्लास का declaration 
        public static void main(String[] args) {  // इसको रट लो यह प्रोग्राम का मुख्य द्वार है


        int testscore = 36;  // testscore जिसका grade निकलना है वोह  integer टाइप का है 
        char grade; // grade char टाइप का डाटा टाइप है 


        if (testscore >= 90) {      //अगर score 90 आये तोह  A grade
            grade = 'A';
        } else if (testscore >= 80) { //अगर score 80 आये तोह  B grade
            grade = 'B';
        } else if (testscore >= 70) { //अगर score 70 आये तोह  C grade
            grade = 'C';
        } else if (testscore >= 60) { //अगर  score 60 आये तोह  C grade 
 
            grade = 'D';
        } else {              //अगर 60 आये तोह  F grade
            grade = 'F';
        }
        System.out.println("Grade = " + grade); // यह command प्रोग्राम का output स्क्रीन पर दिखायेगा 
    }
}

 output :

    Grade = F 
प्रोग्राम ने ओउत्पुत फ दिखाया है, आब आप टेस्ट score बदल कर देखे की क्या grade आती है?

Compute the amount of interest


/**
 * निचे दी गयी क्लास १७००० ( 17000) रुपये को ०.०७ (0.07)के ब्याज दर पर दिए गए 
 * क़र्ज़ के एक साल के ब्याज की फलावट करती है 
 * इसका उत्तर output पर प्रिंट होगा |
 */
 
public class Interest {
   
   public static void main(String[] args) {
   
       /* सबसे पहले कंप्यूटर को variables की जानकारी देना इसे अंग्रेजी में declare the variables भी कहते है */
   
       double principal;     // कितना रूपया ब्याज पर दिया है उसकी संख्या 
       double rate;          // सालाना ब्याज दर 
       double interest;      // सालाना ब्याज 
       
       /* यहाँ फलावट होगी  */
       
       principal = 17000;
       rate = 0.07;
       interest = principal * rate;   // ब्याज को फल रहे है 
       
       principal = principal + interest;
             // एक साल के ब्याज को मूल के साथ जोड़ रहे है .
             // (Note: यहाँ कुल पैसा अब पिछले साल के पैसे से ज्यादा होगा.
             // हमने पिछले साल के पैसे की जगह अब उसके जोड़ को यहाँ स्टोर कर दिया है )
       /* आये हुए उतर का output */
             
       System.out.print("The interest earned is $");
       System.out.println(interest);
       System.out.print("The value of the investment after one year is $");
       System.out.println(principal);
                      
   } // main() function का अंत 
      
} //  class इंटेरेस्ट का अंत 

Integer Multiplication and Division


public class IntOps { 

    public static void main(String[] args) {
        int a = Integer.parseInt(args[0]);
        int b = Integer.parseInt(args[1]);
        int sum  = a + b;
        int prod = a * b;
        int quot = a / b;
        int rem  = a % b;

        System.out.println(a + " + " + b + " = " + sum);
        System.out.println(a + " * " + b + " = " + prod);
        System.out.println(a + " / " + b + " = " + quot);
        System.out.println(a + " % " + b + " = " + rem);
        System.out.println(a + " = " + quot + " * " + b + " + " + rem);
    }
}





सबसे पहली लाइन क्लास का नाम देने का काम कर रही है , साथ ही यह भी स्पष्ट कर रही है की यह क्लास 
पब्लिक क्लास होगी |
 
दूसरी लाइन में main function को define किया गया है , जो हमे हर प्रोग्राम में करना ही होगा | 
यह java को यह बताता है की प्रोग्राम का स्टार्ट कहा से है | 
 
 
तीसरी लाइन में integer ka input ko a में स्टोर कर रहे है और लाइन ४ में दुसरे integer को बी में 
स्टोर कर रहे है |
  
यह इनपुट हम प्रोग्राम को execute करते वक़्त ही दे देते है | निचे आपको इसका उदहारण भी देकने को मिलेगा|
 
बाकी program तो बहुत आसान है | मेरी राय में यह आपको देखते ही समझ में आ जायेंगा | sum में इसको 
जोड़ा जा रहा है | prod में इसका प्रोडक्ट लिया जा रहा है |
  
System.out.println कमांड प्रोग्राम को डिस्प्ले करने में use होती है |  
 
इस प्रोग्राम का आउटपुट इस प्रकार होगा :
  
 *  कमांड लाइन पर जाकर javac से इसको compile करना 
और फिर  java IntOps 1234 99 <----(value के साथ)
 *  1234 + 99 = 1333
 *  1234 * 99 = 122166
 *  1234 / 99 = 12
 *  1234 % 99 = 46
 *  1234 = 12 * 99 + 46
 * 
 *  % java IntOps 10 -3
 *  10 + -3 = 7
 *  10 * -3 = -30
 *  10 / -3 = -3
 *  10 % -3 = 1
 *  10 = -3 * -3 + 1

Why we need classes?


आप में से बहुत लोग जरूर यह सोचते होंगे की हमे आखिर क्लास की आवश्यकता क्यों पड़ी ?

ऑब्जेक्ट हमे प्रतिरूपकता एवं जानकारी छुपाने की सुविधा प्रधान करता है | क्लास में किसी भी कोड को बार बार उपयोग में लाने में मदद करती है | जैसे साइकिल बनाने वाली कंपनी एक ही ब्लुप्रिंट से कही साइकिल बना लेती है उसी प्रकार क्लास की सहायता से प्रोग्रामर एक ही क्लास का बार बार प्रयोग करके कही नए ऑब्जेक्ट बना सकता है |  
बिना क्लास के ऑब्जेक्ट oriented प्रोग्रामिंग  की कल्पना करना भी नामुमकिन है । क्लास के कही फायदे है जैसे Abstraction ,Inheritance और Polymorphism , इन सभी में इन्हेरिटेनस के बारे में हम पहले बात कर चुके है , Abstraction or Polymorphism के बारे में जल्द ही बात करेंगे  ।

क्लास कितनी महत्वपूर्ण है , इस बात को हम एक उदहारण के द्वारा समझेंगे । मान लीजिये हमे कुछ कारो के बारे में जानकारी संगृहीत करनी है । अब बिना क्लास के हम इसको एक अर्रे (array) ya Hash में संगृहीत कर सकते है ।

जैसे पहली कार का नाम होंडा सिटी है और उसका mileage 14 km / लीटर है : 
 car[1] = "होंडा सिटी" , car[2] ="14" या car[name] = "होंडा सिटी" , car[mileage] ="14" |

दूसरी कार का नाम मारुती अल्टो है और उसका mileage 21 km / लीटर है : 
car1[2] = "मारुती अल्टो", car1[2] = "21" या car1[name] = "मारुती अल्टो", car1[mileage] ="21" |

तीसरी कार का नाम  स्कोडा लौरा है और उसका mileage 13 km / लीटर है: 
car2[2] = "स्कोडा लौरा", car2[2] = "13" या car2[name] = "स्कोडा Laura", car2[mileage] ="13"|

इसी प्रकार मान लीजिये की हमारे पास 100 कारो का डाटा है । और उन सभी को हमने ऊपर दिए गए तरीके से संगृहीत कर लिया । अब आपको स्कोडा लौरा के mileage के बारे में पूछ लिया जाए या उसका प्रयोग आपको प्रोग्राम में करना पड़े, तो आप पाएंगे की 100 कारो के डाटा में से यह पता लगाना के लौरा कार  car2 अर्रे में है बहुत मुश्किल है । और यह मुश्किल और बढ़ जाती है जब हम हज़ारो कारो की बात करते है ।

क्लास किसी भी complicated (जैसे ऊपर दिया गया उदहारण) डाटा structure के किसी भी तरह के कंटेंट को  बनाने में हमे मदद करती है ।जैसे ऊपर दिए उदहारण में हम कार नाम की क्लास बनायेंगे जो कार का नाम और उसका माइलेज उन्ही के नाम वाले बहूत उपयोगी attribute जैसे name and mileage में स्टोर कर पायेगी ।

What is Enum ?

enum एक प्रकार का डाटाटाइप है जिसके पास एक पूर्व से निर्धारित लिस्ट होती है | यह लिस्ट हम 
enum को देक्लारे करते वक़्त ही उसमे स्टोर करा देते है | कही मायनों में enum boolean डाटाटाइप
से काफी मिलता है क्यों की उसमे भी दो पूर्व निर्धारित values जैसे true और false पहले 
से स्टोर रहती है| लेकिन boolean पहले से प्रोग्रम्मिंग भाषा में होता है जबकि enum नहीं | 
निचे हम एक उदहारण से देखेंगे की इसको प्रोग्राम में कैसे प्रयोग किया जाता है | 
enum main routine के बहार भी declare हो सकता है |
 
public class EnumUdaharan  {
 
       // यहाँ पर दो enum types का declaration है  
       // यहाँ हमने इसकी definition को main() routine से बहार रखा है 
  
    enum Day { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY }
      
    enum Month { JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC }
     
    public static void main(String[] args) {
       
         Day tgif;     // Day टाइप का variable declaration .
         Month libra;  // Month टाइप का variable declaration .
       
         tgif = Day.FRIDAY;    // tgif को value डे टाइप की value assign करते हुए 
         virgo = Month.AUG;    // लिब्रा में month टाइप की वलुए स्टोर करते हुए 
           
         System.out.print("Meri rashi Virgo hai, kyu ki mera janm");
         System.out.println(virgo);   // यहाँ output AUG होगा   
         System.out.print("mein hua hai");  
         System.out.print("Yeh saal ka ");
         System.out.print( virgo.ordinal() ); // क्रम संख्या को प्रिंट करना 
         System.out.println("-th mahina hai.");
         System.out.println("   (0 Say count kiya hai!)");
         
         System.out.print("Isn't it nice to get to ");
         System.out.println(tgif);   // Output value will be:  FRIDAY
          
         System.out.println( tgif + " is the " + tgif.ordinal() 
                                            + "-th day of the week.");
              // You can concatenate enum values onto Strings!
         
    }
   
}
 
ऊपर दिए प्रोग्राम का output कुछ इस प्रकार होगा : 
 
Meri rashi Virgo hai, kyu ki mera janm AUG mein hua hai
Yeh saal ka 9-th month of the year.(0 Say count kiya hai!)
Isn't it nice to get to FRIDAY
FRIDAY is the 5-th day of the week. 

What are Classes?


जावा एक object oriented भाषा है . इसको समझने के लिए पहले आपको क्लास को समझना जरूरी है . सबसे पहले में आपको यह बता दू की अंग्रेजी में ऑब्जेक्ट का मतलब होता है कोई वस्तु,  उदहारण के लिए आप किसी कुर्सी को ले सकते है , टेबल को , या पंखे को , कोई भी वस्तु जो आपके दिमाग में आये | आप पाएंगे की इन सभी ऑब्जेक्ट को आप कही अलग हिस्सों में बाट सकते है . जैसे टेबल कही प्रकार की हो सकती है , कितनी ही कंपनीयो द्वारा बनायीं जा सकती है | लेकिन इन सभी टेबलों में कुछ समानता भी है जैसे यह सभी टेबल के चार पैर है | इन सभी की लम्बाई और चोडाइ है | अब अगर हमे कोई प्रोग्राम बिना क्लास और ऑब्जेक्ट की मदद के बनाना हो तो हमें हर टेबल को अलग define करना होगा और उसकी साइज़ को बताने के लिए भी अलग integer declare करने होंगे |

पर चुकी हमारे पास जावा है , हमें ऐसा करने में कोई परेशानी नहीं होगी | इसको में आपको एक प्रोग्राम की मदद से समझिएगा | इस प्रोग्राम में हम object साइकिल के बारे में बात करेंगे और देखेंगे के कैसे एक साइकिल क्लास , उसके constructor एवं उसके method को प्रयोग में लाया जाता है |

public class Cycle {
 
    //  यहाँ हम जावा को बता रहे की हम तीन fields का प्रयोग करेंगे  
    //  cadence मतलब होता है की एक मिनट में साईकिल चलाने वाला कितने पैडल मार रहा है ।

    public int cadence; // यहाँ हम एक फिएल्ड को declare कर रहे है | और बता रहे है की वो पब्लिक है । 
    public int gear;
    public int speed;
 
    //  यह जावा का एक constructor है . इसके बारे में चर्चा बाद में करेंगे
    public Cycle(int startCadence, int startSpeed, int startGear) {
        gear = startGear;
        cadence = startCadence;
        speed = startSpeed;
    }
 
    // इस क्लास के चार मेथड है, दो में हम field में संख्या संगृहीत करते है , और बाकि 
    //दो में स्पीड को बढाने , घटाने का काम करते है   
    public void setCadence(int newValue) {
        cadence = newValue;
    }
 
    public void setGear(int newValue) {
        gear = newValue;
    }
 
    public void applyBrake(int decrement) {
        speed -= decrement;
    }
 
    public void speedUp(int increment) {
        speed += increment;
    }
 
}
    

अलगी पोस्ट में इसी  बात को आगे discuss करेंगे