Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

Java String: शुरुआती लोगों के लिए एक गाइड

जब आप स्ट्रिंग के बारे में सोचते हैं, तो आप एक बिल्ली को ऊन की गेंद के साथ खेलते हुए देख सकते हैं। यह सच है कि ऊन की गेंद स्ट्रिंग है, लेकिन जब प्रोग्रामर स्ट्रिंग शब्द का उपयोग करते हैं तो उनका मतलब कुछ अलग होता है।

प्रोग्रामिंग में, एक स्ट्रिंग एक या अधिक कैरेक्टर्स का क्रम होता है। यह देखते हुए कि टेक्स्ट-आधारित डेटा कंप्यूटर्स के साथ हमारी रोजमर्रा की बातचीत के लिए कितना महत्वपूर्ण है, यह कोई आश्चर्य की बात नहीं होगी कि स्ट्रिंग प्रोग्रामिंग का एक महत्वपूर्ण हिस्सा है।

इस गाइड में, हम चर्चा करने जा रहे हैं कि स्ट्रिंग कैसे बनाएं, स्ट्रिंग को कैसे कन्कैटनेट करें, और स्ट्रिंग के मान को वेरिएबल में कैसे स्टोर करें। हम आपका मार्गदर्शन करने के लिए कुछ उदाहरणों के माध्यम से चलेंगे।

Java String बनाना

स्ट्रिंग का उपयोग Java में टेक्स्ट स्टोर करने के लिए किया जाता है। जबकि char डेटा प्रकार व्यक्तिगत कैरेक्टर्स स्टोर करता है, स्ट्रिंग्स उतने कैरेक्टर्स रख सकते हैं जितने आप चाहें। स्ट्रिंग्स बाइट्स के क्रम होते हैं।

स्ट्रिंग्स डबल कोट्स के बीच परिभाषित होते हैं। यह पायथन या JavaScript जैसी भाषाओं के विपरीत है, जो दोनों सिंगल और डबल कोट्स स्वीकार करते हैं। यहां Java में स्ट्रिंग का एक उदाहरण है:

"This is an example string."

आप println() फंक्शन का उपयोग करके स्ट्रिंग की सामग्री प्रिंट कर सकते हैं:

System.out.println("This is an example string.");

हमारा कोड लौटाता है: This is an example string। हमने एक नई स्ट्रिंग बनाई है। अब जब आप जानते हैं कि स्ट्रिंग कैसे घोषित करें, तो हम इस बारे में बात कर सकते हैं कि अपने कोड में उनके साथ कैसे काम करें।

स्ट्रिंग कन्कैटनेशन

कन्कैटनेशन, क्या लंबा शब्द है। इसकी परिभाषा काफी सरल है: इसका मतलब दो स्ट्रिंग्स को मिलाकर एक नई स्ट्रिंग बनाना है। आप दो स्ट्रिंग्स को कन्कैटनेट करने के लिए + ऑपरेटर (प्लस साइन) का उपयोग कर सकते हैं।

मान लीजिए हमारे पास दो स्ट्रिंग्स हैं: William और Carter। पहली स्ट्रिंग एक फोरनेम है और दूसरी स्ट्रिंग एक सरनेम है। हम उन्हें + ऑपरेटर का उपयोग करके जोड़ सकते हैं:

String fullname = "William" + "Carter"; System.out.println(fullname);

हमारा कोड आउटपुट करता है: WilliamCarter। रुको, क्या हुआ? इन दो शब्दों के बीच स्पेस क्यों नहीं है?

डिफ़ॉल्ट रूप से, कन्कैटनेटेड स्ट्रिंग्स के बीच कोई व्हाइटस्पेस नहीं जोड़ा जाता। यदि हम एक स्पेस दिखाना चाहते हैं, तो हमें इसे William नाम के बाद जोड़ना होगा:

String fullname = "William " + "Carter"; System.out.println(fullname);

जब हम अपना प्रोग्राम चलाते हैं, तो यह लौटाया जाता है: William Carter।

स्ट्रिंग की लंबाई कैलकुलेट करना

आप स्ट्रिंग की लंबाई कैसे कैलकुलेट करते हैं? कितना अच्छा सवाल। सौभाग्य से हमारे लिए, हमें ऐसा करने के लिए कोई जटिल फंक्शन लिखने की आवश्यकता नहीं है।

Java में पहले से ही एक बिल्ट-इन फंक्शन है जिसका उपयोग हम स्ट्रिंग की लंबाई कैलकुलेट करने के लिए कर सकते हैं: length()। मेथड के लिए कितना सुविधाजनक नाम!

हम एक प्रोग्राम बनाने जा रहे हैं जो चौथी कक्षा के दो लोगों के नामों की लंबाई कैलकुलेट करता है। एक नई Java फाइल बनाएं और अपने मेन क्लास में निम्न कोड पेस्ट करें:

