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

जावा स्ट्रिंग:शुरुआती के लिए एक गाइड

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

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

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

जावा स्ट्रिंग बनाना

जावा में टेक्स्ट को स्टोर करने के लिए एक स्ट्रिंग का उपयोग किया जाता है। जबकि char डेटा प्रकार अलग-अलग वर्णों को संग्रहीत करता है, तार जितने चाहें उतने वर्ण धारण कर सकते हैं। स्ट्रिंग्स बाइट्स के अनुक्रम हैं।

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

“This is an example string.”

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

System.out.println("यह एक उदाहरण स्ट्रिंग है।");

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

81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।

बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।

स्ट्रिंग संयोजन

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

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

स्ट्रिंग पूरानाम ="विलियम" + "कार्टर";System.out.println(पूर्णनाम);

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

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

स्ट्रिंग का पूरा नाम ="विलियम" + "कार्टर";System.out.println(पूर्णनाम);

जब हम अपना प्रोग्राम चलाते हैं, तो यह वापस आ जाता है:William Carter

स्ट्रिंग की लंबाई की गणना करना

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

जावा में पहले से ही एक अंतर्निहित फ़ंक्शन है जिसका उपयोग हम स्ट्रिंग की लंबाई की गणना करने के लिए कर सकते हैं:length() . यह एक विधि के लिए एक सुविधाजनक नाम है!

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

स्ट्रिंग नेम1 ="विलियम कार्टर";स्ट्रिंग नेम2 ="हेलेना ओहारा";इंट नेम1लेंथ =नेम1.लेंथ () - 1;इंट नेम2लेंथ =नेम2.लेंथ () - 1;सिस्टम.आउट.प्रिंट्लन(नाम1 + " का नाम "+ name1length +" अक्षर लंबा है।");System.out.println(name2 + "'s name is " + name2length + "अक्षर लंबा।");

आइए अपना कोड चलाते हैं:

विलियम कार्टर का नाम 13 अक्षर लंबा है। हेलेना ओहारा का नाम 11 अक्षर लंबा है।

हमने दो चर परिभाषित किए हैं जो हमारे छात्र के नाम संग्रहीत करते हैं:नाम 1 और नाम 2। फिर हमने length() . का इस्तेमाल किया इनमें से प्रत्येक तार की लंबाई की गणना करने की विधि। हमने बीच में जगह के लिए प्रत्येक नाम की लंबाई से 1 घटाया।

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

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

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

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

यहां "विलियम कार्टर" स्ट्रिंग के भीतर सूचकांक का टूटना है:

<टीडी>
W मैं l l मैं a मी सी a r t r
1 2 3 4 5 6 7 8 9 10 11 12 13

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

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

स्ट्रिंग नाम ="विलियम कार्टर";int स्थिति =name.indexOf ("कार्टर");System.out.println ("कार्टर इंडेक्स वैल्यू से शुरू होता है" + स्थिति);

हमारा कोड रिटर्न:कार्टर इंडेक्स वैल्यू 8 से शुरू होता हुआ दिखाई देता है। indexOf() वह सूचकांक स्थिति लौटाता है जिस पर एक वर्ण दिखाई देता है।

जांचें कि क्या दो तार बराबर हैं

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

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

स्ट्रिंग enter_password ="Test123";String save_password ="Test12345";boolean compare_passwords =entry_password.equals(saved_password);System.out.println("क्या दर्ज किया गया पासवर्ड सहेजे गए पासवर्ड से मेल खाता है? " + तुलना_पासवर्ड); 

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

क्या दर्ज किया गया पासवर्ड सहेजे गए पासवर्ड से मेल खाता है? असत्य

हमारा प्रोग्राम यह देखने के लिए जाँच करता है कि क्या हमने जो दो तार निर्दिष्ट किए हैं - entered_password और saved_password बराबर हैं। हम equals() . का उपयोग करते हैं इस जाँच को करने की विधि। यदि तार बराबर हैं तो यह विधि सत्य हो जाती है; अन्यथा, यह झूठी वापसी करता है।

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

स्ट्रिंग enter_password ="Test12345";String save_password ="Test12345";...

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

क्या दर्ज किया गया पासवर्ड सहेजे गए पासवर्ड से मेल खाता है? सच

हमारे द्वारा निर्दिष्ट दोनों तार मेल खाते हैं, जिसका अर्थ है कि हमारे equals() विधि का मूल्यांकन सही होता है।

विशेष वर्ण

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

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

स्ट्रिंग स्टेटमेंट ="\"चॉकलेट चिप कुकी x2\" के लिए आपका ऑर्डर प्रोसेस किया गया था।";

यह स्ट्रिंग हमारे प्रोग्राम में काम करेगी क्योंकि हमने अपने स्ट्रिंग में प्रत्येक डबल कोट्स से पहले एक बैकस्लैश निर्दिष्ट किया है। यह स्ट्रिंग वापस आती है:चॉकलेट चिप कुकी x2 के लिए आपका आदेश संसाधित किया गया था।

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

स्ट्रिंग order_reference ="आपका ऑर्डर संदर्भ 202\\303 है।"

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

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

स्ट्रिंग order_reference ="आपका ऑर्डर संदर्भ है:\n 202\\303।"

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

आपके आदेश का संदर्भ है:

202\303

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



निष्कर्ष

स्ट्रिंग्स आपको अपने प्रोग्राम में टेक्स्ट-आधारित डेटा के साथ काम करने देती हैं। एक स्ट्रिंग किसी भी वर्ण को धारण कर सकती है, जिसमें कोई वर्ण नहीं है।

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


  1. जावा में ArrayList में स्ट्रिंग की खोज कैसे करें?

    इसमें एक () . शामिल है स्ट्रिंग वर्ग की विधि स्टिंग मान को एक पैरामीटर के रूप में स्वीकार करती है, यह सत्यापित करती है कि क्या वर्तमान स्ट्रिंग ऑब्जेक्ट में निर्दिष्ट स्ट्रिंग है और यदि यह करता है तो सही है (अन्यथा गलत)। इसलिए, एक ArrayList में एक स्ट्रिंग के लिए - सरणी सूची प्राप्त करें। प्र

  1. जावा में किसी विशिष्ट शब्द के लिए स्ट्रिंग में शब्दों का विश्लेषण कैसे करें?

    जावा में कई विधियाँ हैं जिनका उपयोग करके आप किसी विशिष्ट शब्द के लिए स्ट्रिंग में शब्दों का विश्लेषण कर सकते हैं। यहां हम उनमें से 3 पर चर्चा करने जा रहे हैं। इसमें शामिल हैं () विधि स्ट्रिंग वर्ग की शामिल () विधि वर्ण मान के अनुक्रम को स्वीकार करती है और सत्यापित करती है कि यह वर्तमान स्ट्रिंग में

  1. जावा में स्ट्रिंग को कैसे सत्यापित किया जा सकता है (अक्षर के लिए)?

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