CodeGym /Java Blog /यादृच्छिक /जावा व्हेरिएबल्स
John Squirrels
पातळी 41
San Francisco

जावा व्हेरिएबल्स

यादृच्छिक या ग्रुपमध्ये प्रकाशित केले
या लेखात, आम्ही सर्व जावा शिकणाऱ्यांना Java व्हेरिएबल्स काय आहेत आणि त्यांच्यासोबत कसे कार्य करावे हे समजावून सांगणार आहोत.

Java व्हेरिएबल म्हणजे काय

जावामधील व्हेरिएबलचा बॉक्स म्हणून विचार केला जाऊ शकतो. या "बॉक्स" मध्ये एक विशिष्ट आकार आहे: त्यासाठी वाटप केलेली मेमरी. किती मेमरी वाटप केली जाईल हे व्हेरिएबलच्या प्रकारावर अवलंबून आहे, परंतु आपण याबद्दल थोड्या वेळाने बोलणार आहोत. त्याच वेळी, बॉक्सचा आकार त्याच्या निर्मितीनंतर बदलला जाऊ शकत नाही, परंतु सामग्री बदलू शकते. बॉक्स रिकामा असू शकतो. तुम्ही त्यात काही व्हॅल्यू "इन्सर्ट" करू शकता आणि नंतर काही व्हॅल्यू काढू शकता आणि टाकू शकता. अशा प्रकारे, व्हेरिएबल हे एक फील्ड आहे जे Java प्रोग्रामच्या अंमलबजावणी दरम्यान डेटा मूल्ये संग्रहित करते. या बॉक्समध्ये महत्त्वपूर्ण वैशिष्ट्ये आहेत:
  • त्यात नेहमी फक्त एकच मूल्य असू शकते (किंवा रिकामे असू शकते, अशा परिस्थितीत त्यात डीफॉल्ट मूल्य असेल),
  • यात डेटा प्रकार आहे. त्याचा आकार डेटाच्या प्रकारावर तसेच मेमरीच्या कोणत्या विशिष्ट क्षेत्रासाठी जागा वाटप केली आहे यावर अवलंबून असते (ते कुठे आहे).
जावामधील व्हेरिएबल्स - १

व्हेरिएबल्स कसे घोषित करावे

Java मध्ये व्हेरिएबल्स घोषित करण्यासाठी, तुम्हाला त्याचा प्रकार आणि नाव निर्दिष्ट करणे आवश्यक आहे. येथे तीन व्हेरिएबल्स घोषित करण्याचे उदाहरण आहे:

int myInt;
String s;
Object variableName;
येथे int , स्ट्रिंग आणि ऑब्जेक्ट डेटा प्रकार आहेत आणि myInt , s , variableName ही व्हेरिएबल नावे आहेत. प्रोग्रामच्या गरजेनुसार डेटा प्रकार निवडला जाणे आवश्यक आहे आणि नाव निवडणे चांगले आहे जेणेकरून ते कशाबद्दल आहे हे स्पष्ट होईल. अर्थात, नवशिक्यांसाठी ते तितकेसे कठोर नाही, परंतु मोठ्या प्रकल्पांमध्ये, 's' सारखी परिवर्तनीय नावे कोडची वाचनीयता खराब करू शकतात. त्यामुळे व्हेरिएबल्सला अशा प्रकारे नामकरण करण्याची सवय लावणे चांगले आहे की ते अगदी सुरुवातीपासूनच कशासाठी आहेत हे स्पष्ट होईल. कारण आत, अर्थातच.

व्हेरिएबल्स कसे सुरू करावे

जेव्हा तुम्ही व्हेरिएबल घोषित करता तेव्हा तुम्ही त्यासाठी मेमरी वाटप करता. इनिशियलायझेशनचा अर्थ असा आहे की तुम्ही "बॉक्स" मध्ये विशिष्ट मूल्य "ठेवले". हे व्हेरिएबलच्या घोषणेदरम्यान किंवा नंतर लगेच केले जाऊ शकते. तसेच, प्रोग्रामच्या अंमलबजावणीदरम्यान व्हेरिएबलचे मूल्य बदलू शकते. उदाहरण:

public class VariableTest {
    public static void main(String[] args) {
        int myInt = 5;
        String s;
        s = "init";
        System.out.println(s);
        s = s+5;
        System.out.println(s);
    }
}
येथे आपण myInt व्हेरिएबल एका ओळीत घोषित आणि आरंभ केला , त्याच्यासाठी लगेच मेमरी वाटप केली (प्रत्येक इंट क्रमांकासाठी 32 बिट), त्याला एक नाव दिले आणि नंतर वाटप केलेल्या मेमरीमध्ये मूल्य 5 ठेवले. मग आम्ही घोषित केले की आम्ही स्ट्रिंग s साठी मेमरी स्पेसचे वाटप करत आहोत आणि आधीच वेगळ्या कमांडने त्यात "init" मूल्य ठेवले आहे. त्यानंतर, आम्ही स्ट्रिंग मुद्रित केली आणि व्हेरिएबल s चे मूल्य बदलले . या प्रोग्राममध्ये, आम्ही ओळी मुद्रित केल्या आहेत आणि जर तुम्ही त्या चालवल्या तर तुम्हाला पुढील परिणाम दिसेल:
init init5

Java मधील डेटा प्रकार व्हेरिएबल्स: आदिम आणि गैर-आदिम

Java मधील डेटा प्रकार दोन गटांमध्ये विभागले गेले आहेत:
  • आदिम डेटा प्रकारांमध्ये बाइट , शॉर्ट , इंट , लाँग , फ्लोट , डबल , बुलियन आणि चार यांचा समावेश होतो
  • स्ट्रिंग , अॅरे , आणि क्लासेस सारखे नॉन-प्रिमिटिव्ह डेटा प्रकार
व्हेरिएबल्ससह कार्य करण्याचे येथे एक उदाहरण आहे:

public class VariableTest {
   public static void main(String[] args) {

       int myInt = - 5;               // integer (whole number)
       float myFloat = 2.718281828459045f;    // Floating point number
       char myLetter = 'a';         // character
       boolean myBool = true;       // boolean
       String myText = "Hero";     // String
       System.out.println(myInt + " " +
               myFloat +" " + myLetter + " " +  myBool + " " + myText);
       Student myStudent = new Student("Walker","Johnny", "Kyle", null);
      
   }
}
int , char , बुलियन , आणि float हे आदिम आहेत. स्ट्रिंग गैर-आदिम आहे. myStudent व्हेरिएबलचे काय ? हा वापरकर्त्याने तयार केलेल्या वर्गाच्या विद्यार्थ्यांचा एक ऑब्जेक्ट आहे . नॉन-प्रिमिटिव व्हेरिएबल्ससह कार्य स्पष्ट करण्यासाठी ते तयार केले गेले. ते जावामध्ये बहुसंख्य आहेत, कारण या प्रोग्रामिंग भाषेतील जवळजवळ प्रत्येक गोष्ट एक वस्तू आहे. समजून घेण्यासाठी, येथे विद्यार्थी वर्गाचा कोड आहे :

import java.util.Date;

public class Student {
   String surname;
   String name;
   String secondName;
   Long birthday; // Long instead of long is used by Gson/Jackson json parsers and various orm databases

   public Student(String surname, String name, String secondName, Date birthday ){
       this.surname = surname;
       this.name = name;
       this.secondName = secondName;
       this.birthday = birthday == null ? 0 : birthday.getTime();
   }

   @Override
   public int hashCode(){
       //TODO: check for nulls
       //return surname.hashCode() ^ name.hashCode() ^ secondName.hashCode() ^ (birthday.hashCode());
       return (surname + name + secondName + birthday).hashCode();
   }
   @Override
   public boolean equals(Object other_) {
       Student other = (Student)other_;
       return (surname == null || surname.equals(other.surname) )
               && (name == null || name.equals(other.name))
               && (secondName == null || secondName.equals(other.secondName))
               && (birthday == null || birthday.equals(other.birthday));
   }
}