String name1 = "William Carter"; String name2 = "Helena Ohara"; int name1length = name1.length() - 1; int name2length = name2.length() - 1; System.out.println(name1 + "'s name is " + name1length + " letters long."); System.out.println(name2 + "'s name is " + name2length + " letters long.");

आइए अपना कोड चलाएं:

William Carter's name is 13 letters long. Helena Ohara's name is 11 letters long.

हमने दो वेरिएबल्स परिभाषित किए हैं जो हमारे छात्रों के नाम स्टोर करते हैं: name1 और name2। हमने तब इनमें से प्रत्येक स्ट्रिंग की लंबाई कैलकुलेट करने के लिए length() मेथड का उपयोग किया। हमने बीच में स्पेस के लिए प्रत्येक नाम की लंबाई से 1 घटाया।

फिर, हमने प्रत्येक नाम की लंबाई के बारे में हमें सूचित करने वाला एक संदेश प्रिंट किया।

स्ट्रिंग के भीतर स्ट्रिंग ढूंढना

ऐसे समय हो सकते हैं जब आप किसी अन्य स्ट्रिंग के भीतर एक स्ट्रिंग ढूंढना चाहते हैं। यहीं पर indexOf() मेथड काम आता है। यह मेथड किसी विशेष स्ट्रिंग के टेक्स्ट की पहली घटना की पोजीशन को एक स्ट्रिंग के भीतर लौटाता है।

इससे पहले कि हम चर्चा करें कि यह कैसे काम करता है, हमें संक्षेप में index के बारे में बात करनी होगी। Java में, स्ट्रिंग्स को इंडेक्स नंबर्स का उपयोग करके इंडेक्स किया जाता है। इसका मतलब है कि स्ट्रिंग में हर कैरेक्टर को अपना नंबर असाइन किया जाता है, जिसका उपयोग हम प्रत्येक आइटम को व्यक्तिगत रूप से एक्सेस करने के लिए कर सकते हैं।

यहां स्ट्रिंग "William Carter" के भीतर इंडेक्स का ब्रेकडाउन है:

W i l l i a m C a r t e r
0 1 2 3 4 5 6 7 8 9 10 11 12 13

ध्यान दें कि हमारी स्ट्रिंग में सभी कैरेक्टर्स को इंडेक्स नंबर असाइन किया गया है, जिसमें व्हाइटस्पेस भी शामिल हैं। इसके अलावा, ध्यान दें कि हम 0 से गिनना शुरू करते हैं। ऐसा इसलिए है क्योंकि स्ट्रिंग्स 0 से शुरू होकर इंडेक्स्ड होती हैं।

मान लीजिए हम यह पता लगाना चाहते हैं कि स्ट्रिंग Carter इस स्ट्रिंग में कहां दिखाई देती है। हम indexOf() मेथड का उपयोग करके ऐसा कर सकते हैं:

String name = "William Carter"; int position = name.indexOf("Carter"); System.out.println("Carter appears starting at index value " + position);

हमारा कोड लौटाता है: Carter appears starting at index value 8। indexOf() वह इंडेक्स पोजीशन लौटाता है जिस पर एक कैरेक्टर दिखाई देता है।

जांचें कि दो स्ट्रिंग्स बराबर हैं या नहीं

स्ट्रिंग्स की तुलना प्रोग्रामिंग में हर समय आती है। जब आप लॉगिन फॉर्म में पासवर्ड डालते हैं तो उसके बारे में सोचें। एप्लिकेशन क्या करता है? यह आपके द्वारा दर्ज पासवर्ड की तुलना उस पासवर्ड से करता है जो एप्लिकेशन ने अपने डेटाबेस में स्टोर किया है।

मान लीजिए हम एक प्रोग्राम लिखना चाहते हैं जो जांचता है कि यूजर का पासवर्ड सही है या नहीं। एक नई Java फाइल खोलें और अपने मेन प्रोग्राम में निम्न कोड पेस्ट करें:

String entered_password = "Test123"; String saved_password = "Test12345"; boolean compare_passwords = entered_password.equals(saved_password); System.out.println("Does the entered password match the saved password? " + compare_passwords);

हमारा कोड लौटाता है:

Does the entered password match the saved password? false

हमारा प्रोग्राम जांचता है कि हमारे द्वारा निर्दिष्ट दो स्ट्रिंग्स - entered_password और saved_password बराबर हैं या नहीं। हम इस जांच को करने के लिए equals() मेथड का उपयोग करते हैं। यह मेथड true लौटाता है यदि स्ट्रिंग्स बराबर हैं; अन्यथा, यह false लौटाता है।

आइए entered_password का मान saved_password के बराबर बदलें:

String entered_password = "Test12345"; String saved_password = "Test12345"; ...

जब हम इस कोड को चलाते हैं, तो हमारा प्रोग्राम लौटाता है:

Does the entered password match the saved password? true

