Transcript for:
Java Programming Lecture

हाई एवरीवन कैसे हैं आप सभी लोग और इस वीडियो के अंदर हम आपके लिए लेकर आये हैं जावा का एक तड़कता भड़कता नया पोस्ट इस दो गंटी की वीडियो के अंदर हम बेसिक इंस्टलेशन से लेकर पूरे के पूरे जावा प्रोग्रामिंग लांगविज को निप्टा रहे होंगे और उसके साथ साथ एंड में हमने आपको नोट्स दे दिये हैं ताकि जो आ और यह वीडियो सभी स्टूडेंट्स के लिए है वह स्टूडेंट जो यहां पोडिंग प्रोग्रामिंग की वर्ल्ड में अभी शुरुआत करें या वह स्टूडेंट जो सी प्लस प्लस या पाइट जैसी लैंग्वेज जानते हैं और अब जावा सीखना चाहते हैं तो इस वीडियो को देखने के बाद आप बहुत सारे कॉन्सेप्स को अप्लाई कर रहे होगे कोड कर रहे होगे एंड में उन्हीं कॉन्सेप्स को यूज Web Development का एक course है जिसमें HTML, CSS, JavaScript को हमने cover किया है तो अगर आप उन technologies के बारे में सीखना चाहते हैं तो जाकर आप उनको refer कर सकते हैं तो शुरू करते हैं अपने Java course के साथ अब सबसे पहले हम शुरू करने वाले हैं Java में coding Java में coding करने से पहले हमें सबसे पहले अपने system में एक से दो चीज़ें डाउनलोड करनी पड़ेगी इन में से सबसे पहला है Java Development Kit तो हम अपना browser खोलेंगे और वहाँ पर जाकर type करेंगे jdk डाउनलोड यहां पर जो पहला ओरेकल का लिंक आएगा महा जाकर हमें यह जेडी के डाउनलोड का ऑप्शन क्लिक करना है नीचे स्क्रोल करके यहां पर हमें हमारे डिफरेंट ओपरेटिंग सिस्टम्स के लिए बहुत सारे ऑप्शन दिख जाएगे हम अभी Mac पर हैं तो हम इस DMG को डाउनलोड करने वाले हैं यहां Accept and डाउनलोड हमारा जेडी के डाउनलोड हो गया है तो अब हम इस पाइल को ओपन करेंगे और यह ओपन हो रही है और इस पैकेज पर डबल क्लिक करके हमारा इंस्टलेशन स्टार्ट हो जाएगा तो जेडी के इंस्टॉलर में जाकर हमें क्लिक करना है continue then install and then हमारा username and password और इसे अब जो दूसरी चीज हमें डाउनलोड करनी है वो है एक एडिटर, तो जैसे नोटबुक में हम नोट्स बनाते हैं, वैसे ही सारे कोड हमें एडिटर के अंदर लिखने होते हैं, हम जावा को, एकलिप्स, नेट बीन्स जैसे बहुत सारे एडिटर पर लिख सकते हैं, जिस ए और हम डाउनलोड करने वाले हैं Community वर्जन जो की एक Free वर्जन है, इसमें हम सिलेक्ट करेंगे DMG for Apple Silicon M1 के लिए जो डाउनलोड हो रहा है, अगर आप किसी और सिस्टम पर हैं तो अकार्डिंगली आप Windows and Linux के हिसाब से अपने लिए डाउनलोड कर सकते हैं, तो फाइनली हमारा IntelliJ डाउनलोड हो गया है, इसको हम करेंगे Open और इसे ड्राग करके डाल देंगे अपने Applications फोल्डर के अंदर, और यह अल्लेडी एक्सिस्ट करता था तो हम इसे रिप्लेस करने वाले हैं। अब हम सर्च करेंगे IntelliJ के लिए और उसे ओपन करेंगे। तो हमें Terms and Conditions पढ़ने हैं और क्लिक करना है Continue, Don't Send। और फाइनली हमारा IntelliJ हमारे लिए खुल गया है। तो हम New Project वाले इस बटन पर क्लिक करेंगे और नया प्रोजेक्ट हमारे लिए खुल जाएगा। Maven, Gradle, Java, FX, हमें Java वाले option पर रहना है, and यहाँ पर Project SDK, यानि Software Development Kit वाले option में, हमारे लिए 16 version already selected होगा, क्योंकि हमने जो JDK download किया था, उसका version 16.0.1 था, additional libraries हमें नहीं चाहिए, हम click कर देंगे next पर, यहाँ पर हम click करेंगे इस check box पर, और इस check box पर click करने का मतलब यह है कि थोड़ा बहुत जो sample code है वो हमारे लिए already लिखा हुआ आ जाएगा हमें शुरुआत से नहीं लिखना पड़ेगा, तो दुबारा से click करेंगे next पर, अपने project को एक नाम देंगे, यह यहाँ पर project location हमें दिख रही है, और फिर package का नाम हम रख देंगे अपना college, अब यह package क्या है, java में जो सारी related files होती हैं, वो एक package के अंदर stored होती है, जैसे एक लाइब्रेरी के अंदर हिस्ट्री वाले सेक्शन में सारी हिस्ट्री रिलेटेड बुक्स होती हैं, वैसे सारा रिलेटेड कोड एक पैकेज के अंदर होता है, अब गूगल को अपना कोई कोड लिखना है जावा के अंदर, तो गूगल.com की जगे वो अपने पैके� आप क्लिक कर देंगे finish पर और आपका पूरा पूरा आईडी ए आपके लिए पूरा पूरा आईडी ए आपका पूरा पूरा आईडी ए आपका पूरा पूरा आईडी ए आपका पूरा पूरा आईडी ए आपका पूरा पूरा आईडी ए आपका पूरा पूरा आईडी ए आईडी ए आईडी ए आईडी screen के left में अगर हम जाएं तो यहाँ अपना college नाम का एक folder हमें दिखेगा, जिसके अंदर एक source folder है, इस source folder के अंदर जाएंगे तो हमें हमारा package दिख रहे है, com.apna college, और इसके अंदर दिख रहे है हमें यह main नाम की चीज, यह main actually हमारी file है जो यहाँ create हुए है, जिसके अंदर हम अब जावा में सबसे उपर लिखा होता है कि हम कौन से package के अंदर अपना code लिख रहे हैं, तो उपर लिखा है package com.apna college, अब उसके बाद आती है ये class नाम की चीज, जावा के अंदर सारा जो code होता है वो classes के अंदर लिखा होता है, तो हमें कुछ भी जो file के अंदर लिखना है, तो class में जैसे हम school में classes में जाते थे तो वहाँ पर सारे के सारे जो students हैं वो same class में बैठते थे वैसे ही java का सारा का सारा code same class के अंदर आता है और इस class का नाम है यहाँ पर main और हमारी file का नाम भी है main.java तो सारी java files का जो extension होता है वो.java होता है अब इस main class के अंदर कुछ code लिखा हुआ है जो दिखाता है कि यह एक function है अब function क्या होते हैं java के अंदर function एक ऐसा block होता है एक ऐसा पीस होता है कोड का जो कुछ काम कर रहा होता है जैसे अगर हम फोन का वॉल्यूम बटन ले तो उसको प्रेस करेंगे तो हमारे फोन की वॉल्यूम बढ़ जाएगी उसी तरीके से जावा के अंदर फंक्शन होते हैं आप उनको और वो हमारे लिए वो काम हमें परफॉर्म करके देते हैं तो जावा के अंदर सबसे पहला जो फंक्शन कॉल होता है जब भी कोड एक्जिक्यूट हो रहा होता है रन हो रहा होता है उस फंक्शन को हम नाम देते हैं मेन फंक्शन अब functions या methods के बारे में हम आगे जाकर पढ़ने वाले हैं, तो तब हमें detail में समझ आ रहा होगा कि main function की क्या importance है, और बाकी functions हम खुद से कैसे लिख सकते हैं, अब इस code के अंदर हम एक और चीज़ notice करेंगे कि double slash के बाद write your code here लिखा हुआ है, अब ये क्या चीज़ है, ये grey मे आप English में लिख सकते हैं, Hindi में लिख सकते हैं, जिस भी language में editor accept कर ले, आप वो चीज लिख सकते हैं, मतलब यहाँ पर आप कुछ गलत लिख देंगे, तो आपके code में error नहीं आएगा, जिसे अगर हम यहाँ पर इसे edit करके लिख दें, तो आपके first program, तो our first program एक English की line है, यह Java का part नहीं है, बट English की line हम comments के अंदर लिख सकते हैं, तो जितने भी comments हम code के अंदर लिखेंगे, उन्हें लिखेंगे double slash की help से, और अगर मैं अलग-अलग lines में comments लिखने हैं, तो star, star, slash, तो इस तरीके से हम लिखेंगे अपने comments को, अब comments को हटा कर हम थोड़ा zoom in कर लेते हैं अपने code की तरफ, अपना first program हम लिखने वाले हैं, और first line जो हम लिखेंगे इस program के अंदर, वो वो तो हम क्या करेंगे, हम output के लिए एक statement लिखेंगे, अब इस statement को हमें ध्यान से बढ़ना है, अब C++ के अंदर output दिखाने के लिए हमें Cout जैसा चोटा सा शब्द लिखना पड़ता है, Python के अंदर print लिखना पड़ता है, लेकिन Java के अंदर print करने के लिए हमें एक लंबी सी line लि अब methods वो functions होते हैं, जो classes के अंदर लिखे जाते हैं, तो इसके अंदर हमने pass कर दिया है, वो वाली चीज जिसे हमें output कराना है, अब system अपने आप में एक class है, और इस class के अंदर हम find करते हैं, ढूंढ के अपना println नाम का एक function, इस function के अंदर हम कुछ भी pass कर देंगे, अब बात करते हैं कि बार-बार हम ये semicolon क्यों लगा रहे हैं अपने code के अंदर, तो जैसे English के अंदर हर sentence खतम होने के बाद, हम एक dot लगाते हैं ताकि पदा जल जाए कि यहाँ पर हमारी line खतम हो गई है, वैसे ही java के code के अंदर हम semicolon लगाते हैं यह दिखाने के लिए, कि यहाँ पर हमारी line खतम हो गई है, तो यहाँ पर हमारी पहली line खतम हो गई है, और देखते हैं कि वो कैसे print होगा, हम यहाँ पर इस green button पर click करेंगे अपने code को run करने के लिए, and code हमारा run हो गया है, and हमारे पास print हुआ है hello world, जो हमने यहाँ पर एक string pass की थी, उसके साथ साथ print हुआ है, process finished with exit code 0, तो जिस भी code में error नहीं आता, वहाँ पर हमारा exit code होता है 0, जब error आ जाता है, तो exit code 1 आ जाता है, तो hello world हमारे लिए print हो गया है, अब अगर हम इसको कर दें hello java, और दुबारा run क्लिक करें, तो हमारे लिए जो नया output print हुआ है, वो हुआ है hello java, तो हमें जावा में अगर कुछ भी print करना है तो हम लिखेंगे system.out.println, इस println के अलावा हम print भी लिख सकते हैं, और print लिखेंगे तो अगर output को observe करें, तो output same आया है, बट आप एक difference देखेंगे कि hello java के बाद अब एक line नहीं है, तो println जब भी use करते हैं तो वो अपना output print कर अब एक shortcut है IntelliJ में output print करने का, which is कि हम S-O-U-T, south type करें और उसके बाद tab दबा दें, तो tab जब हमने दबाया तो एकदम से system.out.println हमारे लिए print हो गया, और हमें पूरी जो statement है वो बार-बार लिखने की ज़रूरत नहीं पड़ेगी, अब बात करते हैं हम variables की, तो variables क्या होते ह जैसे अगर हमें किसी नाम को store कराने है memory के अंदर या code के अंदर लिखना है, तो उसे हम कैसे लिखेंगे, हम लिखेंगे string name is equal to aman, तो इस तरीके से हमने string type का एक variable बनाया और इस variable को हमने नाम दिया है name, तो इस variable का नाम है name और इस variable के अंदर जो value stored है, उसे हम कहेंगे aman, तो य कि कंप्यूटर की मेमोरी में किसी लोकेशन के पास है मतलब उस पर पॉइंट कर रहा है उस लोकेशन का नाम नेम है एंड उस लोकेशन के अंदर अमन नाम की एक स्ट्रिंग जो है वह स्टोर है अब जैसे हमें एक और नाम स्टोर कराना है दे देंगे हम नेबर नेबर में हम स्टोर करा देंगे अब क्या हुआ हमारी मेमोरी के अंदर एक और लोकेशन बन गई इस location का नाम neighbor है, इस location के अंदर जो value stored है, उसका नाम है aku. तो ये हमने 2 string, 2 नाम stored करा दिये, उसके अलावा मान लेते हैं कि हमें age भी store करा आएंगे, तो उसको कैसे store कराएंगे? हम यहाँ पर लिखेंगे int age is equal to 30. तो क्या हुआ?

