डेटा टाइप्स (Data Types)

जावा में प्रत्येक वेरिएबल का एक डेटा टाइप होता है। डेटा टाइपए वेरिएबल में स्टोर होने वाली वैल्यू के प्रकार तथा साईज़ को प्रदर्शित करते हैं. जावा में निम्न प्रकार के डेटा टाइप होते हैं -

Type Size Minimum Value Maximum Value Default Value
byte 1 byte -128 127 0
short 2 bytes -32768 32767 0
int 4 bytes -2147483648 2147483647 0
long 8 bytes -223372036854775808 9223372036854775807 0L
float 4 bytes 3.4e-038 3.4e+038 0.0f
double 8 bytes 1.7e-308 1.7e+308 0.0d
char 2 bytes -32768 32767 null
boolean 1 bit true/false false

निम्न उदाहरण में इन्टिजर डेटा टाइप को समझाया गया है:

public class Main
{
    public static void main(String[] args)
    {
        byte b = 127;
        short s = 32767;
        int i = 2147483647;
        long l = 9223372036854775807L;

        System.out.println("Byte value: " + b);
        System.out.println("Short value: " + s);
        System.out.println("Int value: " + i);
        System.out.println("Long value: " + l);
    }
}

Output:

Byte value: 127
Short value: 32767
Int value: 2147483647
Long value: 9223372036854775807

निम्न उदाहरण में फ्लोटिंग पॉइंट डेटा टाइप को समझाया गया है:

public class Main
{
    public static void main(String[] args)
    {
        float f = 3.14F;
        double d = 11.9;

        System.out.println("Float value: " + f);
        System.out.println("Double value: " + d);
    }
}

Output:

Float value: 3.14
Double value: 11.9

निम्न उदाहरण में करैक्टर व् बूलियन डेटा टाइप को समझाया गया है:

public class Main
{
    public static void main(String[] args)
    {
        char ch = 'I';
        boolean b = true;

        System.out.println("Character value: " + ch);
        System.out.println("Boolean value: " + b);
    }
}

Output:

Character value: I
Boolean value: true

वेरिएबल को डिक्लेयर करना ((Declaring Variables))

जावा में वेरिएबल को निम्न प्रकार से डिक्लेयर किया जा सकता है-

int max;
float pi;

वेरिएबल में वैल्यू स्टोर करना (Storing Value in Variable)

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

int x = 10;

    या

int x;
x = 10;

डेटा टाइप परिवर्तन (Type Casting)

किसी लाॅजिक पर कार्य करते समय हमें किसी एक्सप्रेशन में डेटा टाइप को परिवर्तित (convert) करने की आवश्यकता पड़ सकती है। जावा में यह परिवर्तन कुछ स्थितियों में स्वयं (implicit) हो जाता है तथा कुछ स्थितियों में यूज़र को (explicit) करवाना पड़ता है।

Implicit परिवर्तन

ऐसी स्थिति में कंपाइलर दिए गए एक्सप्रेशन के अवयवों के डेटा टाइप स्वतः परिवर्तित कर देता है। ऐसी स्थिति में यूज़र को कुछ भी करने की आवश्यकता नहीं होती है। निम्न उदाहरण देखेंः

double a = 175;

उपरोक्त उदाहरण में में 175 का डेटा टाइप int है तथा यह वैल्यू वेरिएबल a में स्टोर करवाई जा रही है, जिसका डेटा टाइप double है। ऐसी स्थिति में चूँकि double मैमोरी में अधिक स्पेस लेता है, अतः 175 का डेटा टाइप स्वतः double हो जाएगा। यहां implicit डेटा टाइप परिवर्तन हुआ है।

int b = 123.45f;

उपरोक्त उदाहरण में float वैल्यू 123.45 को वेरिएबल b में स्टोर करवाया जा रहा है किन्तु int मैमोरी में कम स्पेस लेता है, अतः यहां implicit टाइप परिवर्तन नहीं हो पाएगा।

ध्यान दें कि जावा strongly typed लैंग्वेज है, जिसमें float को int में, int को byte में, double को float में परिवर्तित नहीं किया जा सकता है। यदि ऐसा परिवर्तन करने की कोशिष की जाती है तो जावा कंपाइलर एरर प्रदर्शित करता है।

कम मैमोरी घेरने वाले डेटा टाइप से अधिक मैमोरी घेरने वाले डेटा टाइप में परिवर्तन जावा में संभव है, जिसे widening या promotion भी कहा जाता है।

float c = 15 + 7.5f;

उपरोक्त में 15 एक int तथा 7.5 एक float है, अतः पहले 15 स्वयं float में परिवर्तित होगा, फिर दोनों संख्याआं का योग c में स्टोर कर दिया जाएगा।

Explicit परिवर्तन

इस प्रकार का परिवर्तन यूज़र अपनी आवश्यकतानुसार करता है। इसे टाइप कास्टिंग भी कहा जाता है। उदाहरण के लिएः

int b = 123.45f;

स्टेटमेंट को जब कंपाइल किया जाएगा तो कंपाइलर एरर प्रदर्शित करेगा, किन्तु इसी कार्य को निम्न प्रकार भी किया जा सकता हैः

int b = (int)123.45f;

इस स्थिति में 123.45f से पूर्व (int) लगा देने से 123.45f पहले int में परिवर्तित होकर 123 रह जाएगा और वेरिएबल b में स्टोर हो जाएगा। इस प्रकार यह कहा जा सकता है कि डेटा टाइप परिवर्तन का प्रारूप निम्न प्रकार हैः

(datatype after casting) variable/constant
int a;
a = 261;
byte c = (byte)a;

उपरोक्त में a की वैल्यू byte में परिवर्तित होकर c में स्टोर हो जाएगी। ध्यान देने वाली बात यह है कि चूंकि 261 byte डेटा टाइप की रेंज में स्टोर नहीं हो पाएगा, अतः स्टोर होने वाली वैल्यू 261%256=5 होगी। यह वैल्यू (5) वेरिएबल c में स्टोर हो जाएगी। यहां 256 byte डेटा टाइप की रेंज है।

ध्यान दें कि byte और short डेटा टाइप पहले int में स्वतः परिवर्तित हो जाते हैं, फिर एक्सप्रेशन हल होता है। इस कारण से यदिः

short a = 200, b = 5;
short c = (short)(a + b);

उपरोक्त एक्सप्रेशन में (a+b) का परिणाम 205 का डेटा टाइप int है, उसे पहले short में explicitly परिवर्तित करते हुए c में सफलतापूर्वक स्टोर करवाया जा सकता है।

सुझाव / कमेंट