हमारे द्वारा निर्दिष्ट दोनों स्ट्रिंग्स मेल खाते हैं, जिसका अर्थ है कि हमारा equals() मेथड true evaluates करता है।

स्पेशल कैरेक्टर्स

स्ट्रिंग्स को डबल कोट्स के भीतर लिखा जाना चाहिए। यह कोई बड़ी बात नहीं लगती जब तक आप अपने प्रोग्राम में डबल कोट शामिल नहीं करना चाहते। यह एक त्रुटि लौटाएगा।

इस त्रुटि को हल करने का तरीका बैकस्लैश (\) कैरेक्टर का उपयोग करना है। यह स्ट्रिंग में तुरंत बाद आने वाले किसी भी कैरेक्टर को स्पेशल कैरेक्टर में बदल देगा। इस उदाहरण पर विचार करें:

String statement = "Your order for \"Chocolate Chip Cookie x2\" was processed.";

यह स्ट्रिंग हमारे प्रोग्राम में काम करेगी क्योंकि हमने अपनी स्ट्रिंग में प्रत्येक डबल कोट से पहले बैकस्लैश निर्दिष्ट किया है। यह स्ट्रिंग लौटाती है: Your order for Chocolate Chip Cookie x2 was processed.

अब हमारे पास एक और समस्या है: क्या होगा यदि आप अपनी स्ट्रिंग में बैकस्लैश उपयोग करना चाहते हैं? ऐसा करने के लिए, आप दो बैकस्लैश साथ-साथ लिख सकते हैं:

String order_reference = "Your order reference is 202\\303."

यह स्ट्रिंग लौटाता है: Your order reference is 202\303."

कई अन्य स्पेशल कैरेक्टर्स हैं जिनका उपयोग आप Java में कर सकते हैं। उनमें से सबसे उपयोगी में से एक जिसे आप एनकाउंटर करेंगे वह है \n, या नई लाइन। यह कैरेक्टर स्ट्रिंग में एक नई लाइन बनाता है:

String order_reference = "Your order reference is: \n 202\\303."

हमारी स्ट्रिंग इसके बराबर है:

Your order reference is:

202\303

स्ट्रिंग को दो लाइन्स में विभाजित किया गया है क्योंकि हमने अपनी स्ट्रिंग के is: भाग के बाद नई लाइन कैरेक्टर निर्दिष्ट किया था।



निष्कर्ष

स्ट्रिंग्स आपको अपने प्रोग्राम्स में टेक्स्ट-आधारित डेटा के साथ काम करने की अनुमति देते हैं। एक स्ट्रिंग किसी भी संख्या में कैरेक्टर्स रख सकती है, जिसमें शून्य कैरेक्टर्स भी शामिल हैं।

indexOf() और equals() जैसे स्ट्रिंग मेथड्स का उपयोग करके, आप Java में स्ट्रिंग की सामग्री को मैनिपुलेट कर सकते हैं। अब आप एक विशेषज्ञ की तरह Java में स्ट्रिंग्स के साथ काम करना शुरू करने के लिए तैयार हैं!

  1. - Java में ArrayList में स्ट्रिंग कैसे खोजें?

    String क्लास की contains() विधि एक स्ट्रिंग मान को पैरामीटर के रूप में स्वीकार करती है, सत्यापित करती है कि वर्तमान स्ट्रिंग ऑब्जेक्ट में निर्दिष्ट स्ट्रिंग है या नहीं और यदि है तो true लौटाती है (अन्यथा false)। इसलिए, ArrayList में स्ट्रिंग खोजने के लिए - सरणी सूची प्राप्त करें। फॉर-ईच लूप का उपयो

  1. - Java में किसी स्ट्रिंग में विशिष्ट शब्द को कैसे खोजें?

    Java में विभिन्न विधियाँ हैं जिनका उपयोग करके आप किसी स्ट्रिंग में विशिष्ट शब्द को पार्स कर सकते हैं। यहाँ हम उनमें से 3 पर चर्चा करेंगे। contains() विधि String क्लास की contains() विधि कैरेक्टर्स के सीक्वेंस को स्वीकार करती है और वेरिफाई करती है कि यह वर्तमान स्ट्रिंग में मौजूद है या नहीं। यदि मिल

  1. - Java में स्ट्रिंग को अल्फाबेट्स के लिए कैसे वैलिडेट करें?

    स्ट्रिंग को अल्फाबेट्स के लिए वैलिडेट करने के लिए आप या तो स्ट्रिंग में प्रत्येक कैरेक्टर की तुलना अंग्रेजी अल्फाबेट के कैरेक्टर्स (दोनों केस) से कर सकते हैं, या रेगुलर एक्सप्रेशन्स का उपयोग कर सकते हैं। उदाहरण 1 निम्नलिखित प्रोग्राम यूज़र से एक स्ट्रिंग वैल्यू (नाम) स्वीकार करता है और स्ट्रिंग में