स्ट्रिंग्स क्या हैं?
शाब्दिक शब्दों में एक स्ट्रिंग पात्रों की एक श्रृंखला है। अरे, क्या आपने वर्ण कहा है, यह जावा में एक आदिम डेटा प्रकार नहीं है। हां, तो तकनीकी शब्दों में, मूल जावा स्ट्रिंग मूल रूप से वर्णों की एक सरणी है।
तो " रॉस " के मेरे उपरोक्त तार को निम्नलिखित के रूप में दर्शाया जा सकता है -
इस ट्यूटोरियल में, आप सीखेंगे-
- स्ट्रिंग्स क्या हैं?
- स्ट्रिंग्स का उपयोग क्यों करें?
- स्ट्रिंग सिंटेक्स उदाहरण
- स्ट्रिंग कॉनटेनटेशन
- महत्वपूर्ण जावा स्ट्रिंग विधियाँ
स्ट्रिंग्स का उपयोग क्यों करें?
आधुनिक कंप्यूटर विज्ञान के प्राथमिक कार्यों में से एक, मानव भाषा का प्रसंस्करण है।
इसी तरह गणित के लिए नंबर कितने महत्वपूर्ण हैं, भाषा के प्रतीक अर्थ और निर्णय लेने के लिए महत्वपूर्ण हैं। यद्यपि यह कंप्यूटर उपयोगकर्ताओं के लिए दृश्यमान नहीं हो सकता है, कंप्यूटर पृष्ठभूमि और कैलकुलेटर के रूप में सटीक रूप से भाषा की प्रक्रिया करता है। मदद संवाद निर्देश प्रदान करते हैं। मेनू विकल्प प्रदान करते हैं। और डेटा डिस्प्ले भाषा की स्थिति, त्रुटियों और वास्तविक समय में परिवर्तन दिखाता है।
एक जावा प्रोग्रामर के रूप में, भाषा को संग्रहीत करने और संसाधित करने के लिए आपका एक मुख्य उपकरण स्ट्रिंग क्लास होने जा रहा है।
स्ट्रिंग सिंटेक्स उदाहरण
अब, कुछ सिंटैक्स पर आते हैं, आखिरकार, हमें जावा कोड में यह लिखने की आवश्यकता नहीं है।
स्ट्रिंग वर्णों का एक समूह है, जिसका प्रतिनिधित्व इस प्रकार है:
//String is an array of characterschar[] arrSample = {'R', 'O', 'S', 'E'};String strSample_1 = new String (arrSample);
तकनीकी शब्दों में, स्ट्रिंग को उपरोक्त उदाहरण में निम्नानुसार परिभाषित किया गया है-
= new (argument);
अब हम हमेशा अपने स्ट्रिंग्स को सरणियों के रूप में नहीं लिख सकते हैं; इसलिए हम जावा में स्ट्रिंग को इस प्रकार परिभाषित कर सकते हैं:
//Representation of StringString strSample_2 = "ROSE";
तकनीकी शब्दों में, उपरोक्त का प्रतिनिधित्व इस प्रकार है:
= ;
स्ट्रिंग कक्षा जावा फैली वस्तु वर्ग।
स्ट्रिंग संघनन:
दो या दो से अधिक तार जुड़ रहे हैं।
नीचे तस्वीर पर एक नजर है-
हमारे पास दो स्ट्रिंग्स हैं str1 = "रॉक" और str2 = "स्टार"
यदि हम इन दो तारों को जोड़ते हैं, तो हमें str3 = "रॉकस्टार" के रूप में परिणाम होना चाहिए।
नीचे दिए गए कोड स्निपेट की जांच करें, और यह दो तरीकों की व्याख्या करता है जैसे कि स्ट्रिंग समवर्ती।
पहला स्ट्रिंग क्लास के " कॉनकट " पद्धति का उपयोग कर रहा है और दूसरा अंकगणितीय "+" ऑपरेटर का उपयोग कर रहा है। दोनों एक ही आउटपुट में परिणाम
सार्वजनिक वर्गसार्वजनिक स्थैतिक शून्य main (String [] args){// स्ट्रिंग कॉनटेनटेशनस्ट्रिंग str1 = "रॉक";स्ट्रिंग str2 = "स्टार";// विधि 1: समतल का उपयोग करनास्ट्रिंग str3 = str1.concat (str2);System.out.println (str3);// विधि 2: "+" ऑपरेटर का उपयोग करनास्ट्रिंग str4 = str1 + str2;System.out.println (str4);}}
महत्वपूर्ण जावा स्ट्रिंग विधियाँ:
चलो जावा स्ट्रिंग कक्षा से कुछ प्रश्न पूछें और देखें कि क्या यह उनका उत्तर दे सकता है;)
स्ट्रिंग "लंबाई" विधि
आप दिए गए स्ट्रिंग की लंबाई कैसे निर्धारित करेंगे? मैंने "लंबाई" नामक एक विधि प्रदान की है। इसका उपयोग उस स्ट्रिंग के विरुद्ध करें, जिसकी आपको लंबाई खोजने की आवश्यकता है।
सार्वजनिक वर्गसार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {// इस ट्यूटोरियल के लिए हमारा नमूना स्ट्रिंगस्ट्रिंग str_Sample = "रॉकस्टार";// एक स्ट्रिंग की लंबाईSystem.out.println ("स्ट्रिंग की लंबाई: + str_Sample.length ());};
आउटपुट:
Length of String: 8
स्ट्रिंग "indexOf" विधि
यदि मुझे लंबाई पता है, तो मुझे कैसे पता चलेगा कि कौन सा चरित्र किस स्थिति में है? संक्षेप में, मैं किसी वर्ण का सूचकांक कैसे खोजूंगा?
आपने अपने आप को उत्तर दिया, दोस्त, एक "इंडेक्सऑफ" विधि है जो आपको निर्दिष्ट विशिष्ट चरित्र के स्थान को निर्धारित करने में मदद करेगी।
सार्वजनिक वर्गसार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {// स्थिति में चरित्रस्ट्रिंग str_Sample = "रॉकस्टार";System.out.println ("स्थिति 5 पर वर्ण: + str_Sample.charAt (5));// किसी दिए गए चरित्र का सूचकांकSystem.out.println ("वर्ण का सूचकांक 'S': + str_Sample.indexOf ('S'));};
आउटपुट:
Character at position 5: tIndex of character 'S': 4
स्ट्रिंग "charAt" विधि
उपरोक्त प्रश्न के समान, सूचकांक को देखते हुए, मुझे उस स्थान पर चरित्र कैसे पता चलेगा?
सरल फिर से !! "CharAt" विधि का उपयोग करें और वह इंडेक्स प्रदान करें जिसका वर्ण आपको खोजने की आवश्यकता है।
सार्वजनिक वर्गसार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {// स्थिति में चरित्रस्ट्रिंग str_Sample = "रॉकस्टार";System.out.println ("स्थिति 5 पर वर्ण: + str_Sample.charAt (5));};
आउटपुट:
Character at position 5: t
स्ट्रिंग "तुलना करें" विधि
क्या मैं जांचना चाहता हूं कि क्या स्ट्रिंग कुछ विधि द्वारा उत्पन्न की गई थी जो उस चीज के बराबर है जिसे मैं सत्यापित करना चाहता हूं? मैं दो स्ट्रिंग्स की तुलना कैसे करूं?
"तुलना" विधि का उपयोग करें और उस स्ट्रिंग को निर्दिष्ट करें जिसे आप तुलना करना चाहते हैं।
यदि आप परिणाम को संवेदनशील नहीं होना चाहते हैं, तो "ComparToIgnoreCase" का उपयोग करें।परिणाम में मान 0 होगा यदि तर्क स्ट्रिंग इस स्ट्रिंग के बराबर है; 0 से कम मान यदि यह स्ट्रिंग स्ट्रिंग तर्क की तुलना में बहुत कम है; और यदि मान इस स्ट्रिंग स्ट्रिंग तर्क से lexicographically अधिक से अधिक 0 से अधिक है।
सार्वजनिक वर्गसार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {// एक स्ट्रिंग की तुलना करेंस्ट्रिंग str_Sample = "रॉकस्टार";System.out.println ("'ROCKSTAR' की तुलना करें: + str_Sample.compareTo ("रॉकस्टार"));// तुलना - मामले पर ध्यान न देंSystem.out.println ("'ROCKSTAR' से तुलना करें - केस अनदेखा: + str_Sample.compareToIgnoreCase ("ROCKSTAR"));};}
आउटपुट:
Compare To 'ROCKSTAR': -32Compare To 'ROCKSTAR' - Case Ignored: 0
स्ट्रिंग "कंटेनर" विधि
मुझे आंशिक रूप से पता है कि स्ट्रिंग में क्या होना चाहिए, मैं कैसे पुष्टि करूं कि स्ट्रिंग में मेरे द्वारा निर्दिष्ट वर्णों का अनुक्रम है?
"समाहित" विधि का उपयोग करें और उन वर्णों को निर्दिष्ट करें जिनकी आपको जांच करने की आवश्यकता है।
यह स्ट्रिंग के चार मूल्यों का निर्दिष्ट अनुक्रम सम्मिलित है और केवल तभी लौटाता है ।सार्वजनिक वर्गसार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {// जाँच करें कि क्या स्ट्रिंग में कोई अनुक्रम हैस्ट्रिंग str_Sample = "रॉकस्टार";System.out.println ("इसमें अनुक्रम 'टार' है: + str_Sample.contains ("" ");}}};
आउटपुट:
Contains sequence 'tar': true
स्ट्रिंग "समाप्त होता है" विधि
अगर कोई स्ट्रिंग एक विशेष प्रत्यय के साथ समाप्त होती है तो मैं कैसे पुष्टि करूं? फिर से आपने इसका जवाब दिया। "एंड" के साथ विधि का उपयोग करें और तर्कों में प्रत्यय निर्दिष्ट करें।
यह सत्य है कि यदि तर्क द्वारा दर्शाया गया वर्ण अनुक्रम इस वस्तु द्वारा प्रस्तुत वर्ण अनुक्रम का एक प्रत्यय है।सार्वजनिक वर्गसार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {// जांचें कि क्या किसी विशेष अनुक्रम के साथ समाप्त होता हैस्ट्रिंग str_Sample = "रॉकस्टार";System.out.println ("EndsWith वर्ण 'r': + str_Sample.endsWith ("r"));};
आउटपुट:
EndsWith character 'r': true
स्ट्रिंग "ReplaceAll" और "प्रतिस्थापन" विधि
मैं अपनी स्ट्रिंग को कई स्थानों पर संशोधित करना चाहता हूं और स्ट्रिंग के कई हिस्सों को बदलना चाहता हूं?
जावा स्ट्रिंग रिप्लेस, रीप्लेसएल और रीप्लेसफर्स्ट मेथड्स। आप स्ट्रिंग का वह भाग निर्दिष्ट कर सकते हैं जिसे आप बदलना चाहते हैं और स्ट्रिंग को तर्क में बदलना चाहते हैं।
सार्वजनिक वर्गसार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {// रॉक को ड्यूक शब्द से बदलेंस्ट्रिंग str_Sample = "रॉकस्टार";System.out.println ("बदलें 'रॉक' 'ड्यूक' के साथ: + str_Sample.replace ("रॉक", "ड्यूक"));}};
आउटपुट:
Replace 'Rock' with 'Duke': DukeStar
स्ट्रिंग जावा "tolowercase" और जावा "touppercase" विधि
मैं चाहता हूं कि मेरा पूरा स्ट्रिंग निचले मामले या अपरकेस में दिखाया जाए?
स्ट्रिंग्स के विरुद्ध "toLowercase ()" या "ToUpperCase ()" विधियों का उपयोग करें जिन्हें परिवर्तित करने की आवश्यकता है।
सार्वजनिक वर्गसार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {// लोअरकेस में कनवर्ट करेंस्ट्रिंग str_Sample = "रॉकस्टार";System.out.println ("लोवरकेस में कनवर्ट करें: + str_Sample.toLowerCase ());// अपरकेस में कनवर्ट करेंSystem.out.println ("अपरकेस में कनवर्ट करें: + str_Sample.toUpperCase ();})}
आउटपुट:
Convert to LowerCase: rockstarConvert to UpperCase: ROCKSTAR
नोट करने के लिए महत्वपूर्ण बिंदु:
- स्ट्रिंग एक अंतिम वर्ग है ; अर्थात एक बार बनाया गया मूल्य परिवर्तित नहीं किया जा सकता है। इस प्रकार स्ट्रिंग वस्तुओं को अपरिवर्तनीय कहा जाता है।
- जावा वर्चुअल मशीन (JVM) विशेष रूप से स्ट्रिंग्स कॉन्स्टेंट पूल नामक स्ट्रिंग्स के लिए एक मेमोरी स्थान बनाता है । इसलिए स्ट्रिंग को 'नए' कीवर्ड के बिना आरंभ किया जा सकता है।
- स्ट्रिंग वर्ग java.lang.String पदानुक्रम के अंतर्गत आता है । लेकिन इस वर्ग को आयात करने की कोई आवश्यकता नहीं है। जावा प्लेटफ़ॉर्म उन्हें स्वचालित रूप से प्रदान करता है।
- स्ट्रिंग के संदर्भ को ओवरराइड किया जा सकता है लेकिन यह सामग्री को नष्ट नहीं करता है ; यानी, अगर
स्ट्रिंग h1 = "हैलो";
h1 = "हैलो" + "दुनिया";
तब "हैलो" स्ट्रिंग नष्ट नहीं होती है। यह सिर्फ अपना हैंडल खो देता है।
- एक ही स्ट्रिंग के लिए कई संदर्भों का उपयोग किया जा सकता है लेकिन यह उसी स्थान पर होगा ; यानी, अगर
स्ट्रिंग h1 = "हैलो";
स्ट्रिंग h2 = "हैलो";
स्ट्रिंग h3 = "हैलो";
फिर स्ट्रिंग "हैलो" के लिए केवल एक पूल 3 संदर्भों-एच 1, एच 2, एच 3 के साथ मेमोरी में बनाया गया है
- यदि किसी संख्या को "" में उद्धृत किया जाता है तो यह एक स्ट्रिंग बन जाती है , अब कोई संख्या नहीं। इसका मतलब है कि अगर
स्ट्रिंग S1 = "संख्या है: + "123" + "456";
प्रणाली। आउट .println (S1);
फिर यह प्रिंट होगा: संख्या है: 123456
यदि इनिशियलाइज़ेशन इस तरह है:
स्ट्रिंग S1 = "संख्या है: + (123 + 456);
प्रणाली। आउट .println (S1);
तब यह प्रिंट होगा: संख्या है: 579 यह सब स्ट्रिंग्स के लिए है!