हां, यह केवल संदर्भ बनाता है, जो उनके डिफ़ॉल्ट मान शून्य पर सेट होते हैं। यही कारण है कि आपको एक NullPointerException मिलती है। आपको अलग से ऑब्जेक्ट बनाने और संदर्भ असाइन करने की आवश्यकता होती है। जावा में सरणियाँ बनाने के लिए 3 चरण हैं -
घोषणा - इस चरण में, हम डेटा प्रकार और उस सरणी के आयामों को निर्दिष्ट करते हैं जो हम बनाने जा रहे हैं। लेकिन याद रखें, हम अभी तक आयामों के आकार का उल्लेख नहीं करते हैं। उन्हें खाली छोड़ दिया जाता है।
तत्काल - इस चरण में, हम सरणी बनाते हैं, या नए कीवर्ड का उपयोग करके सरणी के लिए मेमोरी आवंटित करते हैं। यह इस चरण में है कि हम सरणी आयामों के आकारों का उल्लेख करते हैं।
इनिशियलाइज़ेशन - सरणी हमेशा डेटा प्रकार के डिफ़ॉल्ट मान के लिए आरंभिक होती है। लेकिन हम अपनी शुरुआत खुद कर सकते हैं।
जावा में ऐरे की घोषणा
इस तरह हम जावा में एक आयामी आयाम की घोषणा करते हैं -
int[] array;
int array[];
Oracle अनुशंसा करता है कि आप सरणियों को घोषित करने के लिए पूर्व सिंटैक्स का उपयोग करें। यहाँ कानूनी घोषणाओं के कुछ अन्य उदाहरण हैं -
// One Dimensional Arrays
int[] intArray; // Good
double[] doubleArray;
// One Dimensional Arrays
byte byteArray[]; // Ugly!
long longArray[];
// Two Dimensional Arrays
int[][] int2DArray; // Good
double[][] double2DArray;
// Two Dimensional Arrays
byte[] byte2DArray[]; // Ugly
long[] long2DArray[];
और ये अवैध घोषणाओं के कुछ उदाहरण हैं -
int[5] intArray; // Don't mention size!
double{} doubleArray; // Square Brackets please!
प्रारंभ
इस प्रकार हम एक सरणी के लिए "तत्काल" या स्मृति आवंटित करते हैं -
int[] array = new int[5];
जब JVM new
कीवर्ड का सामना करता है , तो यह समझता है कि उसे किसी चीज़ के लिए मेमोरी आवंटित करनी चाहिए। और निर्दिष्ट करके int[5]
, हमारा मतलब है कि हम int
आकार की एक सरणी चाहते हैं । 5।int[]
प्रारंभ
लूप का उपयोग करना - किसी ऐरे के तत्वों को इनिशियलाइज़ करने के लिए लूप के लिए उपयोग करना ऐरे को प्राप्त करने का सबसे आम तरीका है। यदि आप डिफ़ॉल्ट मान को असाइन करने जा रहे हैं, तो लूप के लिए चलाने की कोई आवश्यकता नहीं है, क्योंकि JVM आपके लिए ऐसा करता है।
ऑल - इन - वन..! - हम अपने ऐरे को डिक्लेयर, इंस्टेंट और इनिशियलाइज़ कर सकते हैं। यहाँ वाक्य रचना है -
int[] arr = {1, 2, 3, 4, 5};
यहाँ, हम आकार का उल्लेख नहीं करते हैं, क्योंकि JVM देख सकता है कि हम 5 मान दे रहे हैं।
इसलिए, जब तक हम संदर्भों को तत्काल शून्य नहीं कर देते हैं। मुझे उम्मीद है कि मेरे जवाब ने आपकी मदद की है ..! :)