Type Casting in Java in Hindi

Last Updated on February 26, 2023 by RAJENDRAPRASAD

Type Casting in Java in Hindi – Hello दोस्तों rajhindime.in में आपका स्वागत है |

दोस्तों, पिछले post Stream API in java in Hindi में आपने stream API क्या है, उसे कैसे use करते हैं , उसके results को कैसे store करते हैं और उसके बहुत सारे important methods जैसे filter(), map(), min(), max(), sorted()  इत्यादि के बारे में विस्तार से जाना |

आज के इस post Type Casting in Java in Hindi में आप Type Casting के बारे में विस्तार से जानेंगे |

Type Casting के बारे में discuss करने से पहले आइए, हम अपने शुरुआती school के दिनों को याद करें जब, हमने पहली बार जोड़ (Addition), घटाना (Subtraction) सीखा |

मान लो, हमें 323 और 43 को जोड़ना है, तब हम क्या करते थे ?

यहाँ 323 में तीन अंक (digit) है अर्थात इसमें इकाई, दहाई और सैकड़ा है | जबकि 43 में सिर्फ दो अंक अर्थात केवल इकाई और दहाई ही है |

अब हमें 3 अंक और 2 अंक को साथ में जोड़ना है, अब क्या करे ?

जैसे हमें सिखाया गया था कि, जब भी हमें ज्यादा अंको वाली संख्या को, कम अंको वाली संख्या में जोड़ना हो, तब हमें कम अंको वाली संख्या को ज्यादा अंको वाली संख्या में बदलना चाहिए, उसके बाद ही उन्हें जोड़ना चाहिए |

इस तरह हमने 43 (जो कि दो अंको की है), उसे 043 (जो कि तीन अंको की है) में बदल दिया |

उसके बाद 323 और 043 को जोड़ दिया, जिससे हमें 366 प्राप्त हुआ |

ध्यान दो, जब हम manually जोड़ रहे हैं तब, हम 323+043 कर रहे हैं,

परन्तु यदि यही हमें calculator me जोड़ना हो तो हम 323+43 type करते हैं, फिर भी result 366 ही आता है, क्योकि यहाँ calculator की जो programming हुई है, उसमें 43 को 043 में automatically (implicitly) बदल दिया गया |

ठीक इसी तरह java में भी होता है |

Type casting in Java:

यहाँ Type का अर्थ है Data type और Casting का अर्थ है बदलाव (conversion) |

जब java में एक data type को किसी दूसरे data type में convert किया जाता है, तब उसे Type Casting अथवा Type Conversion कहते हैं |

Types of Casting in Java:

Java में मुख्यतः दो प्रकार की Casting होती है |

1. Implicit type casting

2. Explicit type casting

आइए, अब एक-एक करके इन्हें समझें |

Implicit Type casting:

जब small data type को किसी big data type में convert/cast किया जाता है, तब उसे Implicit Type casting कहते हैं |

इसे Implicit Type Casting इसलिए कहते हैं, क्योकि यह कार्य Java Compiler के द्वारा automatically कर दिया जाता है, इसे किसी programmer द्वारा manually नहीं करना पड़ता (code नहीं लिखना पड़ता ) |

Data types की size को जानने के लिए यहाँ पढ़े |

Program 1:

public class TypeCastingDemo1 {

	public static void main(String[] args) {
		int i = 'a';
		int j = 'b';
		System.out.println(i);
		System.out.println(j);
	}
}

OutPut:

97
98

Explanation :

ऊपर के program 1 में, जब हमने i और j को print कराया तो हमें 97 और 98 मिला, जबकि हमने i तथा j में char a और char b assign किया था |

ध्यान दो, यहाँ compiler ने char data type को int data type में convert कर दिया |

चूँकि char a की ASCII value 97 है इसलिए i में 97 store हुआ, और वही value print भी हुआ | ठीक उसी तरह char b की ASCII value 98 है |

Program 2:

public class TypeCastingDemo1 {

	public static void main(String[] args) {
		int i = 10;
		float f = i;
		System.out.println("value of i is : " + i);
		System.out.println("value of f is : " + f);
	}
}