Java मधील व्हेरिएबल्सचे प्रकार: स्थानिक, उदाहरण आणि स्थिर

Java मध्ये तीन भिन्न प्रकार आहेत, आम्ही त्यांची यादी खालीलप्रमाणे केली आहे:
  1. स्थानिक चल
  2. उदाहरण व्हेरिएबल्स
  3. स्थिर चल

स्थानिक चल

पद्धतीच्या मुख्य भागामध्ये घोषित केलेल्या व्हेरिएबलला स्थानिक चल म्हणतात. तसेच, स्थानिक व्हेरिएबल्स कन्स्ट्रक्टर आणि ब्लॉक्समध्ये घोषित केले जातात. तुम्ही लोकल व्हेरिएबल्सचा वापर फक्त त्या मेथड, कन्स्ट्रक्टर किंवा ब्लॉकमध्ये करू शकता जिथे ते तयार केले गेले होते आणि क्लासमधील इतर पद्धतींना व्हेरिएबल अस्तित्वात आहे याची जाणीवही नसते. मेथड, कन्स्ट्रक्टर किंवा ब्लॉक एंटर केल्यावर लोकल व्हेरिएबल्स तयार होतात आणि मेथड, कन्स्ट्रक्टर किंवा ब्लॉक काम करत नाही तेव्हा व्हेरिएबल नष्ट होते. स्थानिक व्हेरिएबल स्थिर कीवर्डसह परिभाषित केले जाऊ शकत नाही. आणखी: तुम्ही स्थानिक व्हेरिएबल्ससाठी ऍक्सेस मॉडिफायर वापरू शकत नाही. येथे एक उदाहरण आहे:

public class VariableTest {
   public static void main(String[] args) {
       System.out.println(myMethod("C plus "));
   }
           private static String myMethod(String myString) {
       String myOtherString = "plus";
       return myString + myOtherString;
   }
}
येथे myOtherString हे स्थानिक व्हेरिएबल आहे. तुम्ही ते इतर पद्धतीने वापरू शकत नाही, परंतु myMethod . स्थानिक व्हेरिएबल्समध्ये डीफॉल्ट मूल्ये असू शकत नाहीत. प्रोग्राममध्ये किमान एक स्थानिक व्हेरिएबल सुरू केले नसल्यास, प्रोग्राम योग्यरित्या कार्य करणार नाही. मागील उदाहरणांपैकी एकामध्ये एक छोटासा बदल करू आणि मायबूल व्हेरिएबल सुरू करण्यासाठी "विसरून जाऊ":

public class VariableTest {
   public static void main(String[] args) {

       int myInt = - 5;               // integer (whole number)
       float myFloat = 2.718281828459045f;    // Floating point 
       char myLetter = 'a';         // character
       boolean myBool;       // boolean
       String myText = "Hero";     // String
       System.out.println(myInt + " " +
               myFloat +" " + myLetter + " " +  myBool + " " + myText);
       Student myStudent = new Student("Walker","Johnny", "Kyle", null);

   }
}
जर आम्ही प्रोग्राम चालवण्याचा प्रयत्न केला, तर तो एक त्रुटी देईल:
त्रुटी:(10, 50) java: व्हेरिएबल myBool सुरू केले गेले नसावे

उदाहरण व्हेरिएबल्स