Memory के अंदर अब एक integer type की memory location आ गई है, जिसका नाम हमने दे दिया है age, इस location के अंदर stored है हमारी value, which is तो इस तरीके से हम अलग-अलग values को store करा सकते हैं अपनी memory locations के अंदर, और ये जो variables हैं इनकी value हम एक दूसरे को दे भी सकते हैं, but string type की value सिर्फ string में exchange होगी, उसी तरीके से numbers की value सिर्फ numbers के पास जा सकती है, तो जैसे अगर हमें एक और नया variable बनाना है, जिसे हम नाम दे देते हैं friend, तो friend में हम same string assign करेंगे, which is aku, तो हमारी memory के अंदर एक और location बन गई जिसका नाम है friend जिसके अंदर अकू stored है, बट हम ध्यान से देखें तो अकू हमने पहले एक variable बनाया हुआ है, तो instead of writing अकू दोबारा हम क्या करेंगे, यहाँ पर लिख देंगे neighbor, तो क्या हुआ, उस location के अंदर जहाँ पर friend था, तो इस तरीके से जो variables की value है, वो हम दूसरे variables को assign कर सकते हैं, दे सकते हैं, अब बात करते हैं, Java के अंदर types की, types हमें बताते हैं, कि हम जो भी variable बना रहे हैं, वो किस type का है, क्या वो एक नाम है, क्या वो एक character है, या फिर एक number है, अब ऐसे ही Java के अंदर, बहुत सारे types होते हैं, कि types दो types के होते हैं, primitive types, primitive, types मतलब जिसमें हम simple values store करने वाले हैं and दूसरे आ जाते हैं हमारे non primitive या फिर reference types इन में हम complex values को store करते हैं सबसे पहले हम बात करने वाले हैं primitive types की यानि simple values की अब बात करें की primitive types कौन से होते हैं इन में से सबसे पहला होता है byte, byte हमाला लेता है एक byte की memory हमारे computer की memory के अंदर तो इस हम 127 तक जो numbers हैं वो सारे bytes के अंदर store कर सकते हैं, ऐसे ही इसके बाद हमारे पास आ जाता है short, तो short लेता है 2 bytes की memory, उसके बाद आता है हमारे पास int, int लेता है 4 bytes की memory, फिर आता है long, long लेता है 8 bytes की memory, and so on, इसी तरीके से float आता है, float के अंदर हम decimal values को store कराते हैं, जो 4 bytes की memory लेता है, and इसके साथ साथ हम लिखेंगे double, double लेता है 8 bytes की memory, and उसके बाद हम बात करते हैं characters की, तो character हमारे care नाम से हम लिखते हैं, और ये लेते हैं हमारी 2 bytes of memory, and finally हमारा boolean, boolean यानि true, false, true, false जैसे की yes या no जैसे answers के लिए हम Boolean को use करेंगे, तो Boolean के अंदर दो इटाइप की values stored हो सकते हैं, या तो true या false, तो ये लेता है हमारा एक byte, यानि on या off, तो इसमें हम store कराते हैं true and false, character हमारे normal English के characters जैसे हैं, जिसके अंदर हम A, B, C, D store करा रहे होते हैं, float हमारी decimal values होती हैं, जैसे pi का हमने 3.14 store करा दिया, वैसे ही int के अंदर हम integer store करा रहे होते हैं, and इसी तरीके से अलग-अलग हमारे types के अंदर हम अलग-अलग types की values को store करा रहे होते हैं, अब इन सारे types की एक range होती है, और इस range के बाहर अगर हम लंबे numbers इन में store कराने की कोशिश करेंगे, इन की capacity के बाहर वाले, तो हमारे पास एक error आ सकता है, इसलिए हमें ध्यान रखना है कि कौन से numbers हम कौन से types के साथ store करा रहे हैं, इसके साथ अब examples लेते हैं, जैसे अगर हम bite, type का एक variable बनाएं, इस variable को नाम देते हैं age, तो इस age के अंदर हम 30 जो है वो store कर सकते हैं, तो इस तरीके से हमने age नाम का एक variable बनाया, जिसका type है byte, और उसके अंदर जो value stored है वो है 30, अब इसके बाद एक और example लेते हैं, int type के variable का इसे नाम दे देते हैं, phone, phone के अंदर कुछ phone number ह लेकिन अगर हम यहाँ पर एक और जिरो लगा दे, तो यह red line appear करती है, मतलब यह जो integer number हम store करना चाहें, इंट के अंदर, यह हमारी इंट की range से बाहर निकल रहा है, तो इसे हम store नहीं करा सकते, अगर इसी number को हमें store कराना पड़ेगा, तो हम store कराएंगे long के अंदर, तो long phone2, तो क्या हुआ, जावा को पता चल गया कि हम ये normal integer नहीं store करा रहे हैं, हम long type का number store करा रहे हैं, उसी तरीके से अगर हम एक float value लिखना चाहें, जिसे हम नाम दे देते हैं pi, तो pi में हम value store कराएंगे 3.14, पर अभी एक red line आ रही है, अब जावा जो है वो इस number को integer resume कर ला है, इसल हम small f भी लिख सकते थे, लेकिन capital F से थोड़ी distinction जादा हो जाती है, इसलिए integer के अलावा जब हम बाकी numbers लिख रहे होते हैं, जैसे हमने long में लिखा, या float में लिखा, तो हम वहाँ पर capital F या capital L लिख देते हैं, ताकि Java को पता चल जाए, कि वो long या float type का एक number है, अब एक और example लेते हैं character का, character में हम लिखते हैं एक letter, letter के अंदर हम store करा देंगे एक, या फिर इस A के अलावा हम at the rate भी store करा सकते हैं, तो कोई भी character हम letter के अंदर store करा सकते हैं, और memory में वो ले रहा होगा हमारी लिए 2 bytes, अब इसके बाद बात करते हैं Boolean की, तो Boolean में हम store कराते हैं is adult, तो अगर कोई 18 plus है या नहीं, तो उसके लिए हम store करा देते हैं true, क्योंकि ह हम अगर अपनी age को change करके कर दे 12, तो यहाँ पर हम false भी store कर आ सकते हैं, तो हमारे लिए false print हो जाएगा, तो इस तरीके से boolean के अंदर हम true and false दो values दे सकते हैं, depending upon कि हमारी क्या condition है, अब बात करें अगर non primitive types की, तो इसके अंदर हम discuss करने वाले है string को, तो लिखते हैं non primitive types, and types के अंदर हम create करेंगे string, तो जब बहुत सारे letters को मिला कर एक word बन जाता है और बहुत सारे words को मिला कर एक line बन जाती है, तो इस तरीके के जो भी हमारी values होती है, उनको हम store करते हैं string के अंदर, तो string को हम type दे देंगे, string, लिखेंगे name and name में हम लिख देंगे, aman, तो इस तरीके से हमने name नाम का एक variable बना लिया, जिसका type है string और उसमें हमने store करा दी है value, aman, अब जो primitive और non-primitive types होते हैं, उनमें कुछ differences होते हैं, इनमें पहला difference यह है कि non primitive types के अंदर अपने ही कुछ अलग-अलग functions होते हैं, अपने ही कुछ methods होते हैं, जिनकी help से हम उनके उपर कुछ-कुछ operations perform कर सकते हैं, या फिर उनसे कोई और value निकाल सकते हैं, जैसे string एक non primitive type है, तो हम क्या कर सकते हैं, इस string की हम length निकाल सकते हैं, दे हम प्रिंट करने वाले हैं name.length अब length एक पूरा method या एक function है name के लिए, तो name. जब ये हमने type किया, तो हमारे लिए name नाम के variable की length print हो जाएगी, इसको run करके देखने के actually print क्या होगा, तो हमारे लिए print हुआ है 4, और अगर हम name के अंदर stored value देखें, तो उसके अंदर भी हमारे 4 characters हैं, तो अगर हम यहाँ पर अमन की जगे कर दें, अपू, और इसको अगर हम run करें, तो हमारे पास output आएगा 3, तो इस तरीके से non primitive type का हमने एक function use किया, इस function का नाम है length function, and the length को हमने dot operator, यानि dot लगा कर call किया, अब primitive और non primitive types के अंदर एक और difference यह होता है, कि primitive types की जो length होती है, वो fixed होती है, मतलब उनकी जो capacity है, वो fixed है, बाइट के अंदर आप minus 128 से 127 की range तक ही number store कर सकते हैं, उसके उपर या उससे नीचे आप जाएंगे, तो हमारे लिए error आएगा, but अगर हम string की बात करें, जो की non primitive यानि reference type का variable है, इसके अंदर हम कितने भी characters को store कर दे, हमारे लिए error नहीं आ रहा होगा, जब तक हम obviously हमारी memory को exceed उसके अलावा एक और हमारा difference आ जाता है वो ये कि non-primitive types को हमें new keyword की help से declare करना होते हैं अब बात करते हैं new keyword की तो जैसे हमारे पास एक dictionary होती है उसके अंदर बहुत सारे हमारे words store होते हैं और हर word का मतलब fixed होता है वैसे ही java की अपनी dictionary है जिसके अंदर बहुत सारे words हैं इन ही words को हम keywords कह देते हैं और इनके जो मतलब हैं वो fixed रहते हैं तो ऐसा ही एक keyword है new, new keyword की help से हम classes की objects बनाते हैं तो यह जो चीज है यह हम थोड़ा आगे जाकर डीटेल में पढ़ेंगे तो हमें जादा अच्छे से समझ आ रही होगी अभी के लिए यह सोचने है कि जब भी हमें non-primitive या reference types create करने होगे तो हम उनको create करेंगे new keyword की help से तो जैसे यहाँ पर हमने string name is equal to अपू लिखा था उसकी जगह हम new keyword की help से लिखते हैं तो हम लिखते new string और नई string में हम पास कर देते हैं अपू वैसे ही अगर हमें एक और define करना है friend, तो हम लिखते new string, new string में हम pass करते अकू, तो इस तरीके से हमारे पास नई string बन गई, friend की नई string बन गई, name की, अब आप बोलेंगी कि यहाँ पर हमने नई string का जब use नहीं किया, new string का use नहीं किया, तब भी हमारे code में जो है कोई error नहीं आय इसलिए हम directly जो value है, वो string type के किसी variable को हम assign कर सकते हैं, and उसके बाद हम उस string को, उस variable को use कर सकते हैं, अब थोड़ा detail में बात करते हैं, strings की, strings के लिए हम कौन-कौन से methods, famous methods जो हैं, वो use करते हैं, and साथ के साथ strings की help से हम कौन-कौन से operations को perform कर सकते हैं, अब इसने सबसे पहली बात करते हैं, concatenate, concatenate यानि दो strings को जोड़ना, अब जैसे हमारे पास पहली string है, name 1, जिसे नाम दे देते हैं अमन, और दूसरी string है name2, जिसे नाम दे देते हैं अकु, तो string name3 अगर हमें बनाना है, तो हम लिख सकते हैं name1 प्लस name2, और sout टाब में अगर हम print करेंगे name3 को, तो इसे run करके देखते हैं कि हमारे लिए output क्या आएगा, तो हमारे लिए output आये है दोनों strings का concatenation, इस plus नहीं, अब अगर हमें बीच में लगाना होता एक और string जिसे नाम दे देते हैं and, तो यहाँ पर हम and लिख देते हैं और उसके आगे और पीछे हम plus को लगा देते हैं, दुबारा से run करेंगे, तो हमारे लिए जो output print होगा, वो होगा aman and aku, इसमें हम दे देते हैं थोड़ी अगर हम मान ले कि हमारे पास string है, हमारा नाम जो हम लिख रहे हैं, और उसके अंदर हमें देखना है कि character कौन सा present है किसी भी position पर, तो हम क्या करेंगे, s out करते हैं, और name.careat एक function लिखते हैं, इसके अंदर पास करेंगे, सबसे पहले 0, तो मतलब 0th position पर कौन सा character present है, अब आप तो जावा is a zero index based language, मतलब यहाँ पर position zero से शुरू होती है, one से नहीं, तो अगर हम पहले वाले किसी बंदे की बात कर रहे हैं, पहले वाले किसी data की बात कर रहे हैं, तो वो zero position पर है, दूसरे की बात कर रहे हैं, तो वो first position पर है, तीसरे की बात कर रहे हैं, तो वो second position पर है, त तो हमारे लिए print हो गया character A, ऐसे ही अगर हम one print करें और run करें, तो हमारे लिए print हो जाएगा हमारा character M, तो इस तरीके से अपनी string के सारे characters को अलग-अलग positions पर जाकर हम देख सकते हैं, कि कौन से position पर कौन सा character stored है, तो बात करते हैं length की, जिसके बारे में हमने already बात की है, length के लिए यहाँ पर हमें लिखना पड़ेगा name.length, और इसे run करेंगे तो हमारे लिए हमारी length यानि कि 4 जो है वो print हो जाएगा, अब length के बाद बात करते हैं एक और important function की जिसका नाम है replace, replace function से क्या होगा, हमारी string के अंदर जहां पर भी कोई एक character जो है अकर करता है उसको हम replace करके किसी और character को वहाँ पर डाल सकते हैं, जैसे अग उसे हम replace कर देंगे b से, and क्या करेंगे, इस string को, and इसका जो output होगा, इसे हम store करा लेंगे, एक नई string name 2 के अंदर, and हम print कर देंगे, हमारे name 2 को, तो इस code को run करके देखें, तो output हमारे लिए आया है, a, m, b, n, तो हमारा जितना भी a occur करता था, मतलब small a जब भी आया अमन के अंदर, उसको हमने replace कर दिया है small b के साथ, अब name.replace जो ये function है, ये उसी string के अंदर change नहीं करता, मतलब अगर हम अपने code के अंदर print कराएं, name को, and run करें code को, तो हम देखेंगे कि हमारे output में हमें amon ही मिला है, तो मतलब हमारी original string में change नहीं हुआ, हमें एक नई string मिली है, जिसमें हमारे सारे changes हुए हैं, तो जावा के अंदर strings जो हैं वो immutable होती है, मतलब जावा के अंदर एक बार आपने string बना दी, तो उसके अंदर आप change नहीं कर सकते, अगर आपको उसके अंदर change करना है, तो आपको एक नई string बनानी पड़ेगी, तो अमन हमने एक बार अगर string बना दी और वो name के अंदर store कर द सबस्रिंग यानि एक बड़ी इसी हमारे पास स्ट्रिंग है इसका हमें कोई छोटा पार्ट निकालना है तो वो हम कैसे निकालेंगे बात करते हैं सबस्रिंग की ले लेते हैं कोई एक नेम जो है अमन और अकू अब इस स्ट्रिंग के अंदर से सिर्फ हमें अमन निकालना है 3 यानि 3 तक positions, but यह जो sub string method है, इसके अंदर जो पहला index हम pass करते हैं, वो तो include होता है हमारी sub string के अंदर, जो दूसरा index pass करते हैं, मतलब आखरी index, वो include नहीं होता, तो अगर हमें third position तक हमारी string के characters चाहिए, तो हमें यहां देना पड़ेगा 4, क्योंकि 4 include नहीं होगा, third तक हमारे पास sub string return हो जाएगी, तो अगर हम इसे run करें, तो हमारे पास जो output आएगा वो आ जाएगा अमन, तो इस तरीके से अगर हमें सिर्फ and चाहिए, तो उसके लिए first position जो होगी वो होगी 0, 1, 2, 3, 4, 5, तो first position हमारे लिए होगी 5, हमें चाहिए 3 characters, तो 6, 7, 8, तो हम 9 यहाँ पर रख देंगे क्योंकि 9 include नहीं होगा, and इसे run करेंगे, तो हमारे पास and जो है वो print हो जाएगा, तो इस तरीके से sub string method को भी हमने use कर लिया है, और ये जो sub string method है, मतलब name.substring जब हम लगाएंगे, तो हम उसी string को काट नहीं रहे हैं, हम क्या कर रहे हैं, उस string का एक छोटा हिस्सा return कर रहे हैं, और उससे एक नई string बन रहे हैं, क्योंकि strings हमारी immutable होती हैं, Java के अंदर, तो ये एक बहुत important fact है, अगर हम आगे जाके data structures and algorithms करेंगे, कि strings immutable होती हैं, अब बात करते हैं arrays की, तो जैसे अगर हम ये जावा के अंदर मान लेते हैं age store करानी है तो उसको हम कैसे store कराएंगे? उसके लिए हम लिखेंगे int age is equal to 30. लेकिन मान लेते हैं कि हमें किसी student के लिए उसके mark store करानी हैं. जैसे हमें mark store कराने है physics, chemistry and English के तो उसे हम कैसे store कराएंगे? एक तरीका ये हो सकता है कि पहले हम लिखें physics फिर लिखें chemistry.

