BCA / B.Tech 12 min read

Type Casting in Hindi

Type Casting in java in Hindi | जावा में टाइप कास्टिंग हिंदी में :


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

टाइप कास्टिंग (Type Casting) क्या है?

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

जावा में दो प्रकार की टाइप कास्टिंग होती है:

आटोमैटिक (स्वचालित) टाइप कास्टिंग या वाइडनिंग कास्टिंग (Widening Casting)
मैनुअल (संचालित) टाइप कास्टिंग या नैरोइंग कास्टिंग (Narrowing Casting)

आइए अब इन दोनों प्रकार की टाइप कास्टिंग को विस्तार से समझते हैं।

1. वाइडनिंग कास्टिंग (Widening Casting) :

वाइडनिंग कास्टिंग को आटोमैटिक कास्टिंग भी कहा जाता है क्योंकि यह जावा कंपाइलर द्वारा स्वचालित रूप से किया जाता है। इसमें छोटे डेटा प्रकार को बड़े डेटा प्रकार में बदला जाता है। इस कास्टिंग में डेटा हानि (loss of data) की संभावना नहीं होती है, क्योंकि छोटे प्रकार को बड़े प्रकार में बदलने से कोई डेटा नहीं खोता।

उदाहरण के लिए, int को long में या float को double में कास्ट करना वाइडनिंग कास्टिंग कहलाता है।

वाइडनिंग कास्टिंग का नियम :

छोटे डेटा प्रकार से बड़े डेटा प्रकार में कास्टिंग होती है। यह निम्न प्रकार से होती है:

byte → short → int → long → float → double
उदाहरण :
public class Main {
    public static void main(String[] args) {
        int myInt = 9;
        double myDouble = myInt; // वाइडनिंग कास्टिंग (स्वचालित)

        System.out.println(myInt);    // Output: 9
        System.out.println(myDouble); // Output: 9.0
    }
}
ऊपर के उदाहरण में, int प्रकार को double प्रकार में स्वचालित रूप से बदल दिया गया है। इस प्रकार के कास्टिंग में डेटा सुरक्षित रहता है और कोई भी जानकारी नहीं खोती।

वाइडनिंग कास्टिंग के उदाहरण :

  • int को long, float, या double में कास्ट करना।
  • char को int में कास्ट करना।
  • short को int या long में कास्ट करना।

2. नैरोइंग कास्टिंग (Narrowing Casting) :

नैरोइंग कास्टिंग को एक्सप्लिसिट (संचालित) कास्टिंग भी कहा जाता है क्योंकि यह प्रोग्रामर द्वारा मैन्युअली किया जाता है। इसमें बड़े डेटा प्रकार को छोटे डेटा प्रकार में बदला जाता है। नैरोइंग कास्टिंग में डेटा हानि की संभावना होती है क्योंकि बड़े डेटा प्रकार को छोटे प्रकार में बदलने पर डेटा कट सकता है या रूपांतरित हो सकता है।

नैरोइंग कास्टिंग का नियम :

यह कास्टिंग बड़े डेटा प्रकार से छोटे डेटा प्रकार में होती है और इसे मैन्युअली करना पड़ता है। इसका स्वरूप निम्नलिखित होता है:

double → float → long → int → short → byte
उदाहरण :
public class Main {
    public static void main(String[] args) {
        double myDouble = 9.78;
        int myInt = (int) myDouble; // नैरोइंग कास्टिंग (मैनुअल)

        System.out.println(myDouble);  // Output: 9.78
        System.out.println(myInt);     // Output: 9
    }
}
ऊपर के उदाहरण में, double प्रकार को int प्रकार में मैनुअल तरीके से बदला गया है। इस प्रक्रिया के दौरान दशमलव भाग (0.78) खो गया और केवल पूर्णांक (9) ही बचा।

नैरोइंग कास्टिंग के उदाहरण :

  • double को float, long, int, short, या byte में कास्ट करना।
  • long को int, short, या byte में कास्ट करना।

अन्य प्रकार की टाइप कास्टिंग :
जावा में उपरोक्त कास्टिंग के अलावा कुछ और प्रकार की कास्टिंग होती है जो कि विशेष रूप से ऑब्जेक्ट्स और रेफरेंस टाइप्स पर लागू होती है:

1. अपकास्टिंग (Upcasting) :

यह कास्टिंग तब होती है जब किसी सबक्लास के ऑब्जेक्ट को उसके सुपरक्लास के प्रकार में कास्ट किया जाता है। इसे स्वचालित रूप से किया जा सकता है क्योंकि यह सुरक्षित है।

उदाहरण:

class Animal {
    void sound() {
        System.out.println("Animal makes sound");
    }
}

class Dog extends Animal {
    void sound() {
        System.out.println("Dog barks");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal animal = new Dog();  // अपकास्टिंग
        animal.sound(); // Output: Dog barks
    }
}
2. डाउनकास्टिंग (Downcasting) :

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

उदाहरण:

Animal animal = new Dog();  // अपकास्टिंग
Dog dog = (Dog) animal;    // डाउनकास्टिंग
dog.sound();               // Output: Dog barks

कास्टिंग के दौरान होने वाली समस्याएं :

ClassCastException: यदि आप किसी ऑब्जेक्ट को गलत तरीके से कास्ट करते हैं, तो जावा आपको रनटाइम में ClassCastException देगा। यह तब होता
है जब आप एक ऑब्जेक्ट को ऐसे प्रकार में कास्ट करने की कोशिश करते हैं जो संगत नहीं होता है।

उदाहरण :

Animal animal = new Animal();
Dog dog = (Dog) animal;  // यह डाउनकास्टिंग सही नहीं है, क्योंकि `animal` वास्तव में `Dog` का ऑब्जेक्ट नहीं है।
इससे ClassCastException उत्पन्न होगी।

डेटा हानि: नैरोइंग कास्टिंग के दौरान डेटा हानि हो सकती है, जैसे कि बड़े डेटा प्रकार से छोटे प्रकार में कास्टिंग करते समय जानकारी खो जाती है। उदाहरण:

double myDouble = 9.99;
int myInt = (int) myDouble;  // दशमलव भाग (0.99) खो जाएगा
इसमें केवल पूर्णांक भाग (9) ही संरक्षित रहेगा और दशमलव भाग खो जाएगा।

Use of Type Casting In Java in Hindi  | टाइप कास्टिंग के उपयोग :

  • डेटा रूपांतरण: जब आपको अलग-अलग डेटा प्रकारों के साथ काम करना होता है, तो टाइप कास्टिंग का उपयोग किया जाता है। उदाहरण के लिए, आप किसी फ़्लोटिंग पॉइंट संख्या को पूर्णांक में बदलना चाहें तो आपको कास्टिंग की आवश्यकता होती है।
  • ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग में: अपकास्टिंग और डाउनकास्टिंग का उपयोग क्लासेस और इनहेरिटेंस के बीच संबंधों को बेहतर ढंग से हैंडल करने के लिए किया जाता है। इससे आप अधिक सामान्य प्रकार (सुपरक्लास) में कास्ट करके कोड को सरल बना सकते हैं।
  • कंप्यूटर मेमोरी का प्रबंधन: नैरोइंग कास्टिंग का उपयोग तब होता है जब कम मेमोरी की आवश्यकता होती है और आप जानते हैं कि बड़े डेटा प्रकार से छोटे प्रकार में कास्टिंग करने पर कोई महत्वपूर्ण डेटा हानि नहीं होगी।



In this Chapter

Type Casting in Hindi
BCA || Java 2024 Paper || MDSU Exam Paper
What is Java, Characteristics of Java - Java क्या है और जावा की विशेषताएं
Difference between Java and C++ in Hindi. (Java और C++ में अंतर )
Applications of Java Programming in Hindi
OOPS concepts in Java Hindi
What is JVM and JRE in hindi
Features of JAVA in hindi
What is Java bean in hindi & advantage in Hindi
Difference between Java and JavaScript in Hindi
JIT Compiler in Hindi
What is Control Statement (structure) in Hindi
What is variable in hindi (वेरिएबल क्या होता है?):-
Java URL Class in Hindi
What is Java swing and its methods in Hindi
Operators in Java in Hindi
Class & Method in Hindi
Inheritance in Java in Hindi | जावा में इनहेरिटेंस हिंदी में
instance Operator in Hindi
Token in Hindi
Data Types in Hindi
Constructor in Hindi
Object-Oriented-Design in Hindi
Conditional Operator in Hindi
Constant in Hindi
Reference Variable in Hindi
Literals in Hindi
Identifiers in Hindi
Array in Hindi
Anonymous Array in Hindi
Access Modifiers in Hindi
Enum Data type in Hindi
Keywords in Hindi-Java
Super Keywords in Hindi
Static Keywords in Hindi
Final Keywords in Hindi
New Operator in Hindi
Method Types in Hindi
Method Overloading in Hindi
Method Overriding in Hindi
Method Hiding in Hindi
Class & Object in Hindi
Diffrence Beetween Class & Object in Hindi
Math Class in Hindi
Abstraction in Hindi
Adapter Pattern in Hindi
Package in Hindi
Class & Structure in Java in Hindi
Exception Handling in Hindi