क्लासमध्ये घोषित केलेल्या परंतु कोणत्याही पद्धती, कन्स्ट्रक्टर किंवा ब्लॉकच्या मुख्य भागाबाहेर घोषित केलेल्या व्हेरिएबलला उदाहरण व्हेरिएबल म्हणतात. नवीन कीवर्ड वापरून ऑब्जेक्ट तयार केल्यावर इन्स्टन्स व्हेरिएबल्स तयार होतात . वस्तू नष्ट झाली की ती नष्ट होते. हे स्थिर म्हणून घोषित केले जाऊ शकत नाही, परंतु तुम्ही उदाहरण व्हेरिएबल्ससाठी ऍक्सेस मॉडिफायर वापरू शकता. वर्गातील सर्व पद्धती, कन्स्ट्रक्टर आणि ब्लॉक्ससाठी उदाहरण व्हेरिएबल्स दृश्यमान आहेत. सहसा उदाहरण व्हेरिएबल्स खाजगी असतात, परंतु तुम्ही उपवर्गासाठी दृश्यमानता बदलू शकता. स्थानिक व्हेरिएबल्सच्या विरूद्ध इन्स्टन्स व्हेरिएबल्समध्ये डीफॉल्ट मूल्ये असतात. सर्व संख्यांच्या आदिम प्रकारांसाठी डीफॉल्ट मूल्य 0 आहे, बूलियनसाठी ते खोटे आहे आणि ऑब्जेक्ट संदर्भांसाठी ते शून्य आहे. मूल्ये घोषणा दरम्यान किंवा कन्स्ट्रक्टरमध्ये नियुक्त केली जाऊ शकतात. येथे एक उदाहरण आहे:

//instance variable example
public class Employee {

   // here we have a public instance variable. It is visible for this class and child classes
   public String name;

   //this instance variable is private so it’s visible for the Employee class only. You can use setters and getters to get it
   private double salary;

   public Employee (String empName) {
       name = empName;
   }

   public String getName() {
       return name;
   }

   public void setName(String name) {
       this.name = name;
   }

   public double getSalary() {
       return salary;
   }

   public void setSalary(double employeeSalary) {
       salary = employeeSalary;
   }

   public static void main(String args[]) {
       Employee employee = new Employee("Johnny");
       employee.setSalary(1500);
       System.out.println("name = " + employee.getName());
       System.out.println("salary = " + employee.getSalary());
   }
}

स्थिर चल

स्टॅटिक म्हणून घोषित केलेल्या व्हेरिएबलला स्टॅटिक व्हेरिएबल म्हणतात. Java तुम्हाला मेथड, कन्स्ट्रक्टर किंवा ब्लॉकच्या बाहेर असे व्हेरिएबल्स घोषित करण्याची ऑफर देते. ते स्थानिक असू शकत नाही, ते वर्गाचे आहेत, उदाहरणांचे नाही. याचा अर्थ असा की स्टॅटिक व्हेरिएबलची एक प्रत एकदा तयार केली आणि वर्गाच्या सर्व उदाहरणांमध्ये सामायिक केली. जेव्हा मेमरीमध्ये क्लास लोड केला जातो तेव्हा स्टॅटिक व्हेरिएबल्ससाठी मेमरी वाटप एकदाच होते. त्यांच्याकडे कोणतीही दृश्यमानता असू शकते, परंतु सहसा ते सार्वजनिक म्हणून घोषित केले जातात. त्यांच्याकडे डीफॉल्ट मूल्ये आहेत जसे की उदाहरण व्हेरिएबल्स.

public class Box
{
   public void add(int data)
   {
       Storage.sum = Storage.sum + data;
       Storage.count++;
   }

   public void remove(int data)
   {
       Storage.sum = Storage.sum - data;
       Storage.count--;
   }
}

public class Storage
{
   public static int count = 0;
   public static int sum = 0;
}
वरील उदाहरणामध्ये, आम्ही एक वेगळा स्टोरेज क्लास तयार केला, त्यात गणना आणि बेरीज व्हेरिएबल्स हलवली आणि त्यांना स्थिर घोषित केले. पब्लिक स्टॅटिक व्हेरिएबल्स कोणत्याही प्रोग्रॅम पद्धतीने (आणि केवळ एका पद्धतीतूनच नाही) ऍक्सेस करता येतात. तुम्ही जे शिकलात ते बळकट करण्यासाठी, आम्ही तुम्हाला आमच्या Java कोर्समधील व्हिडिओ धडा पाहण्याची सूचना देतो
टिप्पण्या
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION