Non-Primitive Data Types in Java in Hindi

Last Updated on August 3, 2022 by RAJENDRAPRASAD

Non-Primitive Data Types in Java in Hindi – Hello दोस्तों rajhindime.in में आपका स्वागत है |

दोस्तों, पिछले पोस्ट – Data Types in Java in Hindi  में आपने Data Types तथा Primitive Data Types के बारे में  विस्तृत जानकारी प्राप्त की | आज के इस पोस्ट Non-Primitive Data Types in Java in Hindi  में – आप Non-Primitive Data Types के बारे में विस्तार से जानेंगे |

जैसा की आप जानते हैं कि Java में Data type दो  प्रकार के होते हैं | Primitive Data Types और Non-Primitive Data Types  

Primitive Data Types  वे Data Type  हैं, जिनका उपयोग programmer, अपने program में variable को declare करने के दौरान करता है | यह pre-defined होते हैं | इनका उपयोग single value को store करने के लिए किया जाता है | यह एक ही type की value को store करते हैं |

उदाहरण के लिए,
  • int i = 10;
  • float f = 1.5F;
  • boolean b = true;
  • यहाँ int केवल single value 10 store कर रहा है | उसी तरह float भी single value 10.5 store कर रहा है | boolean भी एक समय में या तो true store कर सकता है या फिर false |

    Java में कुल 8 Primitive Data Types  हैं | वे सभी byte, short, int, long, float, double, boolean तथा char हैं |

    आइए अब हम Non-Primitive data types के बारे में विस्तार से जानें |

    String और Array को छोड़कर, सभी Non-primitive data type, programmer द्वारा create किए जाते हैं | अर्थात यह किस type की value को store करेंगे, यह program में defined होता हैं | यह primitive data type की तरह pre-defined नहीं होते |

    इनका उपयोग group of value अथवा  कई values को store करने के लिए किया जाता है |

    उदाहरण के लिए, Array यह group of values  को store कर सकता है | String यह कुछ और नहीं बल्कि group of characters है | ठीक उसी प्रकार, Class यह अलग-अलग कई values  को store कर सकता है | इन सभी खूबियों के कारण इन Data types को advance Data types भी कहते हैं |

    जब भी हम किसी non-primitive data type के variable को define करते हैं, तब यह उस memory location को reference करता हैं, जहाँ actual data, heap memory में store होता है |

    सरल शब्दों में कहें तो, non-primitive data type किसी actual value को store नहीं करता, बल्कि उस actual value के reference को store करता है | यह reference और कुछ नहीं बल्कि उस actual value का location address है, जहाँ वह store है |

    Real time Examples of Non-primitive data types in Java
    Naukri.com यह किसी भी नौकरी चाहनेवाले (candidate) को actual में job नहीं देता, बल्कि उसे job किस company में मिल सकता है, उसका reference (address और details) देता है |

    इन सब कारणों से non-primitive data type के variable को Java में referenced data type अथवा object reference variable भी कहते हैं |

    object reference variable हमेशा stack memory में स्थित होता है तथा यह जिस object को reference करता है वह heap memory में store होता है | stack, heap memory में उपस्थित object के reference को store करता है |

    इस तरह सभी non-primitive data types, heap memory में स्थित object को reference करते है, और आप जानते ही हैं कि, हर object किसी न किसी Class के instances होते हैं |

    variable में stored reference का उपयोग करके हम, उस object में स्थित fields तथा methods को आसानी से access कर सकते हैं |

    उदाहरण के लिए, java.lang.String यह Class जो Java library में defined हैं, इसका प्रयोग हम किसी भी text में हेर-फेर (manipulate) करने के लिए कर सकते हैं |

    non-primitive data type को declare कैसे करे ?

    String str;
    • यहाँ, String यह Class का name हैं
    • “str” यह reference variable का name है,
    • अभी तक हमने यहाँ कोई object create नहीं किया है |

    new keyword का use करके हम किसी भी Class का object create करते हैं | अब हम String Class का object create करेंगे जिसमे “Hello World” store है और फिर उसे reference variable “str” में assign कर देंगे |

    str = new String(“Hello World”);
    • यहाँ, “str” यह reference variable,
    • “new” यह special keyword है, जो memory create करता है,
    • String() यह Class का constructor है, जिसे object को initialize करने के लिए use किया जाता है,
    • “Hello World” यह value है, जो heap memory में stored है |

    object reference variable का declaration, object creation, तथा reference variable का initialization इन तीनों को single line statement में भी लिखा जा सकता है |

    String str = new String(“Hello World”);

    सरल शब्दों में कहें तो, String Class का object, heap memory में है, जिसमे “Hello World” stored है और “str” के अंदर इस heap memory का address/reference stored है | “str” यह stack memory में stored है |

    Object और Object Reference Variable का Memory Allocation

    Memory Allocation of Object and Object Reference Variables

    Non-primitive Data types के प्रकार

    Java में Non-primitive Data types के  कुल 4 types हैं |

    1. Class 2. Interface 3. String 4. Array

    इन चारों में से String और Array पहले से ही बने है अर्थात built-in इन है, अन्य दो Class और Interface programmer द्वारा बनाए जाते हैं |

    Types of Non-Primitive Data Types

    1. Class: यह blueprint की तरह कार्य करता है, objects के behavior को describe करने के लिए इसमें variables तथा methods बनाए जाते हैं | यह programmer द्वारा create किया जाता है, इसलिए Class को user-defined data type भी कहते हैं |

    2. Interface: इसके अंदर declared methods की body नहीं होती तथा इसके अंदर सारे variables final होते हैं | Interface और abstract Class के बारे में हम आने वाले posts में विस्तार से जानेंगे |

    3. String: यह भी एक Class ही है | यह sequence of characters को represent करता है जैसे, “India”, “RajHindiMe”

    4. Array: यह same types के multiple variables तो store करता है, ये variables primitive या non-primitive data type के हो सकते हैं |

    Difference between primitive and non-primitive data types

    Primitive Data TypesNon-Primitive Data Types
    Java में pre-defined है |String तथा Array को छोड़कर, अन्य सभी programmer द्वारा define किए जाते हैं |
    Lowercase letter से start होता है |Uppercase letter से start होता है |
    हमेशा कोई न कोई value जरूर होता है |Value जरुरी नहीं है, यह null भी हो सकता है |
    एक समय पर केवल एक ही value  store करता है |एक समय पर कई values को store कर सकता है, ये Values, same type अथवा different types के भी हो सकते हैं |
    method को call नहीं कर सकते |Operations को perform करने के लिए method को call किया जा सकता है |
    Size, data type पर depends और fixed होता है |Size fixed नहीं होता, run time में decide होता है |
    Actual value, stack memory में stored होती है |Stack memory केवल, heap memory में उपस्थित objects के reference को store करता है |

    Non-Primitive Data types का size fix क्यों नहीं होता ?

    आइए इसे example द्वारा समझे |

    Example 1:

    char ch = ‘A’;

    चूँकि char का default size 2 bytes है | इसलिए यहाँ variable ch, memory में 2 bytes का space occupy कर रहा है |

    String str = “Royal”

    जैसा की आप जानते है String यह collections of character होता है, अर्थात यह अलग-अलग char से मिलकर बनता है |

    यहाँ variable str में कुल 5 char है, अर्थात यहाँ 2 bytes के कुल 5 char है, जिससे इसका size 5*2 अर्थात 10 bytes हो जाता है |

    Programmer अपनी requirement के हिसाब से String में char की संख्या (number of char) कम अथवा ज्यादा कर सकता है |

    String str2 = “RajHindiMe”

    अब यहाँ variable str2 में कुल 10 char है, जिससे इसका size 10*2 अर्थात 20 bytes हो जाता है |

    Example 2:

    ठीक इसी तरह,

    int i = 10;

    चूँकि int का default size 4 bytes है, इसलिए यहाँ variable i, memory में 4 bytes का space occupy करेगा |

    अब मान लीजिये हमें int का Array declare करना है जिसकी size 3 हो,

    int a[] = new int[3];

    यह statement, memory में 3 size का Array declare करेगा, जिसमें हम केवल int value ही store कर सकते है, चूँकि इसमें हम 3 int value store कर सकते है इसलिए इसका size 4*3 bytes अर्थात 12 bytes हो गया |

    उसी प्रकार,

    int a[] = new int[4];

    लिखने पर, इसका size 16 bytes हो जायेगा |

    इस तरह Non-Primitive data types में जैसे- जैसे programmer, value की संख्या कम या ज्यादा करता है, variable का size उसी प्रकार कम- ज्यादा होता रहता है अर्थात size fix नहीं होता |

    आशा करता हूँ कि, अब आप समझ गए होंगे कि, Non-Primitive Data types का size fix क्यों नहीं होता ?

    Conclusion – आज आपने क्या सीखा

    इस post में आपने Non-Primitive Data Types तथा उसके विभिन्न types के बारे में विस्तृत जानकारी प्राप्त की | आशा है कि, आपको मेरा यह Blog Non-Primitive Data Types in Java in Hindi जरूर पसंद आया होगा |

    अगर आप इस post से related कोई सवाल पूँछना चाहते हैं अथवा कोई सुझाव देना चाहते हैं तो comment करके जरूर बताएं, मैं उसका reply जरूर दूँगा |

    इस post को अपना कीमती समय देने के लिए बहुत बहुत धन्यवाद् | फिर मिलेंगें |

    6 thoughts on “Non-Primitive Data Types in Java in Hindi”

      • Feedback ke liye dhanyavad Gaurav, main ese aage aane wale posts me jarur implement karunga .

        To be more specific, kya aap mujhe bta sakte hain ki kis program ko mujhe aur accche se explain karna chahiye ?

        Reply

    Leave a Comment