फिर लिखें हम English, पर अभी सिर्फ तीन subjects है��, लिकिन मान ले कि अगर दस subject कोई student पढ़ रहा है, या फिर बीस पढ़ रहा है, क्योंकि college के time पर हर semester में जो subjects हैं, वो change होते रहते हैं, तो उसके लिए तो हमें बहुत सारे variables लिखने बढ़ जाएंगे, तो यहाँ पर हमें एक ऐसे data structure की जरूरत है, एक ऐसे tool की जरूरत है, जिससे हम list बना सकें, हमें एक एक को जाकर, individual नाम न देना पड़े, तो Java के अंधर इन ही list को हम कह देते हैं arrays, तो arrays हमारे बहुत सारे types के हो सकते हैं, हम integer values के भी arrays बना सकते हैं, strings के भी arrays बना सकते हैं, characters के भी arrays बना सकते हैं, even boolean values के भी arrays बना सकते हैं, तो देखते हैं कि हम marks का array कैसे बनाएंगे, हम लिखेंगे int और लगा देंगे 2 square brackets, तो जब भी Java के अंधर हम एक array बनाना होता है, तो हम दो square brackets लगा देते हैं, तो सबसे पहले हम लिखते हैं वो type, जिस type का data उस array में store होने वाला है, and then square brackets यह दिखाने के लिए कि यह एक list है, यह एक array है, and फिर हम दे देंगे अपने array को कोई नाम, जैसे अपने marks के लिए हमने दे दिया marks नाम, and हमने पहली बात की थी कि primitive और non-primitive data types कौन से होते हैं, तो arrays हमारे non-primitive data types हैं, यानि हमें use करना है new keyword को, और उसके बाद लिख देंगे int, क्योंकि हमें int type के नए कुछ memory locations चाहिए, और कितने चाहिए, हमें 3 subjects के marks store करने हैं, तो हमें 3 memory locations चाहिए, जिसमें हम int type की values को store करा सकें, तो इस तरीके से हमने अपना एक marks नाम का array जो है, वो declare कर लिया है, अब इस array में store करते हैं हमारे सारे marks क position पर हम store करेंगे physics के marks तो इसको हम assign कर देंगे value 97 उसके बाद marks 1 यानि second position पर हम store कर देंगे 98 यानि chemistry के marks and then marks 2 यानि की third position पर हम store कर देंगे English के marks which is 95 तो इस तरीके से एक single variable marks variable को use करके हमने तीनो subjects के marks store कर दिये हैं और अब इन subjects को हम use कैसे करेंगे, मान लेते हैं हमें marks को कराना है print, तो हम क्या करेंगे, marks print कराने की कोशिश करते हैं और देखते हैं कि output में हमारे पास क्या आता है, उपर जब run पर click करेंगे, और अब अगर इस output को ध्यान से देखें, तो ये तो वो marks नहीं हैं जो हमने store किये ऐसा क्यों हुआ? ऐसा इसलिए हुआ क्योंकि Java के अंदर अगर हम Array variable को print कराने की कोशिश करते हैं तो हमारा पूरा Array print नहीं होता हमारे लिए ऐसी कोई Jargon print होती है जो Class, Name और Hash code को मिलकर बनती है याद ये रखना है कि variable का न���म जब हम लिख रहे हैं तो हमारा Array print नहीं होगा तो Array की values को print कैसे कराएं? उसके लिए हमें यूज़ करना है वही square bracket operator को अगर physics के marks print करवाने हैं तो 0th position पर जाकर हम run क्लिक कर देंगे और हमारे लिए print हो जाएंगे हमारे physics के marks.

Similarly अगर हम first position पर जाएं तो print हो जाएंगे हमारे chemistry के marks. And अगर हम second position पर जाएं तो print हो जाएंगे हमारे English के marks. तो इस तरीके से हम Java के अंदर arrays में कोई भी data store कर सकते हैं और फिर square bracket की help से उस data को access कर सकते हैं यानि ढूंढ सकते हैं.

अब एक आर important चीज की बात कर लेते हैं जावा के अंदर वो है initialization, अब C++ जैसी language में अगर आप कोई भी variable बना देंगे पर उसको कोई value नहीं देंगे, तो क्या होगा उन variables के अंदर कुछ garbage value store हो जाएगी, लेकिन जावा के अंदर अगर आप variables बनाते हैं और उसको कोई value नहीं पर marks को हम initialize नहीं करते, मतलब कोई value नहीं देते, तो हम यहाँ पर इसे कर देंगे comment out, मतलब यह चीज अब code का part नहीं है, और अब print कराने की कोशिश करेंगे marks 2 को, तो अब देखते हैं क्या होता है, अगर हमने run को click किया, तो हमारे लिए print हुआ 0, क्योंकि यह integer type का array था, और इसे हमने कोई value नहीं दी, मतलब initialize नहीं किया, तो यह अपने आप initialize हो गया, 0 value लेकर, अगर ये array जो है वो int टाइप का नहीं होता, boolean टाइप का होता, तो हम दोनों तरफ लिख देते हैं, हमारे array में boolean, और अब इसे हम run करके देखें तो हमारे लिए print होगा marks2 पर false, तो सारी जो null, boolean के लिए false, int के लिए zero values हैं, इन से हमारे arrays initialize होंगे, and even primitive type के जो variables हैं, अगर हम उनको value नहीं देंगे, तो वो भी इन ही null values, इन ही empty values से initialize होते हैं Java के अंदर, अब बात करते हैं इसके बाद arrays के दो important functions की, इन में से सबसे पहला function है length, तो अगर हमें किसी array की, किसी list की length चाहिए तो वो हमें मिल सकती है। उसके साथ के साथ हमारा एक और important function है sort, तो अगर हमें किसी list को sort करना है, यानि ascending या descending order में लेकर आना है, तो उसके लिए भी हमारे पास java के अंदर एक असान function है, जिससे हम directly call कर सकते हैं। तो अब control z हम कर देते हैं और वापस ले आते हैं अपने शिरुवात वाले code को, तो हमारे पास है हमारा marks array। अब मान लेते हैं इस marks array की हमें print करवानी है length, तो उसे print करवाने के लिए हम system.out.println लिखेंगे, लिखेंगे marks and.length, पर यहाँ पर हम function वाले parenthesis नहीं लगाएंगे, तो जैसे हमने strings में.length और फंक्शन call किया था, arrays के अंदर यह function नहीं होता, यह arrays की अपनी property होती है, और property इसको हम function की तरह parenthesis लगा कर call नहीं करते, उन्हें हम डायरेक्टली कॉल कर लेते हैं तो डॉट लेंथ जब हम प्रिंट कराने की कोशिश करेंगे तो हमारे लिए प्रिंट हो जाएगा आउटपुट में थ्री क्योंकि हमने तीन सबजेक्ट के मार्क्स को स्टोर किया है अब हम कराएंगे एरे को सॉर्ट तो एरे को सॉर्ट कराने के लिए हमें सबसे पहले एक arrays class के बारे में बात करनी पड़ेगी arrays arrays की class होती है जिसके अंदर एक function होता है dot sort करके इस function को हम दे देंगे अपना array और ये function हमें array को sort करके हमें एक sorted यानि ascending order में sort करके हमें हमारा array जो है वो वापस दे देगा, अब इसे call करने के लिए हम code लिखते हैं, arrays है इस class का नाम और by default java के अंदर हम जो है by convention सारे के सारे classes के नाम upper case से देते हैं, यानि पहला letter mostly capital ही रखा जाता है classes के लिए, अब arrays में sort नाम का एक function हमने call कर दिया, dot sort लिखके, उसके अंदर हम pass कर देंगे अपना marks array, तो इस function को call करनी के लिए हमें arrays class चाहिए, और यहाँ पर arrays जो है red color में आ रहा है, क्योंकि इसके अंदर एक error है कि हमें java.util.arrays, यह एक package है जिसे हमें include करना पड़ेगा arrays को include करने के लिए, और हमारा package तो हमने लिखा ही हुए है, उसके अलावा हम import कर देंगे java.util.arrays नाम का एक और package, तो इस तरीके से हम java के अंदर packages जो हैं, तो मान लेते हैं दूसरे कोई packages exist करते हैं, जिनके अंदर एक ऐसी class या एक ऐसा function है, जिसे हमें use करना है, तो उसको हम अपने code के अंदर import कर रहे होंगे import करना मतलब किसी चीज को कहीं से लेकर आना तो यहाँ पर हम अपने package को import करके लेकर आए and यहाँ पर हमने arrays.sort को call कर लिया अपने marks को अंदर pass करके अब sort करने से पहले अगर हम print करवाते marks of 0 and sort करने के बाद अगर हम print करवाए marks of 0 तो difference देखते हैं इसे हम comment out कर देते हैं double slash से और अपने code को run करते हैं, तो ध्यान से देखें, तो sort करने से पहले हमारे लिए print हुआ 97, अपने marks अगर देखें, तो शुरुवात में हमने 97 दिया था 0 index को, लेकिन sort कर दिया, मतलब ascending order में लगा दे इन marks को, तो सबसे पहले हमारे पास आएगा 95, उसके बाद आएगा 97, और तो sorted में 95 सबसे पहले था और sort करने के बाद जब हमने print करवाया तो हमारे लिए 95 print हो गया है तो मतलब हमारा जो array है वो sort होकर आ गया है arrays class के एक function की help से अब arrays के अंदर अगर हमें already पता हो कि क्या क्या elements हमें store करने है तो हमें new keyword यूज़ करने की ज़रूरत नहीं है जैसे strings को define करते टाइम अगर हमें already पता है string के अंदर store क्या कराना है तो new keyword हम use नहीं करते, directly equal to की value हम assign कर देते हैं, वैसे ही arrays के अंदर देखते हैं, कि अगर already हमें elements पता है, तो array को हम कैसे बनाएंगे, हम लिखेंगे int, एरे ऑफ मार्क्स और मार्क्स में हम असाइन कर देंगे 97, 98 and 95 तो हमारे पास कोई red line नहीं आई, कोई error नहीं आई editor के अंदर मतलब अगर हमें marks पता है, कितने subjects के बताने हैं वो भी पता है तो हम error को directly इस तरीके से initialize कर सकते हैं इन curly braces की help से अब मान लेते हैं कि हमें दो students के marks store करने हैं तो या तो हम एक और array create करें, उसके अंदर भी हम physics, chemistry और English के marks store कराएं, या फिर हम क्या कर सकते हैं, इसी array के अंदर दूसरे student के भी marks store करा सकते हैं, पर हम track कैसे करेंगे कि कौन से marks कौन से students के हैं, उसके लिए हम कुछ ऐसा data structure use करते हैं, जिसे हम कहते हैं 2D arrays, वो one dimension में चल रही थी लेकिन two D arrays हमारी two dimensions में चलते हैं तो जैसे maths में हम matrix पढ़ा करते थे अब two D arrays maths के matrix जैसे ही होते हैं अब लिख कर देखते हैं कि two D arrays का हम use कैसे करेंगे तो जैसे one dimensional array के लिए हमने single square bracket use किया था वैसे ही अगर हमें two D array बनाना है तो हम two pair of square brackets को use करेंगे तो इसे हम नाम दे देते है final marks final marks नाम का हमने एक variable बनाया है जो एक 2D array है, इसके अंदर हम initialize करेंगे 2 students के marks, तो इस तरीके से कुछ square brackets हमने लगा लिये हैं, पहले student के marks हम लिख लेते हैं 97, 98, 95, दूसरे student के marks हम लिख लेते हैं 95, 95, 98, तो इस तरीके से दो students के हमने marks जो हैं वो लिख लिए हैं अपने 2D array के अधर, अब इसे access कैसे करेंगे, तो इसके लिए हम print करवा देंगे, सबसे पहले final marks, final marks में जाएंगे first student पर यानि zero-eth index पर, उसके भी first subject के marks यानि फिर से zero-eth index, तो अब इसे print करवा कर देखते हैं कि क्या आता है हमारे पास, तो हमारे पास आया 97, यानि first student के marks यह थे, जिसके अंदर first subject के marks हमारे पास थे 97, ऐसे ही second student के, अगर second subject के marks हमें print करवाने हैं, तो यहाँ पर index में आ जाएगा 1, and second भी 1, and इसके बाद अगर run करें अपनी code को, है तो हमारे पास आउटपुट चेंज होकर आ गया है 95 तो हमारे सेकंड स्टूडेंट के सेकंड सब्जेक्ट में जो मार्क्स है वह है 95 तो इस तरीके से हम सेम टाइप की जो इंफॉरमेशन है जिसमें सेम लेंथ यूज हो रही है जैसे मार्क्स आप में तीन सब्जेक्ट के मार्क्स टोर कराने दे तो हम वह सेम एरे में सेम डाटा स्ट्रक्चर में कर सकते हैं टूडी एरेस की हेल्प से अ अब बात करते हैं जावा के एक important concept की जिसका नाम है casting, casting क्या होती है, जावा के अंदर casting होता है एक type से दूसरे type में convert करना, अब casting हमारी दो तरह की हो सकती है, यह यात्मान है, तो implicit हो सकती है या explicit हो सकती है अब casting को समझते हैं एक example की help से जैसे अगर हमारे पास एक छोटा पानी का glass है और हमारे पास एक बाल्टी है जो खाली है अगर हम इस पानी के glass से पानी लेकर बाल्टी के अंदर डाले तो वो पूरा बाल्टी के अंदर आ जाएगा अगर हम बाल्टी का पानी लेकर उस glass के अंदर डाले तो वो overflow कर जाएगा मतलब उस glass के अंदर थोड़ा सा पानी आएगा बाकी का पानी हम use नहीं कर पाएगे वो हमें हटाना पड़ेगा इसी concept आप सिप को प्रोग्राम की टर्म में कहते हैं कास्टिंग और यहां पर बालती यानि कंटेनर को हम ले लेते हैं डेटा टाइप की जगह पर अब कास्टिंग को समझने से पहले एक एग्जांपल का यूज करते हैं तो अगर हमें किसी चीज का प्राइस लिखना है तो हम डब तो क्या हुआ S out कराएं अगर हम अपना final price तो हमारे लिए हमारी जो value होगी 118.0 वो प्रिंट हो गई पर अगर इसी चीज को हम थोड़ा सा reverse कर दें और एक integer type का price variable बनाएं जिसके अंदर store करें 100 उसके साथ साथ एक final price नाम का variable बनाएं जिसके अंदर हम store करें अपना price और उसमें भी 18.0 जो GST है वो आड़ करनी की कोशिश करें अब ये जो error हमारे पास आया है ये आया है casting की वज़े से casting को एक example से समझते हैं जैसे कि हमारे पास पानी का एक छोटा glass है उसके साथ हमारे पास एक bucket है, एक बाल्टी है, अब इस पानी के छोटे से glass में जितना भी पानी है, वो सारा हम bucket के अंदर डाल सकते हैं, और bucket को कोई problem नहीं होगी, क्योंकि उसकी capacity जादा है, लेकिन अगर हम bucket में भरा हुआ पानी छोटे से glass के अंदर डालने की कोशिश करें तो हम data types पर ध्यान दे अगर, तो double का जो capacity होता है, जो size होता है, वो होता है 8 bytes का, और int की जो capacity है, वो है 4 bytes की, तो मतलब int छोटा है, size wise, and हमारा जो double का size है, वो बड़ा है, तो अगर double में हमने कोई चीज store कराई है, उसे हम int में लाने की कोशिश करें, तो हमारी कुछ information हम lose कर सकते हैं, इसलिए java automatically या implicitly ये वाली जो conversion है, जो casting है उसे allow नहीं करता, लेकिन अगर हम int type की कोई value double type के किसी variable में store कराएं, तो वो java allow करता है, क्यों क्योंकि double की capacity int से double है, तो मतलब int type का जो भी value int variable के अंदर stored है, वो जाकर double variable के अंदर भी store हो सकता है, अब java ये जो छोटे container से बड़े container में जाने वाला process है, और इसे हम नाम दे देते implicit casting, तो first example के अंदर जब हमने 18 यानि integer value को एक double variable के अंदर store करने की कोशिश की, तो हमारे लिए हो गई implicit casting जिसे Java allow करता है, लेकिन second example के अंदर जब हम एक double type के variable को store कराने की कोशिश करें अपने integer type के variable में, तो यहाँ पर Java हमें allow नहीं करता क्योंकि यहाँ पर हमारे जो size है, जो capacity है, वो कम है, जिस value को आप store करान�� हैं उसके हिसाब से तो यहाँ पर हम एक concept use कर सकते हैं जिसे हम नाम देते है explicit casting explicit casting में हम कहे देते हैं Java को कि हमें कोई फरक नहीं पड़ता अगर थोड़ा बहुत data loose हो जाता है हमें तो जी छोटे type के variable में ही अपनी value को store कराना है तो explicit casting के लिए हम दो parenthesis लिख देते हैं अपने दूसरे type के variable के सामने और उसके अंदर लिख देते हैं जिस भी type में हमें उसे cast करना है तो इस double value को अगर हमें integer में convert करना था, तो हमने यहां लगा दिया int parenthesis के अंदर, और हमारा जो red line था error का, वो disappear हो गया है, तो अब अगर हम print करवाएं, अपने final price को, तो यहां हमारे लिए print हो रहा होगा, 118, अब एक और चीज अगर यहां पर 18.0 की जगे 18.18 होता, तो क्या print होता? तो भी हमारे लिए print होता 118, क्योंकि जब double integer में cast हुआ, तो पीछे के जो सारे decimal के बाद वाले values हैं, वो delete हो जाएंगे, अगर यहाँ पर 18 की जगे 99 भी होता, तो भी हमारे output में हमारे लिए print होता 118, वो 18.99 को 19 नहीं लेगा, वो उसे 18 ही लेगा, decimal के बाद वाली सारी values को truncate कर देगा, यानि हटा देगा, तो इस तरीके से Java के अंदर casting work करती है, और हम एक type के variable को दूसरे type में convert कर सकते हैं, as long as वो types compatible हैं, मतलब हम strings को integers में convert नहीं कर सकते, पर integers यानि numbers को हम एक दूसरे की form में convert कर पा रहे होते हैं, अब बात करते हैं constants की, तो जैसे अगर हम एक normal example ले, एक integer type के variable का, जैसे age हमारी हो गई, तो age को अगर ले ले 30, तो अगले साल, एक साल बात हमारी age जो है वो change हो सकती है, age हमारी हो जाएगी 31, तो age की value यहाँ change हो कर हो गई 31, age की value उससे अगले साल change हो कर हो जाएगी, 32 तो जैसे age ऐसा एक variable है जिसकी value change हो सकती है बढ़ सकती है time के साथ पर कुछ-कुछ variables कुछ-कुछ values ऐसी होती है जिनने हमें constant रखना होता है जैसे अगर pi का example लें तो pi की value हमेशा 22 by 7 यानि 3.14 ही रहती है अब हम अपने code के अंदर java code के अंदर कैसे ensure करें कि इसकी value कोई change ना अब अगर हम एक float type का variable बनाएं और इसे नाम दे पाएं और इसमें value store कराएं 3.14f, तो code में बाद में जाकर अगर कभी कोई हमारी pi को 1.1f assign करने की कोशिश करें, तो वो कर सकता है और java code में कोई error नहीं आएगा, क्योंकि अभी हमारे जो pi है वो final नहीं है, वो constant नहीं है, उसकी value हम normal variables की तरह change कर सकते हैं, अगर पाई को हमें constant बनाना है तो float के सामने हमें लगाना पड़ेगा एक final keyword, final से हमने बता दिया कि ये इस variable की final डाली है इसके बाद आप इसे change नहीं कर सकते code में, और जब हम अगली बार उसे change करने जाएंगे तो हमारे लिए आ जाएगा एक error cannot assign a value to final variable, तो इस तरीके से हम अ उनकी value हम usually capital letters से दिखाते हैं, तो यह convention होता है Java coders का, जो constants लिखने होते हैं, जिनकी भी final values होती हैं, उन्हें हम uppercase से define कर देते हैं, कि इनकी value को code में हमें change नहीं करना है, अब बात करते हैं, जावा के एक बहुत interesting concept के बारे में, जो है operators, जावा के अंदर 4 type के operators होते हैं, इनमें पहले आ जाते हैं हमारे arithmetic operators, उसके बाद assignment operators, and then logical and comparison operators, अब logical and comparison operators की बात हम करेंगे जब हम if else यानि conditional statements को पढ़ रहे होंगे, यहाँ पर हम बात करने वाले हैं main operators, which are arithmetic and साथ में हमारे assignment operator. अब arithmetic operators की बात करें तो यह हमारे maths के operators की तरह होते हैं, जैसे plus, minus, multiply, divide उसके साथ साथ remainder निकालना, तो यह हमारे major 5 main arithmetic operators होते हैं, जिनको हम use करने वाले हैं.

अगर operators में example लें तो मान लेते हैं कि हमारे पास एक number है a जिसमें value stored है 1, हमारे पास एक और number है b जिसमें value हमारी stored है 2, और अगर हमें sum इनका करना है तो हम कैसे करेंगे, हम लिखेंगे a plus b, और अब इस sum को अगर हम print करवाएं तो print करके हमारे पास output आ जाता है 3, तो इस तरीके यानि addition operator को use किया है अपने code के अंदर, ऐसे ही अगर हम difference निकालना चाहें a और b का, तो इसे नाम हम दे देते हैं difference, a minus b हम लिख देते हैं, और यहां लिख देते हैं diff, तो उपर जाकर अगर हम run करेंगे code को, तो हमारे लिए difference आएगा, 1 minus 2 मतलब minus 1, और अगर हम करना चाहें इन दोनों numbers को multiply, तो multiply करने के लिए यहाँ पर हम multiplication का sign दे देंगे, यानि multiplication operator लिख देंगे, and print हम करवा देंगे, multiply हमारा variable, इसे run करेंगे, तो हमारे पास output आएगा 1 into 2, which is 2, उसके बाद बात करते हैं divide की, अब a divided by b अगर हम करवाना चाहें, तो इसे नाम हम दे देते हैं div, and divide करवा कर जब print करवाएंगे, तो हमारे पास answer आएगा 0, अब आप बोलेंगे कि 1 divided by 2 तो हमारा 0.5 होता है, मतलब half होता है, तो यहाँ पर 0 क्यों print हुआ? हमारा जो div variable हमने लिया है, वो integer type का है, और हम अलरेड़ी बात कर चुके हैं कि कैसे integer types में, जो decimal के बाद वाली values होती हैं, वो truncate हो जाती हैं, वो सारी cut जाती हैं, तो 0.5 नहीं print होगा, 0 print होगा, हम double में इन variables को लिख सकते हैं, और फिर double की values को, या float की values को हम divide करवा के, पूरा decimal के साथ अपनी division वाली value को लिख सकते हैं, अगर वो हम try करना चाहें, तो लिख देते हैं double, 1, double 2, and उसके साथ साथ हमारा double div, और अब अगर अपना output हम print करवाएं, तो हमारे लिए answer निकल कर आएगा 0.5, अब एक और special operator होता है Java के अंदर, जो maths के अंदर exist नहीं करता, इसे हम कहते हैं modulo, modulo कुछ ऐसा दिखता है, modulo का use हम करते हैं जब दो numbers को divide किया जाए, तो उनका remainder निकालनी के लिए, तो जैसे यह 1 को 2 से अगर divide करने हैं, और यहाँ पर हम निकालना चाहें modulo, and हम print करवाएं अगर modulo को, तो हमारे पास answer निकल कर आएगा 1, अब answer 1 कैसे आया, 1 को जब हम 2 से divide करते हैं, तो वो completely divide नहीं होता, और हमारे लिए हमेशा एक remainder दे जाता है, which is 1, तो वो remainder हम directly निकाल सकते हैं, java में इस modulo operator की help से, तो जैसे अगर हम 5 को 3 से डिवाइड करें, तो इन्हें change कर देते हैं, A को बना देते हैं 5, B को बना देते हैं 3, तो हम जानते हैं कि 5 में जो 3 हैं, वो तो directly डिवाइड हो जाएंगे, और remainder बच जाएगा 2, तो इसे run करके verify करें अगर, तुम देख सकते हैं कि output में print हो गया 2, तो 5 से जब 3 को डिवाइड कर देते हैं तो remainder 2 रह जाता है और वही हमारा modulo हमें return करके दे देता है, तो इसी तरीके से java के अंदर major 5 arithmetic operators होते हैं जिनने हम ने discuss कर लिया है, अब बात करते हैं हमारे assignment operators की, assignment operator को वैसे हम बहुत time से use करते आ रहे थे, तो जैसे हमने double type का ये a variable define किया, जिसमें value हमने assign की 5, और इस assignment operator को हमने use किया है उस value को assign करने के लिए तो जहां भी हमें is equal to का sign दिखता है यह है हमारा assignment operator अब assignment operator यह normal assignment operator है इसके साथ साथ हमारे आ जाते हैं unary operators unary operators क्या होते हैं तो जैसे कि अगर हमें arithmetic operators को use करना है तो हमें हमेशा एक a और एक b की ज़रूरत पड़ती है क्यूं? क्यूंकि हमेशा जब भी operation होते हैं, maths वाले, वो दो operands के बीच में होते हैं, हमें उनके लिए at least दो number चाहिए, अगर plus करना है, multiply करना है, divide करना है, लेकिन अब अगर हमें एक example consider करें, जिसमें हम बनाते हैं एक number, number को हम initialize करेंगे value 1 के साथ, मतलब number हमने बना लिया variable, और हमारे number की value हम print करवाएंगे अगर, तो देखते हैं कि output में हमारे पास आएगी हमारी value 2, इसे हम comment out कर देते हैं, लेकिन इस पूरे sentence को short में लिखने का हमारे पास एक तरीका है Java के अंदर, वो ये है कि instead of writing plus 1 हम क्या कर दें, यहाँ पर हम लिख दें number plus plus, अब ये plus plus एक unary operator है, जैसे Maths के Operators को 2 Operant चाहिए, A और B हमेशा Operation परफॉर्म करने के लिए, वैसे Java के अंदर कुछ Unary Operators होते हैं, जिनको एक ही Operant चाहिए, मतलब उन्हें दूसरे B की जरूरत नहीं है, वो Number में ही प्लस 1 कर देंगे, और उसके लिए हमें लिखना पड़ता है प्लस प्लस, और अ� अपने number प्लस प्लस को print करें, and उसके बाद print करें हमारे number को, तो क्या होगा output? शुरुवात में हमारे लिए print हुआ 1, and उसके बाद हमारे लिए print हुआ 2, अब जब भी हमारा प्लस प्लस हम variable के बाद लगाते हैं, तो सबसे पहले हमारी original value यानि 1 print होती है, और अगली बार हमारी value change हो जाती है, तो अगली बार change होने के बाद print होता है 2, तो बाद में लगाने का बतलब हमारी value बाद में change होगी, लेकिन इसी plus plus को अगर हम पहले लगा दे, और फिर अपने code को run करें, तो हम देखेंगे कि output में पहले भी 2 print हुआ, और बाद में भी 2 print हुआ, यानि हमारी value पहले ही change हो गई, तो पहले ही change होका 2 हो गई, और बाद में तो already variable change हो गया, तो 2 value print हो जाएगी, अब जैसे plus plus exist करता है plus 1 के लिए, वैसे ही minus minus भी एक unary operator है, जो minus 1 के लिए exist करता है, अब इसे हम देखते हैं, minus minus यहाँ पर लगा दें, यानि decrement operator, और उसके बाद अपने code को run करें, तो हमारे पास output में आएगा 0, and second time भी 0, क्योंकि पहले value थी हमारी 1, जो first में, मतलब initially ही decrease होकर हो गई 0, and उसके बाद second time में, already वो change हो चुकी है to 0, लेकिन इस minus minus को हम number के बाद लगाएं और उसके बाद अपने code को run करें तो शुरुआत में हमारी value change नहीं हुई, सबसे पहले हमारी original value print हुई जो की थी 1, and अगली बार के लिए value change हो गई, यानि 1 से decrease होकर हो गई हमारी value 0. तो इस तरीके से हमारी unary operators काम करते हैं Java के अंदर, और ये operators बहुत helpful हो जाते हैं क्योंकि हमारे code की एक पूरी line को इन्होंने एक single सा term बना दिया है.

अब बात करते हैं Java की एक काफी important class की जिसका नाम है Maths. Maths class के अंदर Mathematics से related हमारे काफी सारे अच्छे-अच्छे functions होते हैं जो हमारे काम को बहुत जादा असान कर देते हैं इन मेंसे पहला function हम discuss करते हैं जिसका नाम है.max ये function क्या करता है उसकी बात समझते हैं एक example की help से मान लेते हैं हमारे पास दो numbers हैं 5 and 6 अब हमें इन दोनों में से maximum जो है print करना है तो हम कैसे करेंगे हम Maths class का एक function call करेंगे.max जिसके अंदर पास कर देंगे 5 और 6 और ये class हमारे लिए automatically हमारे 5 और 6 में से maximum value निकाल कर उसे print कर देगी, तो इस code को run करें, तो हमारे लिए print होने वाला है 6, similarly एक और function होता है जिसका नाम है.min, तो max की जगे अगर हम min को call करें, और उसके बाद code को run करें, तो हमारे लिए output में run होकर आएगा 5, तो इस तरीके से max और min functions का हम use कर सकते हैं हमारे code में आगे जाकर या जब हम data structures practice करेंगे, algorithms practice करेंगे तो तब हमारी चीज़ें काफी असान हो जाएंगे इसके अलावा एक और function होता है maths class में उस function को हम नाम देते हैं random random function क्या करता है उसकी बात करें तो random function हमारा 0.0 से 1.0 की range में हमें कोई भी एक random number जो है वो return करता है कैसे return करता है अगर हम call करें math.random, इस function से return होकर आएगी हमारे पास एक random value, उस random value को print करवा लेते हैं, पहले हमारे पास यह कोई लंबी सी value print होकर आई, उसके बाद दुबारा call करें तो एक अलग value print होकर आई, तीसरी बार call करें तो एक और अलग value print होकर आई, तो यह हर बार हमें एक अलग value अगर हम चाहते हैं कि हमें ये value int की form में मिल जाए तो हम इसे कर देंगे क्या? type cast, तो explicitly casting हम यहाँ पर use करेंगे, और इस value को हम print करवा लेंगे, लेकिन print करवाने से हमेशा हर बाद 0 ही आएगा, क्योंकि value हमारी हमेशा 1 से चोटी होती है, और integer variables के अंदर 1 से चोटी value हमेशा 0 ही होती है, तो हम क्या करेंगे?

इस value को, random value को हम multiply कर देंगे, 100 के साथ, and multiply करने के बाद इसे type cast कर देंगे, तो हम इसे run करते हैं, and हमारी जो value print होगी शुरुआत में वो है 79, उसके बाद दुबारा call करें तो print हुआ है 32, तो इस तरीके से हम random function को call कर सकते हैं, अलग अलग अपनी random values को print करवाने के लिए, हमें already पता है कि अपने code से हमें output कैसे दिखाना है, लेकिन अगर बात करें कि code में हम input कैसे लेंगे, तो उसके लिए हम use करते हैं scanner नाम की class का, अब code के अंदर हम लिखते हैं scanner, और इस scanner नाम की class की हम एक object बना लेते हैं, इसे बनाएंगे हम new keyword की help से, और इसने pass कर देंगे system.in, अब जब हम ये लिखेंगे तो कुछ errors हमें दिख रहे होंगे, जैसे scanner हमारे पास नहीं है, तो इस class को हमें करना पड़ेगा import, तो java.util.scanner को हम कर लेंगे import, तो हमारी red lines disappear हो स्कानर class हमारे पास आ गई है, और जैसे output के लिए हम system.out यूज़ करते थे, input के लिए हम यूज़ करेंगे system.in, और इसे पास कर देंगे scanner में, तो system.in से हमने एक अपनी object बना ली, objects हम आगे जब class के बारे में detail में discuss करेंगे, उनको पढ़ रहे होंगे, तो SC यानि scanner हमने object बना लिया, अब scanner की help से हम input लेने वाले हैं, मान लेते हैं हमें input लेना है हमारी age, तो सबसे पहले प्रिंट करवा लेते हैं, input your age, और फिर क्या करेंगे, हमारे लिए जो भी input age आएगी, उसे हम store करा लेंगे integer नाम के variable में, और ये आएगी हमारे पास कैसे, sc.nextint नाम के एक function से, तो scanner class के अंदर हमारा nextint नाम का एक function होता है, जिसकी help से हम integer को input लेंगे, अब जो भी input लिया है, हमने age का, उसे हम बाद में print भी करवा देंगे, और इस code को run करके देखते हैं कि actually होगा क्या हमारे लिए सबसे पहले prompt आया input your age, यहाँ पर हम age enter कर देते हैं, for example 30, इसे enter किया, और enter करने के बाद हमारे लिए हमारी age वापस print हो गई, which is 30, तो इस तरीके से scanner class की help से हमने अपने input को ले लिया है, अब मान लेते हैं हमें int नहीं, कोई float value चाहिए थी, तो इसे store करा दें, float के हम यहाँ पर enter कर देंगे 40, तो हमारे लिए print हुआ 40.0, which is a float value, अब इसके अलावा हम क्या ले सकते हैं, इसके अलावा हमारे पास next में choices होते हैं, हम character, decimals, उसके साथ-साथ byte, long, boolean, बहुत सारी values को input कर सकते हैं, अब इन में से सबसे important हो जाती है हमारी strings, अब strings को input कराने के और name में हम कर देंगे sc.next, अब यह जो next function है, यह use होता है strings को input करने के लिए, यहाँ पर हम लिख देंगे input your name, और उसके बाद जो भी हमारे पास string आ रहे हैं input से, उसे हम करा देंगे print, अब इस code को run करके देखते हैं, input your name में हमने type कर दिया है aman, इसे enter किया, तो हमारे पास हम अब क्या करेंगे, इस code को एक बार और run करने की कोशिश करते हैं, और name में हम enter करेंगे, Aman is a good boy, और इसे अगर हम enter करेंगे, तो हमारे पास सिर्फ Aman print हुआ, हमारे पास पूरी line जो है, वो print नहीं हुई, ऐसा इसलिए हुआ, क्योंकि ये जो next function है code के अंदर, ये सिर्फ tokens लेता लेकिन हमें तो जी पूरा sentence input कराना है तो उसे कैसे कराएं उसके लिए use करते हैं हम एक function line तो next line function की help से हम पूरी की पूरी line को input ले सकते हैं और अब इसे अगर हम run करें और वापस से type करें हम अपना sentence तो हमारे लिए print हो गई है हमारी पूरी की पूरी line तो इस तरीके से java के अंदर हम बहुत सारे types की values को input ले सकते हैं और उन values का use कर सकते हैं हमारे code में अब जावा के अंदर conditional statements को discuss करने से पहले हम बात कर लेते हैं comparison operators की, तो जैसे maths के अंदर हम compare करते थे कि क्या एक number दूसरे number से बड़ा है या छोटा है, तो उसमें हम less than या greater than का sign यूज़ करते थे, वैसा ही कुछ जावा के अंदर होता है, जावा के अंदर भी हम numbers को या अलग equal to equal to operator यह operator कहता है कि अगर a equal to equal to b यानि a की value क्या b की value के equal है अगर वो equal है तो हमें return करेगा true नहीं तो हमारे पास यह value दे देगा हमें false की equal नहीं है इसके बाद आता है not equal to तो maths के अंदर अगर not equal to लिखना होता है तो हम equal to का sign बनाने दे और फिर एक arrow उसके नीचे से लेकिन Java के अंदर अगर हमें not लिखना है तो हम use करते है exclamation mark का, तो हम लिखेंगे a not equal to b, तो अगर a b के equal नहीं होगा तो हमें return करेगा true, नहीं तो हमें return कर देगा false, अब बात करते है greater than या equal to के sign की, तो a अगर less than b हमें check करना है तो उसके लिए use करेंगे ये less than का sign, और a अगर greater than b use करना है तो उसके लिए use करेंगे हम ये greater than b का sign, साथ के साथ हम less than equal to या greater than equal to भी check कर सकते हैं, उसे check करने के लिए a less than equal to b and a greater than equal to b, तो इस तरीके से हमारे comparison operators होते हैं, उनको हम use करते हैं, अब इनका हम use करेंगे example की help से, अब सबसे पहले बात कर लेते हैं हम हमारी conditional statements के बारे में, conditional statements क्या होती हैं, जैसे अगर हम हिंदी की एक सूरज उपर है तो हमारा दिन है नहीं तो हमारे लिए रात चल रही है इसी को अगर हम English में Translate करने तो बोलेंगे If the sun is up then it is day else it is night तो ये जो If और Else की जो दो Conditions निकली इनी को हम Conditional Statements कहते हैं और इस पूरी line को हम Java की टर्म में चेंज कर सकते हैं जैसे हम सबसे पहले बना लेते हैं एक Boolean Variable हम बात करने वाले हैं Conditional Statements की बना लेते हैं एक Boolean variable, is sun up, इसमें हम store कर देते हैं true, और फिर लिखते हैं हमारी conditional statement, यानि if else statement, तो if, इस सन अप इकुल टू इकुल टू ट्रू अगर यह वैल्यू ट्रू है तो उस केस में हम प्रिंट कर देंगे डेट एल्स मतलब अगर पहले वाली कंडिशन हमारी फॉल्स हो जाती है तो सेकंड केस में हम प्रिंट कर देंगे नाइट तो यह हमने कर लिया कोड एंड इसे हम लेकिन अगर sun नहीं होता, मतलब सूरज उपर नहीं होता और वहाँ store होता false, उस case में अपने code को run करें तो हमारे लिए print होती night, तो अगर सूरज उपर नहीं है, then it is night, तो इस तरीके से हमारे java के अंदर हमारी if else statements काम करती हैं, इसको एक और example की help से समझते हैं, जैसे अगर हम और अगर हमें चेक करना है कि कोई भी जिसकी age हमें दी हुई है वो vote कर सकते हैं या नहीं कर सकते हैं, तो उसके लिए लिखेंगे हम if age is greater than 18, तो print करवाएंगे can vote, नहीं तो हम print करवाने वाले हैं can't vote, तो इसे अगर run करें, तो हमने age दी थी 30, तो हमारे लिए print हुआ है can vote, ल can't vote. तो इस तरीके से हम FL statements का use कर सकते हैं हमारी अलग-अलग conditions को analyze करने के लिए. अब बात करते हैं logical operators की. अब code के अंदर हमें एक नहीं अगर multiple statements को analyze करना है या फिर किसी logic को analyze करना है तो उसको हम करते हैं logical operators की help से. ये अगर हम सबसे पहला operator है and operator.