OutPut:

value of i is : 10
value of f is : 10.0

Explanation :

ऊपर के program 2 में, float variable f में variable i assign किया जो कि int data type का है | ऐसा करने पर java compiler ने तुरंत int value को float value में convert/cast कर दिया |

ऊपर के दोनों programs में हमने देखा कि, किस तरह compiler automatically small data type को big data type में cast कर देता है |

ध्यान दो, implicit casting के लिए Compiler जिम्मेदार (responsible) होता है |

चूँकि, implicit casting में data type small से big हो जाता है, इसलिए इसे Widening Type Casting अथवा Upcasting भी कहते हैं |

Implicit casting में data का कोई loss नहीं होता | आप इसे इस तरह समझें जैसे, किसी छोटे box को किसी बड़े box में डाल दे तो वह आराम से उसमें समा जाता है कोई नुकसान नहीं होता |

आइए अब देखते हैं कि java के primitive data type में कौन-कौन से possible conversion हो सकते हैं, जहाँ implicit type casting perform हो सकता है |

Implicit Type Casting in Java

जैसा कि ऊपर image में दिखाया गया है, जब भी हम left की data type se right की  data type की तरफ जाएंगे तब implicit conversion होगा |

Implicit casting automatically होता है परन्तु, कभी-कभी कुछ इस तरह की casting होती है जिसे programmer द्वारा explicitly perform करना पड़ता है |

आइए इसे जानें |

Explicit type casting:

जब भी किसी big data type को किसी small data type में बदलना चाहते हैं, तब हमें compile time error मिलता है, क्योकि यह compiler द्वारा automatically perform नहीं होता |

By default, इसे compiler कभी भी allow नहीं करता | इस स्थिति में programmer को explicitly इसे code के द्वारा करना पड़ता है |

Program 3:

public class TypeCastingDemo1 {

	public static void main(String[] args) {
		float f = 3.456f;
		int i = f;

		System.out.println("value of i is : " + i);
	}
}

OutPut:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
	Type mismatch: cannot convert from float to int

	at com.typecasting.TypeCastingDemo1.main(TypeCastingDemo1.java:5)

Explanation :

ऊपर के program 3 में, हमने int i में, float f की value को assign करने की कोशिश की है |

चूँकि यहाँ float (जो कि big datatype है ) को हम int (जो कि small data type है ) में assign करना चाह रहे हैं इसलिए, यहाँ compile time error मिला |

अब ऊपर program 3 में, line 5 को नीचे दिए गए code से replace करो |

int i = (int) f;

OutPut:

value of i is : 3

Explanation :

यहाँ हमें f की value को, explicitly f के पहले (int) लगाकर इसे int data type में बदलना पड़ा |

ध्यान दो, explicit type casting में हम big data type को small datatype में बदलते हैं, इसलिए इसे Narrowing Type Castingअथवा down casting भी कहते हैं |

Explicit Casting safe नहीं होता, क्योकि इसमें big data type को small data type में बदला जाता है, इसलिए इसमें data के loss होने का खतरा हमेशा बना रहता है | इसे आप इस तरह समझ सकते हो कि किसी बड़े box को किसी छोटे box में जबरदस्ती डालना |

Data loss को आप ऊपर के output द्वारा भी समझ सकते हो, पहले value 3.456 थी और बाद में सिर्फ 3 रह गई |

आइए अब देखते हैं कि java के primitive data type में कौन-कौन से possible conversion हो सकते हैं, जहाँ Explicit type casting perform हो सकता है |

Explicit Type Casting in Java

जैसा कि ऊपर image में दिखाया गया है जब भी हम right वाले data type se left वाले data type की तरफ जाएँगे तो Explicit conversion होगा |

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

इस post में आपने जाना कि Type Casting क्या है, उसके कितने types हैं ? उसे कैसे use करते हैं इत्यादि के बारे में जाना |

आशा है कि, आपको मेरा यह Blog Type Casting in java in hindi, जरूर पसंद आया होगा |

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

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

इन्हें भी पढ़े |

Java में Object Type Casting क्या है ?

Leave a Comment