And operator कहता है कि अगर पहली condition सच है और दूसरी condition भी सच है तभी हमारा जो final output होगा वो total सच होगा नहीं तो हमारा output false होने वाला है इसको देखते हैं कि कैसे मान लेते हैं कि हमारे पास एक number है a जिसमें value stored है 30 and एक दूसरा number है b जिसमें value stored है 40 तो अगर हमें condition लगाएं कि a is less than 50 and and b is less than 50 तब ही हमारे लिए print हो both less than 50, तो अगर हम इसको run करें, क्योंकि हमारे 30 and 40 दोनों less than 50 हैं, तो हमारे लिए print हुआ है, both less than 50, लेकिन अगर हम यहाँ पर change करके इसे कर दे 60, तो हमारे लिए output में कुछ print नहीं होगा, क्यूं? क्यूंकि हमारी ये condition false हो गई, क्यूंकि b तो हमारा less than तो इस if condition के false होनी की वज़े से हम इस statement तक कभी पहुँची नहीं पाए और हमारे लिए statement print नहीं हुई तो इसी तरीके से हमारी conditional statements में जब भी हम and and लगा देते हैं तो हमारी दोनों conditions का true होना जरूरी होता है जैसे and होता है वैसे ही एक और operator होता है जिसे हम कहते है logical or logical or को इस तरीके से हम दो pipes लगा कर लिखते हैं या दो हमारे straight जो lines होती हैं keyboard के उपर उनकी हेल्प से लिखते हैं अब देखते हैं इफ ए इस लेस्ट थें 50 और और बी इस लेस्ट थें 50 इस केस में आप में हमारे लिए कुछ प्रिंट नहीं हुआ था लेकिन अगर हम यह सेम चीज यहां से कॉपी कर दें और इसे पेस्ट कर दें तो देखते हैं कि कुछ प्रिंट होगा क्या इसे हम कॉमेंट आउट कर देते हैं कमांड स्लाश की हेल्प से एंड रन करते हैं तो हमारे लिए print हुआ है both less than 50, अब इस both को थोड़ा change कर देते हैं, at least 1 कर देते हैं, इसे run किया तो हमारे लिए print हो गया at least 1 less than 50, अब ये कैसे print हुआ, जैसे and हमारे लिए check करता था कि दोनो statements सच होनी चाहिए, वैसे और check करता है कि सिफ एक statement सच होनी चाहिए, अगर आपने तो आपके लिए चीजें प्रिंट हो जाएंगी तो आपका ब्लॉक काम कर जाएगा नहीं तो आपको रिटर्न होकर मिलेगा फॉल्स अब जावा के अंदर एक और लॉजिकल ऑपरेटर होता है जिसे हम एक्स्क्लीमेशन मार्क से दिखाते हैं तो यह नेगेटिव होता तो जैसे हम नॉट इक्वल टू लिखते थे तो एक्स्क्लीमेशन मार्क को यूज करते हैं वैसे ही नॉट ऑपरेटर हमारा सिर्फ अकेला exclamation mark होता है इसको एक example की help से समझते हैं जैसे अगर हमने एक boolean variable बनाया है is adult और इसे हमने दी है true value तो अगर हमारा जो is adult है वो true है तो उस case में हम print करवा देंगे इस आडल्ट नहीं तो हम प्रिंट करवा देंगे not adult और इसे अगर run करें तो हमें पता है कि is adult true है तो हमारा output भी true होगा मतलब is adult हमारे लिए प्रिंट हो जाएगा लेकिन अगर is adult में हम कर दें false और फिर इस code को run करें तो हमारे लिए प्रिंट होगा not adult अब इस code में एक दो optimization हम discuss करते हैं हमें जब भी true या false के साथ equal to condition चेक करनी होती है, तो Java के अंदर equal to लिखना जरूरी नहीं है, अगर हम इस पूरे part को भी हटा दे, तो भी हमारे code में कोई error नहीं आएगी, तो भी Java automatically इसे check कर लेगा, is equal to true के साथ, तो अगर आपने if के अंदर कोई condition लिखी है, और is equal to true नहीं भी लिखा, तो भी वो is equal to true automatically अपने आप check कर लेगा, तो हमारे पास same output आएगा, which is not adult, अब is equal to true की जगे हम यहाँ पर लगा दे negative operator, मतलब यह negation logical operator हमने लगा दिया, तो अब वो is equal to true नहीं check करेगा, वो check करेगा is equal to false के लिए, और is adult हमारा false ही है, तो हमारे लिए पहली condition true हो जाएगी, और print हो जाएगा is adult, तो java के अंदर, if condition के अंदर, अगर हम is equal to true हटा भी दे, तो भी condition हमारे लिए काम करती है, लेकिन is equal to true की जगह अगर हमें implicitly is equal to false को check करना है तो हम use करते हैं इस negation operator का, इस logical operator का अब conditional statements को एक example की help से summarize कर लेते हैं तो मान लेते हैं कि हमारे पास दो objects हैं इन में से सबसे पहला है एक pen जिसका price है हमारे पास 10 रुपे और दूसरा है एक notebook जिसका price है हमारे पास 40 रुपे हम क्या करेंगे अपने user से पूछेंगे कि आप हमें बताईए कि आपके पास कितने पैसे हैं उन पैसों के हिसाब से हम user को बताएंगे कि क्या वो pen खरीद सकते हैं और pencil दोनों साथ में खरीद सकते हैं, या फिर वो सिर्फ pen को खरीद सकते हैं, या फिर वो pen, pencil में से दोनों में से किसी चीज को नहीं खरीद सकते हैं, तो इसको लिखने के लिए हम एक छोटा सा program बनाएंगे, तो input लेने के लिए सबसे पहले use करते हैं scanner का, तो scanner sc is equal to new, scanner हम लिख लेंगे उसके अंदर pass कर देंगे system.in input के लिए, अब हमें पता है कि pen का price है 10 रुपे, नोटबुक का प्राइस है हमारे लिए 40 रुपे, तो सबसे पहले क्या करेंगे, स्कानर की हेल्प से यूजर के पास कितना कैश है उसको हम पता कर लेंगे, तो int type का एक variable बनाते हैं जिसको नाम देंगे cash और sc.nextint एक function से उस variable को कर लेंगे input, अब चेक करेंगे कि cash में कितना cash अब ध्यान देंगे कि हमने directly statement नहीं लिखी हमने ये curly braces लगाए हैं यहाँ पर इन curly braces को java के अंदर हम block कहते हैं तो जैसे if statement के बाद अगर हमें सिफ एक ही line print करवानी है तो हमें block की ज़रूरत नहीं है लेकिन हम मान लेते हैं कि हमें एक और चीज print करवानी है get more cash तो इस case में ह तो उस case में हमें लगाना पड़ेगा अपने लिए curly braces या फिर block हमारे code के अंदर, अब यहाँ पर हमने लिख लिए पहली statement, else के बाद एक और if लगा दें, मतलब अगर ये सच नहीं हुआ, तो फिर एक और condition हम check करेंगे, वो condition ये होगी कि cash is greater than 10 and cash is less than 40, तो इस case में हम print करवा मतलब हमें एक ही चीज मिल सकती है, और finally हमारी else statement, जिसमें हम लिखेंगे, else में क्या हो जाएगा, else में हमारा यह हो जाएगा, तो उस case में हम लिखने वाले हैं, can get both, अब यहाँ पर हमें cash में 40 की जगे 50 लिखना चाहिए ताकि दोनों चीजें आ जाए, तो can get both, है तो हमने क्या किया सबसे पहले हमने इनपुट ले लिया हमारे कैश को यूजर के पास कितना कैश है उसके बाद हमने देख लिया कि कैश अगर 10 से कम है तो हम कुछ भी नहीं खरीद सकते कैश अगर 10 से 50 के बीच में हम एक चीज खरीद सकते हैं और कैश अगर 50 से ज्यादा है मारे पास तो हम दोनों चीजें खरीद सकते हैं तो इस हिसाब से हम इस कोड को रन करते हैं और अपने इनपुट विंडो के अंदर हम इनपुट में डाल रहे होंगे शुरुआत डाल लेते हैं मान ले हमारे पास साथ रुपएं तो इस केस में हम कुछ भी नहीं खरीद सकते हैं और पर अगर अपने code को दुबारा run करें और input करें कि हमारे पास, हमारे पास तो जी है 60 rupees. तो हम दोनों चीज़ें खरीज सकते है तो ऐसे हमने conditional statements का use कर लिया है एक छोटे से example की help से और आगे जाकर हमें ऐसे ही programs लिखने होंगे जिसके अंदर हमें एधर उधर conditions चेक करनी होगी तो उनको हम इसी format में लिख सकते हैं अब java के अंदर हमारे पास if else के अलावा एक और type की conditional statement होती है जिसे हम नाम देते है switch switch क्या करता है switch किसी भी एक number को लेता है या एक value को लेता है और उसके basis पर बहुत सारी conditions को check करता है तो एक example के साथ देखते हैं कि switch कि विच काम कैसे करता है मान लेते हैं हमने एक वेरिबल डिफाइन किया जिसका नाम है डेड और डे में हमने शुरुआत की वन के साथ तो वन का मतलब हमारे लिए है मंडे टू का मतलब है यूज़डे एंड सो ऑन ऐसे थ्री का तो हमारे वेंसडे हो जाएगा इसी तरीके से हम हफ्ते के साथ दिनों को अनुलाइज करेंगे तो अगर स्विच यहां हम लिखें और स्विच में पास कर दें दें तो हम एक तरीके से क्या कर रहे हैं स्विच के अंदर डे पास करने से हम डे के बेसिस पर डे के लिए लिए बहुत सारी conditions को check करने वाले हैं अब switch के अंदर होते हैं हमारे cases तो जैसे if else के अंदर conditions होती थी वैसे ही switch के अंदर case हो जाते हैं case पहला है कि हमारे day की value है 1 अगर day की value 1 है तो उस case में हम print कर देंगे Monday ऐसे ही अगर हम इसे copy करके paste कर लें तो case 2 हमारे पास आ जाता है और case 2 में हम लिख देंगे Tuesday and so on और ऐसे ही बहुत सारे cases लिखने के बाद हमारा जो case आता है उसे हम कहते हैं default case तो default हम यहां पर लिख देंगे और default में हम मान लेते हैं लिख देते हैं Wednesday to Sunday तो हमारा case 1 है Monday, case 2 है Tuesday, default case है Wednesday to Sunday तो day की value में अगर 1 store होगा तो उसे पहले case के साथ match कर लेगा और होगा तो दूसरे केस के साथ मैच कर लेगा उसके अलावा कोई values होगी तो वो चली जाएंगी हमारी default case के अंदर और switch के अंदर ऐसा होता है कि अगर एक case के साथ आप मैच कर गए तो उसके बाद वाली सारी statements print हो जाएंगी मतलब अगर इसको code को हम run करें तो हमारा output हमें कुछ ऐसा दिख रहा होगा जिसमें हमारे लिए print होंगी सारी की सारी conditions यानि जब भी हमारा जो control है वो case 1 के पास आया तो case 1 के लिए हमारे day की value 1 के साथ match कर गई और हमारे लिए print हो गया Monday लेकिन उसके बाद वो cases नहीं check करेगा directly सारी की सारी statements को print कर देगा ऐसे ही अगर हमारा day होता 2 और उसे अगर हम run करें, तो case 1 के साथ 2 match नहीं हुआ, case 2 के साथ 2 match हो गया, उस case में हमारे लिए print होगा Tuesday, और उसके बाद वाली सारी statements, तो आप जहां से देख सकते हैं, output में हमें Monday दिखाई नहीं दे रहा हमारे output शुरू हुए Tuesday के साथ, लेकिन हम चाहते हैं कि हमारे पास एक ही case की condition जो है वो print हो तो ऐसी situation में हम लिख देंगे break keyword को तो break keyword को लिखने से क्या होता है जहां भी हमारा case खतम हो जाएगा वहाँ पर हम control से break कर जाएंगे, मतलब उस पूरे switch से बाहर निकल जाएंगे, और हमारी आगे की statements print नहीं होगी, अब default के साथ हमें break लिखने की जरूरत नहीं है, क्योंकि already हमारा block जो है, वो खतम हो रहा है यहाँ पर, अब हमें break की जरूरत नहीं है, तो अगर अब हम day 2 के लिए, इस code को run करें, तो हमारे लिए Wednesday to Sunday print नहीं होगा, सिर्फ print हो रहा होगा हमारे लिए Tuesday, क्योंकि 2, 2 से match किया, यहाँ पर Tuesday print हुआ, उसके बाद break करके हम switch वाले block से बाहर निकल गए, तो इस तरीके से break keyword का हम java code के अंदर वहाँ पर use करते हैं, जहां हमें block से बाहर निकलना होता है, और आगे की statements को execute नहीं कराना होता है, अब बात करते हैं java के अंदर loops की, मान लेते हैं हमें बोला गया है कि आप 1 से लेकर 3 तक numbers को print कराएं, हम system.out.println करेंगे, 1, similarly हम print करवा देंगे 2 and third line में हम print करवा देंगे 3 लेकिन अगर अब हमें बोला जाए कि आप 1 से लेकर 100 तक numbers को print करवाईगे, तो या तो हम एक-एक करके इनको एक array के अंदर store करें, मतलब एक list बनाएं numbers की, या फिर हम एक-एक करके अपनी print statement को बार-बार-बार-बार 100 बार लिखें, अब ये तो थोड़ा सा impossible लग रहा है करन ऐसे कामों के लिए हम use करते हैं Java के अंदर loops का loop की help से हम वो काम करते हैं जिनने हमें बार बार बार बार repeat करना होता है तो loops के अंदर हम डाल देते हैं कि कितनी बार उस काम को repeat करना है और loops हमारे लिए कुछ conditions की help से उन कामों को repeat कर देते हैं Java के अंदर तीन डाइप के loops होते हैं for loops, do y loops and y loops हम सबसे पहले बात करेंगे for loops की अब for loops की अगर बात करें तो for loops का syntax कुछ ऐसा दिखता है, सबसे पहले हम लिखते हैं for, for एक keyword है java के अंदर, इसके बाद हम लिखते हैं parenthesis, अब in parenthesis के अंदर for के अंदर हमारे पास 3 statements हम लिखते हैं, इन में से सबसे पहली statement आती है initialize करने के लिए, तो initialize करने हैं हम एक variable के साथ, जिसे हम usually i या j नाम दे द उसे हम for loop के अंदर भी declare कर सकते हैं, तो for के अंदर हमने लिख दिया i is equal to 0, या i is equal to 1 से अगर इसकी value शुरू कर दें, और दूसरी जो statement आती है, वो आती है condition की, कि जब तक हमारा i less than equal to 100 है, मतलब i की value शुरू करेंगे हम 1 से, और i की value जब तक 100 से कम रहेगी, या 100 के equal रहेगी, तब तक हम इस loop, को run करना चाहते हैं repeat करना चाहते हैं और तीसरी statement हमारी आती है update करने के लिए तो update हम i को कर रहे होंगे i++ से या फिर i is equal to i plus 1 से तो हमें पता है unary operator में plus plus operator का मतलब plus 1 ही होता है तो loop में क्या हो रहा है i को हमने 1 से initialize किया और i को हम i plus 1 बना रहे हैं तो एक बार हम loop चलाएंगे अगली बार चलेगा फिर से i की value बढ़ जाएगी, अगली बार चलेगा फिर से i की value बढ़ जाएगी, and ये value बढ़ेगी जब तक हमारा i is less than equal to 100 रहता है, इस loop के अंदर हम क्या करेंगे, हम print करवा लेते हैं हमारे i को, इस तरीके से हमने जो for loop है उसको complete कर लिया है, इसका output अगर हम देखना चाहें, तो इसे run करके देखेंगे, तो हमारे पास output में print हो गए है numbers, और हमारे नंबर्स वन से शुरू हुए हैं, 1, 2, 3, 4, 5, 6, 7, and end तक, मतलब, 100 तक हमारे लिए ये नंबर्स print हो गए हैं, तो इस तरह से 3 statements को use करके, हमारा for loop काम करता है, अब अगर इसी loop में हमें 1 से 100 की जगे, 100 से 1 print करना है, तो हम क्या करेंगे, यहाँ पर comment कर देते हैं, कि हम 100 से 1 तक print करने वाले हैं, अब I को हम initialize करेंगे 100 से, मतलब, पहले i की value की शिरुवात हो रही थी 1 से, अब वो शुरू होने वाला है 100 से, and i के लिए condition क्या रखेंगे, कि हमें जब तक i को print करवाना है, जब तक i की value रहती है greater than या equal to 1, तो जब तक 100 से लेकर i 1 से बड़ा होता है, तब तक हमें i को print करवाना है, and अब i को update करनी की condition में हमें i plus 1 नहीं लिखना, हमें लिखना है i minus 1, क्योंकि 100 से value शुरू होकर हम हर step के बाद i को decrease by 1 कर देंगे, तो इसी तरीके से decrease by 1 होकर, finally उसकी जो value है, वो हो जाएगी 1, तो i is equal to i minus 1 हम लिख देंगे, और print करेंगे हम i को, अब इस statement को run करके देखने हैं, तो हमारा जो output है, वो कुछ ऐसा आया है, जिसमें हमारा i print हुआ है, पहले 100, फिर 99, फिर 98, और इसी तरह, finally हमारे पास जो output आया है, वो है one, अब यह बात कर लिया हमने for loops की, जो आगे से भी शुरू हो सकते हैं, पीछे से भी शुरू हो सकते हैं, अब बात करते हैं while loops की, while का हिंदी में अगर मतलब निकाले, तो वो होता है जब तक, तो while के अंदर हम एक condition देते हैं, मतलब हमारा जो loop है, वो condition के हिसाब से चलता है, अब while के अंदर हम एक condition लिख देते हैं, और उसके block के अंदर जितनी भी lines लिखी होती है, while का syntax यह कहता है, कि आप उन lines को जब तक run करते जाएं, जब तक आपकी while की condition true है, अब हम इस same 100-1 वाले loop को while में convert करके देखते हैं, कि while में actually होता क्या है, अब while loop अगर हमें लिखना है इस code के लिए, इस for loop के लिए, तो वो कैसे लिखेंगे, while हमारा जो i है, वो रहे greater than equal to 1, तब तक हमें क्या करना है, तब तक हमें print करवाना है अपने i को, और इससे पहले हमें i को declare करना पड़ेगा, मतलब i is equal to 100, हमें value देनी पड़ेगी, अब इसमें पूछ सकते हैं कि यहाँ पर हमने already i को declare किया हुआ है तो अब इसे यहाँ पर हम दोबारा क्यों declare कर रहे हैं क्योंकि for loop के अंदर जितने भी declaration होते हैं वो सिर्फ for loop के लिए ही होते हैं वो हम कहीं बाहर नहीं declare कर सकते हैं उनको ना कहीं बाहर use कर सकते हैं और जवा के अंदर अगर एक नाम का हमने variable declare कर दिया तो दोबारा same नाम का variable हम declare नहीं कर सकते हैं क्योंकि Java compiler को पदा कैसे चलेगा कि जब भी आप किसी variable को use कर रहे हैं, तो वो कौन सा variable था, अगर same नाम के दो variables हमने create कर दिये तो, तो while loop के अंदर जब भी variables declare हो रहे हैं, तो for loop के अंदर जो हमने int i declare किया था, वो तो सिर्फ उस for loop के लिए था, while loop के लिए हमें अलग से एक variable declare करना पड़ेगा, इसे हम j भी कह सकते थे, अगर इसे j नाम दे दे, तो जे को हमने declare किया, उसको initialize किया, 100 से जे की value पर condition ला लिया है, जब तक वो greater than 1 रहती है, तब तक हम print कर रहे होंगे जे को, पर अब जे को हमें हर iteration, मतलब एक बार loop run करे, एक बार block काम करे, उसके बाद उसकी value decrease करनी पड़ेगी by 1, अब उसे हम कहां करें, for loop के अंदर वो काम यहीं पर हो जाता था, क्योंकि for loop में 3 statements लिखते थे, लेकिन while के अंदर हमें अलग से एक statement लिखनी पड़ेगी, तो उसे लिखते हैं j is equal to j minus 1, तो इस तरीके से हमने j को decrease by 1 कर दिया है, तो यहाँ initialize किया, यहाँ condition दी, यहाँ पर print कर दिया, और यहाँ पर decrease by 1 कर दिया, तो यह हमारा जो पूरा while loop है, वो complete हो गया है, अब इस code को run करके देखते हैं, कि output क्या आता है, तो हम उपर वाला जो for loop है, इसे comment out करके, बार run करते हैं, तो हम देख सकते हैं कि हमारा जो output आया है, वो शुरू हुआ है 100 से फिर 99, 98 तो इस तरीके से while loop से भी हमने same काम कर दिया जो हमने किया था for loop की help से अब बात करते हैं हम do while loop की तो do while loop भी while loop जैसा होता है बस एक difference होता है जैसे while loop के अंदर शुरुवात में हम condition चेक करते हैं और condition true होती है तभी हम अंदर का code है उसको run करते हैं बट do while के अंदर पहले हम code को run करते हैं और फिर condition चेक करते हैं अब इसी same code के लिए अगर हम do while loop लिखना चाहें तो उसका syntax हम देख लेते हैं, तो हम एक और नया variable बना लेते हैं, k is equal to 100, and do क्या करना है, मतलब काम क्या करना है हमें, हमें print करवाना है k की value को, and उसके बाद हमें k को decrease करना है by 1, and यहाँ पर do के बाद हम लिखते हैं while statement, मतलब do while में while के साथ हम लिखते हैं वो statement जो या तो true होगी जाए पॉल्स होगी और उसी के साथ से हमारे loops की जो conditions हैं वो run कर रही होगी, तो do while में while में हम लिखते हैं condition और वो condition true होती है तभी हमारा अगली iteration अगली बारी के लिए loop run करता है नहीं तो हम उस loop से बाहर निकल जाते हैं, तो while में हम लिखेंगे जब तक k is greater than equal to 1, और यहाँ पर आएगा हमारा Terminator जो की है Semicolon, तो देखे तो While में हमें कोई Semicolon नहीं लगाना पड़ा End में, लेकिन Do While में, While Condition के बाद हम यह Semicolon लगाते हैं, यह दिखाने के लिए कि यहाँ पर हमारा जो Do While Loop है, वो खतम हो गया है, तो अब अपने While को हम Comment out करते हैं, और Do While को रन करके देखते हैं कि हमारे लिए Output क्या निकल के आएगा, तो हमारे लिए जो output आया है do while से वो भी same output है जहाँ पर पहले 100 print हो रहा है फिर 99 and end में जाते जाते हमारे लिए print हो रहे हैं 3, 2 and 1 अब do while loop को use करके एक exercise करने की कोशिश करते हैं इस exercise के अंदर हम user से input लेंगे कुछ-कुछ numbers और इन numbers को हम screen पर print करवाएंगे और ये numbers हम तब तक input लेंगे जब तक user हमें stop नहीं कह देता stop कहने का मतलब हम सिर्फ positive numbers ले रहे होंगे user से, लेकिन जैसे ही user ने less than 0 का कोई number हमें input में दे दिया, वही हम रुक जाएंगे इस loop के अंदर, तो देखते हैं कि do while की help से इसको solve कैसे करते हैं, तो सबसे पहले बना लेंगे हम अपनी scanner class, इसमें pass करेंगे हमारा system.in क्योंकि हम input लेने वाले हैं, उसके बाद हम बनाएंगे एक do while loop, जिसके अंदर यहां लिखेंगे हम while condition को, अब हमें करना क्या है हमें सबसे पहले यह करना है कि यूजर से इनपुट लेना है तो सबसे पहले यूजर से पूछ लेंगे कि उन्हें इनप इनपुट और नंबर एंड जो भी नंबर वह देंगे उसे स्टोर करा लेंगे इस नंबर नाम के वेरिबल में तो हम इंटीजर वैल्यू को एक्सपेक्ट कर रहे हैं और फिर हम वापस इस नंबर को करा देंगे प्रिंट तो यहां हम यूज करेंगे प्रिंट तो हम here is your number and हमारा number दोनों same line में print करवाना चाहते हैं, तो पहले print use करेंगे, फिर print tell in, और हमारी condition क्या होगी, हमें loop को तब तक run करना है, जब तक हमारा number less than 0 नहीं है, तो हम यहाँ पर condition डालेंगे, जब तक number is greater than or equal to 0, अब यह number पर इसने red दे दिया, यानि error दे दिया, ऐसा क तो इसे हम loop के बाहर, यानि while statement में use नहीं कर सकते, इसलिए अपने number को हमें बाहर declare करना पड़ेगा, इस number को हम बाहर declare करते हैं, और मतलब यहां से हम हटा देंगे int, and इसे scanner के साथ initialize कर देते हैं, 0 के साथ, but java में अगर हम initialize नहीं भी करेंगे, तब भी हमारा जो number है, integer number, वो user ने जो है वो minus 1, minus 2 जैसा कोई number print करवाने की कोशिश की, और उसके बाद loop से हम बाहर आ गए, तो उस case में यहां बाहर आकर हम print करवा देंगे, the end, तो इसे save करके run करते हैं, तो हमसे पूछा जा रहा है input a number, हम input करते हैं 2, तो हमारे लिए 2 print हो गया, अब दुबारा से अगर ह एक और number डालते हैं 10, तो हमारे लिए 10 जो है वो print हो गया, but अब हमें और numbers input नहीं करने, इसलिए डालेंगे minus 1, minus 1 जैसे print हुआ, हमारे पास output window में आ गया है the end, and हमारा process finish हो गया है with exit code 0, तो इस तरीके से do while को use करके, हमने चोटी सी exercise कर लिया है, अगर आपको user से बार बार input लेना है java के अंदर, तो आप इस तरीके से do while loop लगा सकते हैं, while loop के अंदर आपको condition रख सकते हैं, जिसकी help से आप उसे end कर सकते हैं अब हम इस section में discuss करने वाले हैं दो important keywords को जो है break और continue हमने already break को थोड़ा थोड़ा switch में discuss किया है कि break का use जो होता है वो किसी भी situation से किसी भी block से बाहर निकलने के लिए use होता है अब loops के context में देखते हैं कि हम break और continue को कैसे use कर सकते हैं अब break का अगर हिंदी में मतलब समझे तो वो होता है किसी चीज को तोड़ देना, मतलब यहां से control को हम तोड़ रहे हैं, इस block से हम बाहर निकल रहे हैं, control को तोड़ कर, और continue का अगर हम हिंदी में मतलब समझे तो वो होता है किसी चीज को चलाए रखना, तो अगर हमें किसी और इस while loop को कब तक चलाएं? हम इसे चलाते हैं infinite times, अब किसी भी while loop को या किसी भी loop को हम infinite times कैसे चलाएं? उसकी condition में हम हमेशा true कर देते हैं, तो अगर हम यहां लिख दें true तो यह while loop infinite times चलेगा, मतलब चलता ही रहेगा, रुकेगा नहीं, अब अगर इसे रोकना है तो हमें break i की value शुरू करते हैं 0 के साथ and हम क्या करने वाले हैं 0 से लेकर 5 तक हम i को print करवाएंगे 5 से अगर बड़ी होगी i की value तो फिर हम loop से कर जाएंगे exit तो हमें क्या करवाना है print करवाना है i को फिर i को increase कर देंगे by 1 तो i is equal to i plus 1 मतलब i plus 1 की जो value होगी 1 बड़कर वो अब i में store हो जाएगी and अगर हमारा i greater than 5 हो जाता है तो उस case में हम कर जाएंगे, break, तो इस code को थोड़ा सा ध्यान से समझते हैं, I को हमने शुरू किया 0 के साथ, हमारा while loop फिर हमने run किया, while की condition में हमने true लिख रखा है, मतलब while loop हमेशा run करेगा, अब सबसे पहले print करवा देंगे I को, फिर I की value को increase कर देंगे by 1, फिर देखेंगे कि क्या I की value greater than 5 हो गई है, मतलब हमें अगला loop run करना है या इस loop से हमें बाहर निकलना है, अगर greater than 5 हो गये है तो हम break लिख देंगे, break यानि अब यह loop खतम हो गया है, अब आप यहां से बाहर निकलिए, तो इतना हमें अगर print करवाना है तो उसको run करते हैं code को, तो यह हमारे लिए code print हो गया, मतलब output print हो गया, तो output में सबसे पहले print हुआ 0, 0 print हुआ होगा, तो यहाँ पर आकर print हुआ होगा, फिर i की value increase हो गई होगी by 1, फिर print हुआ होगा 1, फिर 2, and similarly जब 5 print हुआ होगा यहाँ पर आकर, तो i की value बन गई होगी 6, और जब i की value 6 बनी, तो यह if condition true हो गई, मतलब i which is 6 is greater than 5, तब हमने इस break condition को execute किया, और तब हम इस loop से print कर दिये हैं, अब अगर हम same चीज print करना चाते हैं, मतलब 0 से लेकर 5 तक i की values को print करना चाते हैं, लेकिन हम उसमें एक और condition डाल दे, कि जब भी 3 print होना चाहे वो print ना हो, बाकी 0 से लेकर 5 तक सारे numbers print हो जाए, तो 3 के लिए हमें एक और special condition लिखनी पड़ेगी, अब 3 के लिए हम ये तो नहीं लिख सकते, कि अगर 3 हो जाता है, तो आप break कर जाए और loop से बाहर निकल जाए, क्योंकि loop से बाहर निकल गया control, तो बाकी की values print नहीं होगी, मतलब 4 and 5 print नहीं होगा, तो 3 के लिए हम लिखेंगे continue keyword, continue कहने का यह मतलब है कि आप यह जो बाकी की statements execute करने वाले थे, उन्हें execute नहीं करना, उन सब को skip करना है, और वापस से आप while पर चले जाएगे, मतलब continue कर दीजे, यह वाली जो current turn है, मतलब अभी वाली हमारी जो बारी चल रही है, loop की, उसको हम अगर हमारा जो I है वो 3 के equal होता है तो आप कर दीजे continue लेकिन continue करेंगे तो हमारा 3 कभी 4 तो बनेगा ही नहीं इसलिए यहाँ पर पहले हम I को कर देते हैं update यानि I plus 1 और फिर कर देते हैं continue तो क्या होगा जब भी I 3 के equal होगा वो 3 4 बन जाएगा और हमारा continue जो है वो call हो जाएगा तो continue keyword को हमने use कर लिया अब इस code को run करके देखते हैं और फिर इसे अच्छे से हम dissect करेंगे, देखेंगे कि ये code का output आया कैसे, तो हमारे code में हमारे लिए जो output आया है, that is 0, 1, 2, 4, 5, इसमें 3 हमारे लिए print नहीं हुआ, क्यूं, क्यूंकि जब I 0 था, तब while तो हमेशा true है, मतलब while loop तो हमेशा run ही करेगा, तो 0 था, तो 0 print हो गया, अब 3 जब हुआ और यहाँ पर while loop के अंदर enter किया, तो यह if condition true हो गई, 3 थी value तो 3 बढ़कर हो गई 4, और अभी 3 print नहीं हुआ, आई की value update हो कर हो गई यह 4, फिर हमने लिख दिया continue, continue जानी बाद वाली statements जो है वो skip हो गई, अब इसमें से कोई भी statement run नहीं करेगी, अभी आई हमारा है 4 और continue होकर वापस यहाँ आ जाएगा, अब आई है 4 तो यह statement तो true होगी नहीं, आई 4 यानि इससे हमने print कर दिया, आई को बड़ा कर कर दिया 5, उसके बाद हमने देखा क्या 5 से बड़ा है आई, नहीं, वापस आई loop के अंदर आई, यहाँ पर आकर दुबारा 5 को print कर दिया, and आई बन गया 6, अब जब भी आई 6 बनेगा, तो इस condition में आ जाएगा, क्योंकि तो इस तरीके से हमारा जो break and continue keyword है ये बहुत important keywords है जिनका use हम बहुत सारे programs में आगे जाकर करेंगे तो इस तरह से break and continue दो important keywords हैं जिनने हमें ध्यान में रखना है अब बात करते हैं java के code के अंदर exception handling की exceptions code में की हुई कुछ-कुछ गलतियां होती हैं जो यातो हमसे हो जाती हैं या किसी कारण हम code में लिख देते हैं और इन गलतियों की वज़े से हमारा code जो है हमारा compiler वो throw करता है exceptions अब exceptions errors जैसी होती हैं पर errors नहीं होती, इसका क्या मतलब है कि java के code के अंदर अगर कोई भी error occur करता है, कोई भी बड़ी गलती होती है, तो वहीं पर हमारा code जो है रुक जाता है, उसके बाद कोई भी statement execute नहीं होगी, लेकिन exceptions के case में हम code के अंदर उन exceptions को catch कर सकते हैं, और बाकी का code हम उसको run कर सकते हैं, उस exception को catch करने के बाद, तो इस तरीके से exceptions को handle किया जा सकते हैं, अब जैसे अगर मान लेते हैं कि हमारी कोई website है हमारी internet पर और उसका कोई database है अब हम कोई data निकालने की कोशिश करें database से website पर और हमारी database में कोई error आ गया तो उस situation में तो हमारी website जो है वो पूरी ठप हो जाएगे मतलब वो काम नहीं करेगी उसमें error आ गया लेकिन अगर exception आई इस तरीके से exceptions और errors में थोड़ा सा difference होता है, errors को हम catch नहीं कर सकते, errors को हम handle नहीं कर सकते, exceptions को handle कर सकते हैं, इसलिए हम सीखते हैं exception handling, तो exception handling हम दो keywords की help से करते हैं, जिनका नाम है try and catch, अब मान लेते हैं कि हमारे पास किसी student के 3 subject के marks stored हैं, तो हम बना लेते हैं एक integer type का array, जिससे नाम दे देते हैं marks, marks के अंदर हम store कर लेते हैं, वही हमारे physics, chemistry, English के marks, नाइंटी सेवन नाइंटी एट नाइंटी फाइव एंड अब अगर हमें किसी सब्जेक्ट के मार्क्स प्रिंट करवाने हैं तो उसको कैसे प्रिंट करवाएंगे हम लिखेंगे मार्क्स ऑफ टू अगर हमें इंग्लिश के मार्क्स प्रिंट करवाने हैं लेकिन मान के मार्क्स प्रिंट करवाना चाहिए जो हमारे एरे के अंदर हमने स्टोरी नहीं किए तो यहां पर हम करके देखते हैं पाइट अगर हम इस तरीके से 5 print करवाना चाहें और इसको run करें, तो कुछ ऐसा print होता है, exception in thread main java.language, और exception का नाम क्या है?

Array index out of bounds exception, यानि array का जो index है, वो out of bounds चला गया है, उसकी capacity से बाहर चला गया है, क्योंकि हमारे array की जो capacity थी, वो तो 3 elements की थी, लेकिन हम access करने की कोशिश कर रहे हैं, अपना 5th index वाला, यानि 6th element, जो कि उसके capacity से, उसके bound से बाहर जा रहा है, इसलिए हमारे code ने एक exception throw कर दिये, और exception में detail में जाये, तो index 5 out of bounds for length 3, मतलब 3 की length है array के पास, और index 5 आप access करने की कोशिश करने हैं, जो array की bounds को exceed कर रहा है, अब अगर हम चाहते हैं कि ऐसी कोई गलती, ऐसी कोई exception आ भी जाये code के अंदर, तो बाकी की जो चीज़े हैं, वो print होती रहें, बाकी की चीज़े यानि, अगर हमने marks access करनी की कोशिश की थी, और उसके बाद हम print करवा रहे थे, कि the student name is a month, तो उस case में, अगर हम code को run भी करें, तो exception तो आ जाए, पर ये name भी print हो साथ के साथ, पर ऐसा तो नहीं हुआ, क्योंकि एक बार अगर exception आ गई, तो उसके बाद वाली lines execute नहीं हुई, अगर हमें उसके बाद वाली lines execute करवानी है, तो हमें use करना पड़ेगा try and catch का, जिस भी statement में हमें लगता है कि यहाँ पर exception आने की possibility है, यहाँ पर coder जो है, programmer वो गलती कर सकता है, उसकी वज़े से कोई exception आ सकती है, वहाँ पर हम लिख देते हैं try, और try का एक block बना देते हैं, अब जिन भी चीजों में exception आ सकती है, उन सारी statements को हम लिख देते हैं इस try के अं� exception को handle कैसे करेंगे, उस exception को catch करके, तो catch करने के लिए भी एक keyword होता है catch, जिसके अंदर हम इस तरीके से exception लिखेंगे, exception, और catch का भी अपना एक block हम बना सकते हैं, अब इस catch के अंदर हम वो चीजे लिखेंगे, do things after catching, तो इस catch block के अंदर हम वो सारी चीजें, वो सारी statements लिखेंगे, जिनने हम execute करना चाते हैं, एक बार हमने exception को catch कर लिया उसके बाद, तो हमारी code में क्या हुआ, हमने marks area जो है उसको बनाया था, हब हम try कर रहे हैं कि marks के अंदर हम किसी भी index जो है वहाँ पर जाकर marks को access कर ले, अ� exception को catch कर लीजे, और इसे कहां store कर दीजे, exception नाम की इस object में store कर लीजे, और यह object हमने बनाई है इस exception नाम की class की help से, अब exception को catch करने के बाद अगर आपको इस exception के साथ कुछ भी करना है, तो वो आप लिखेंगे catch वाले block में, और इसके बाद वाली statements हैं उनको as it is रखेंगे, और अब इस code को run करके देखते हैं, तो अब हमारा output कुछ अलग है, output अलग कैसे है, यहाँ पर exception आई होगी जिसे हमने try किया था, यहाँ पर वो exception catch हो गई होगी, उसके साथ हमने अभी कुछ किया नहीं, इसलिए ब्लॉक खाली है, पर उसके बाद वाली जो line है, the student name is Aman, वो पहले print नहीं हुई थी, लेकिन वो अब print हो गई, क्योंकि exception को हमने handle कर लिया, तो इस तरीके से exceptions cause करने वाली statements को हम try ब्लॉक के अंदर लिखते हैं, और exceptions को catch करने के बाद क्या करना चाहते हैं वो सब हम लिखते हैं अपने catch block के अंदर and finally try catch के बाद वाली जो सारी statements होती हैं वो normally execute हो रही हैं अगर हमारे code में exception आता है तब भी अब java के एक important concept की बात करते हैं जिसका नाम है methods methods classes में लिखे हुए functions को हम कहते हैं java के अंदर methods क्या होते हैं या functions क्या होते हैं functions का मतलब है कोई भी operation perform करना जिसे एक thermometer का example लें तो वो क्या करता है हमारी body का temperature measure करता है और उसी temperature को हमें दिखा देता है तो एक तरह से उसने temperature या body heat का input लिया और जो number है वो हमें दिखा दिया तो हमें कुछ output दे दिया वैसे ही phone के अंदर जब volume button को दबाते हैं तो वो plus वाला button जब दबा रहे होते हैं तो phone की volume जो है बढ़ जाती है इसमें क्या हुआ button ने हमसे दबाने वाला input लिया और phone की volume बढ़ा कर हमें एक output दे दिया तो वैसे ही अगर हम एक remote का example लें, तो remote को हम मान लेते हैं class और उसके अंदर present जो बहुत सारे buttons हैं, उनको हम मान लेते हैं individual methods, तो किसी भी method को हम press करें, मतलब उसे कुछ input दें, तो वो कुछ output हमें देगा, अगर हम एक channel आगे बढ़ाना है, तो उस button को press करेंगे, तो हमारा channel तो एक class के अंदर बहुत सारे method होते हैं, इन methods का अलग-अलग काम होता है, अब हम अपनी main class के अंदर कुछ अपने ही methods बनाने की कोशिश करते हैं, इन methods को समझते हैं examples की help से, बट हमें याद रखने की method को हम कुछ input देते हैं, कभी-कभी ये input null भी होता है, मतलब हम कुछ भी input अब इसको code की help से समझ कर देखते हैं कि actually ये होते क्या है अब मान लेते हैं कि code में हमें बार-बार जो है वो print करवाना है hello java को, तो दुबारा से हम लिखेंगे hello java, अब हम देख पा रहे हैं कि बार-बार-बार-बार हम इस statement को लिख रहे हैं, मतलब ये काम बार-बार repeat हो रहे हैं हमारे code के अंदर, तो जब भी हम code के अंदर ऐसे का उनके लिए एक method बना दें और इस method के कहने का क्या मतलब है कि अगर हमें बार-बार hello java print करवाना है तो जैसे हमने main method बनाया हुआ है main class के अंदर वैसे ही हम एक और बना दे public static void यानि इन तीनों keywords को हमें लिख देना है और यहाँ पर लिखना है print java तो यह हमने बना दिया अपना एक method यहाँ पर जो public है और static है यह जब java के अंदर हम उप्स, object orientation के concepts को समझ रहे होंगे, तब इन दोनों keywords का हमें अच्छे से मतलब समझ में आएगा, अभी के लिए ये मान लेते हैं कि हमारा जो function है, उसका नाम है print java, हम अपने functions को, अपने methods को कोई भी नाम दे सकते हैं, हम पहचाने कैसे कि हम functions की बात करने हैं, तो functions के सामने ये दो parenthesis लगे होते हैं, इस parenthesis के अंदर अगर हमें कोई input लेना होता है, तो उस input को हम ले रहे होते हैं, लेकिन print java के अंदर हमें किसी input की ज़रूरत नहीं है, और यह जो output return करता है उसका भी हमें type लिखना पड़ता है, जब भी कोई function, अगर मान लीजिए हमें कोई number return कर रहा है, तो उसका output में type हमें int लिखना होता है, या float लिखना होता है, या double लिखना होता है, string return कर रहा है, तो output में हमें string लिखना होता है, लेकिन हमारा print java function हमें कुछ नहीं return कर ला, मतलब void दे रहा है, void या नहीं खाली, तो यहाँ पर output में return का type हम दे देंगे, void, अब print java function के अंदर हम print करवाना चाहते हैं, hello, जावा को और बस हम इतना ही प्रिंट करवाना जाते हैं अपने print java function से तो इस statement इन तीन statements को यहां से हम हटा देंगे और क्या करेंगे print java को call कर लेंगे किसी function को call करने का मतलब उसे बुलाना होता है जैसे phone के उपर हम volume button को दबा रहे होते हैं वैसे ही हमें main function के अंदर उसे call क और फिर लगाना पड़ेगा अपना statement terminator, तो अब हम इस function को call करेंगे, तीन बार, तीन बार हम function को call कर लेंगे, तो हमारा यह जो print java function है, वो तीन बार हमें hello java print करके दे देगा, अब इसे run करके देखते हैं, तो हमारे output में हमें तीन बार hello java मिल गया, लेकिन जो System.out.println वाली statement है यह statement यह हमें तीन बार नहीं लिखनी पड़ी हमें सिर्फ इस function का चोटा सा नाम लिखना पड़ा अपने main function के अंदर तीन बार तो इसी तरीके से functions काम करते हैं बहुत सारे हमारे repetitive tasks होते हैं जिनको हमें बार बार करना होते हैं उन्हें वो असान कर देते हैं और यहाँ पर void type क्योंकि यह function कुछ return नहीं करेगा, सिर्फ नाम को print करवाएगा, print name इसे नाम दे देते हैं, तो अब इस function के अंदर हमें नाम कैसे मिलेगा, नाम को हम as a input लेंगे, input कैसे लेंगे, यहाँ पर लिख देंगे string name, तो हमें string type का एक नाम चाही होगा, as an input for this function, अब print कर देंगे, और, यहाँ पर प्रिंट करवा देंगे अपने नाम को, अब इन तीनों कॉल्स को हटा कर हम कॉल कर देते हैं प्रिंट नेम को, और प्रिंट नेम के अंदर हमें कोई नाम पास करना पड़ेगा स्ट्रिंग टाइप का, तो यहाँ पर हम पास कर देते हैं अमन, तो अमन अगर हम पा अब दुबारा से इस function को call करते हैं, print name, और इसमें लिख देते हैं, अकू, तो पहले अमन हमारे लिए print हो गया, and then print हो गया अकू, तो इस तरीके से बार-बार अगर हमें अलग-अलग नाम print करवाने हैं, तो बार-बार output statement लिखकर अलग-अलग नाम हमें देने की ज़रूरत अब एक और example के साथ बहुत अच्छे से methods को समझते हैं, मान लेते हैं हमारे पास दो numbers हैं, A और B, अब इन दोनो numbers को हमें add करना है, तो इनको add करने के लिए हम एक function बनाएंगे, जो दोनो numbers को add कर देता है और उनको print कर देता है, अब उसे बनाने के लिए हम लिखेंगे public static, तो ये keywords हैं, जो oops में use होते हैं, और फिर लिखेंगे void, क्योंकि हम कुछ return नहीं करेंगे, हम इसी function के अंदर print करवा देंगे, अपने sum को, इसे नाम दे देते हैं, print sum, print sum के अंदर, हम लेंगे एक integer type का input A, और एक integer type का input B, तो अगर हमें एक input लेना था, string name, तो उनको हम comma से separate करते हैं, यानि ये पहला input है A, यह दूसरा input है b, और दोनों का type हमने integer रखा है, हम ऐसे भी कर सकते थे कि यहाँ पर int ले सकते थे, यहाँ string type का कोई input b ले ले, पर हमारे use case में हमें दो numbers का sum लेना है, तो दोनों का type integer है, और इस function के अंदर हम क्या करेंगे, हम एक नया variable बनाएंगे sum, sum में हम a plus b कर देंगे, a तो यहाँ पर हम call करते हैं print sum को, पास करेंगे दो numbers, पहला number ले लेते हैं 1, दूसरा ले लेते हैं 6, तो हमारे पास automatically यहाँ पर आ गया कि, 1 यानि a है 1, और 6, b में value जा रही है, मतलब b की value है 6, अब इस code को run करते हैं, तो हम देखेंगे कि हमारे लिए जो output print हुआ है, that is 7, यानि हमने A में 1 पास किया था, B में 6 पास किया था, तो 1 plus 6 is equal to 7 हमारे पास sum calculate हुआ होगा, और वो हमारे output window में print हो गया है, तो इस तरीके से Java के अंदर methods जो है, functions जो है, किसी भी type का उनसे output ले सकते हैं, और उनकी वज़े से बहुत सारा काम जो है, वो असान हो जाते हैं, अब ऐसा ही एक method, ऐसा ही एक function है, main function, मेन फंक्शन के आप अंदर देखेंगे तो input type जो है वो है string of arguments, तो हमारी terminal window के अंदर शुरुआत में हम कुछ-कुछ arguments पास कर सकते हैं, although normal coding के अंदर हम इन arguments को पास नहीं कर रहे होते, लेकिन अगर हम input की बात करें तो ये इसका input रहता है, इसका भी return type void है, मतलब main function कुछ भी return नहीं कर रहा होता है end में, और public static वही identifiers हमारे आ जाते हैं, oops के अंदर कुछ-कुछ complex keywords जिने हम बाद में जाके समझ सकते हैं, तो एक main एक simple function है जो कुछ भी return नहीं करता लेकिन बहुत सारे काम इस function के अंदर हम कर सकते हैं, और ये सारी जो functions हैं ये हमने अपने code में लिखे हैं अपनी main class के अंदर, तो class के अंदर बहुत सारे functions भी होते हैं, बहुत सारे normal values भी होती हैं, तो यहाँ पर हमने बहुत अच्� क्या-क्या अलग-अलग चीजें हैं क्या-क्या अलग-अलग ऑपरेशंस है जो एक मेथड परफॉर्म कर सकता है अब जावा के अंदर हम बनाने वाले हैं एक मिनी प्रोजेक्ट उन सारे कॉन्सेट्स को यूज करके जिनके बारे में हमने अभी भी पढ़ा है इस म���नी यह रैंडम नंबर कौन सा है अगर यूजर कोई बड़ा नंबर गैस करते हैं तो उन्हें बताएंगे नहीं कि हमारा रैंडम नंबर और अगर वो कंग value जो है guess करते हैं तो उनको बताएंगे कि इस value से थोड़ा सा उपर है हमारा random number, तो इस हिसाब से हम ये तब तक करते रहेंगे, या तो जब तक user जो है सही number guess नहीं कर लेता, या फिर हमारा user finally ठक कर stop नहीं कर देता, तो शिरुवात में 1 से लेकर 100 के बीच में कोई एक number generate करेंगे, user से पूछेंगे कि 1 से 100 तक कोई number guess करेंगे, और user अगर कभी ठक जाते हैं number guess करते करते, तो उनको बस type करना है minus 1 to stop, जैसे user minus 1 type कर देंगे, मतलब कोई negative number type कर देंगे stop करने के लिए, वही हम रुक जाएंगे, और वहाँ पर जाकर अपना random number user को दिखा देंगे, कि ये number हमने guess करवाने की कोशिश की थी, तो इस पूरे project को code करके देखते हैं, इसमें सबसे पहले हम generate करवाएंगे my number, ये हम generate करव कि range में कोई एक छोटा decimal number जो है randomly generate होता है और हमें तो उससे कोई बड़ा number चाहिए तो हम क्या करेंगे तो हम यहाँ पर multiply कर देंगे उसी number को 100 से और फिर उसे parse कर देंगे हम int type में ताकि 1 से लेकर 100 के बीच में हमें कोई value मिल जाए और वो value हमने store कर ली my number के अंदर अब user से पूछने के लिए कि number क्या है हम एक do while loop लगाएंगे, do में यानि सबसे पहले करके देखेंगे, prompt के अंदर हम type करवाएंगे, guess my number जिसके अंदर यूजर कोई नंबर गेस करेंगे, उस नंबर को हम स्कैनर क्लास की हेल्प से इंपुट ले लेंगे, तो सबसे पहले उपर स्कैनर क्लास एक क्लास का ओब्जेक्ट बना लेते हैं, हमारी जो स्कैनर क्लास का पैकेज है, उसे हम इंपोर्ट कर लेते हैं, तो यह तो user number में आ जाएगा sc.nextint, nextint function से हमने number को input ले लिया, अब check करेंगे, अगर हमारा user का number equal हो जाता है हमारे number से, तो इस case में print करवाएंगे, वो who, यहां लिखवा देते हैं, correct number, पर अगर ऐसा नहीं होता है, मतलब else, यहां पर तोड़ी space दे देते हैं, ताकि code हमारा जो है clean लगे, अगर ऐसा नहीं होता है और हमारा user का number बड़ा है हमारे number से, तो हम उस case में print करवा देंगे, यौर number is large, यौर number is too large, नहीं तो वो छोटा ही होगा, तो उस case में हम number के लिए print करवा रहे होंगे, तो इस तरीके से तीन conditions हमने लिख ली हैं, if else, if else की form में, अगर user का number हमारे number के equal हो जाता है, तो उस case में print करा देंगे, वू हू correct number, नहीं तो user का number अगर हमारे number से बड़ा है, तो उस case में print करवाएंगे, कि आपका number बहुत large है, इसे आप थोड़ा चोटा करिए, नहीं तो हमारे final case, जिसमें user का number हमारे number से चोटा है, your number is too small, इसे आपको बड़ा करना है, और अगर user का number हमारे number के equal है, क्योंकि अब हमें do loop को बार बार run करने की ज़रूरत नहीं है, तो यहाँ पर हम करा देंगे break, यहाँ पर हम break नहीं करवाएंगे, क्योंकि एक बार हमें user से और पूछना है कि हमारा number guess करिए, and इसके अंदर while condition क्या होगी, while condition यह होगी कि जब तक हमारा जो user number है, वो greater than equal to 0 है, अब यह user number red में इसलिए आया क्योंकि हमने इसे declare किया है अपने do loop के अंदर, और loop के अंदर declare किये हुए variables loop के ही होते हैं, वो while में use नहीं कर सकते, इसलिए इसे हम बाहर initialize कर देते हैं, यहाँ पर इसे लिख देते हैं, तो हमारी scanner number, user number लिख लिया, इसे हमने input करवा लिया, user number को हमने check कर लिया, कि वो greater than equal to 0 है या नहीं, and finally क्या करेंगे, हमारा number हम print करवा देंगे, है तो हम प्रिंट करवा देते हैं माइन नंबर वॉस इसे प्रिंट करवा देते हैं हम माइ नंबर इस तरीके से हमने अपना पूरा कोड लिख लिया है इस कोड पर एक बार नजर मार लेते हैं ऊपर स्कैनर क्लास को हमने इंपोर्ट किया फिर डू वाइल लूप के अंदर सबसे पहले यूजर से पूछ लिया कि हमारे नंबर आप गैस करिए, यूजर ने कोई नंबर गैस करके इंपुट कर दिया, उस नंबर को चेक कर लिया क्या वो हमारे नंबर की एकवल है, है तो correct नंबर print करवा दिया और loop से हम कर गए break, अगर न अगर user ने negative value डाल दी या फिर user सही भी हो गया तो उसके बाद हम print करवा देंगे कि ये था हमारा number जिसे आपको guess करना था तो इस पूरे project के अंदर user को guess करना है 1 से 100 की range में शुरुवात में उसके बाद accordingly वो अपने number को बड़ा या छोटा कर सकते हैं अब इस code को run करके देखते हैं तो हमारे पास prompt आया कि guess करना है हमें number 1 से लेकर 100 मान लेते हैं कि हम guess कर रहे हैं 50 तो हमें पता चला कि हमारा number जो है वो थोड़ा छोटा है, मतलब your number is too small, हमें अब कोई बड़ा number guess करना है, तो 50 से बड़ा हम कर लेते हैं, मान लेते है 75 हमने guess कर लिया, हमारा number अभी भी छोटा है, तो अब हम guess करते है 80, हमारा number अभी भी छोटा है, अब हम guess करते है 95, तो हमार नमबर इस टू लार्ज 90 जो लार्ज तो हमारा मिनिमम जो था वह था 80 मैक्सिमम इस 90 तो अब इस रेंज में हम गेस करना है गेस करते 85 तो नमबर इस टू लार्ज मतलब 80 से 85 की रेंज में अब 83 इनपुट करते हैं नमबर इस टू स्माल यानि जो हमारा number है वो 84 ही होना चाहिए, तो yes हमारा number is 84, 84 is the correct answer, and finally हमें हमारा number print होकर मिल गया है, and हमारा code जो है अब exit कर गया है, with exit code 0, तो इस तरीके से हमने एक mini project build कर लिया है, जिसमें हम user से numbers guess करवा सकते हैं, इसके अलावा java के बहुत basic basic concepts को भी use करके, हम बहुत अच्छे अच्छे mini projects को बना सकते हैं, आगे जाकर और भी अच्छी चीजें हम सीख सकते हैं जावा के अंदर, इसमें अगर OOPS को explore करें या फिर data structures and algorithms को explore करें तो काफी सारी चीजें हम सीख सकते हैं, even competitive programming कर सकते हैं अगर detail में इस language को explore करें तो. तो इसी के साथ आज का ये जावा का lecture समाफ्त होता है, मैंने अपनी दरफ से पूरी कोशिश की है कि आपको अच्छा बला idea हो जाए कि जावा के साथ काम कैसे करने है, इसके अलग-अलग concepts कैसे काम करने है. अब इसके बाद जाकर आप placement की तयारी कर सकते हैं क्योंकि Java placement में use होने वाली काफी popular language है उसके साथ साथ आप Android app development सीख सकते हैं या फिर industry में इस piece को use कर सकते हैं इस knowledge को apply कर सकते हैं और अगर आपको content अच्छा लगा हो तो नीचे जाकर आप subscribe कर सकते हैं चानल पर और हमारे बाकी वीडियो को भी explore कर सकते हैं मिलते हैं next video में till then keep learning and keep exploring