Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

Java - Variabele Types

Een variabele biedt ons benoemde opslag die onze programma's kunnen manipuleren. Elke variabele in Java heeft een specifiek type, dat de grootte en indeling van het geheugen van de variabele bepaalt; het bereik van waarden die in dat geheugen kunnen worden opgeslagen; en de reeks bewerkingen die op de variabele kunnen worden toegepast.

U moet alle variabelen declareren voordat ze kunnen worden gebruikt. Hieronder volgt de basisvorm van een variabele declaratie −

data type variable [ = value][, variable [ = value] ...] ;

Hier gegevenstype is een van Java's datatypes en variabele is de naam van de variabele. Om meer dan één variabele van het opgegeven type te declareren, kunt u een door komma's gescheiden lijst gebruiken.

Hieronder volgen geldige voorbeelden van variabele declaratie en initialisatie in Java −

Voorbeeld

int a, b, c;         // Declares three ints, a, b, and c.
int a = 10, b = 10;  // Example of initialization
byte B = 22;         // initializes a byte type variable B.
double pi = 3.14159; // declares and assigns a value of PI.
char a = 'a';        // the char variable a iis initialized with value 'a'

In dit hoofdstuk worden verschillende typen variabelen uitgelegd die beschikbaar zijn in de Java-taal. Er zijn drie soorten variabelen in Java −

  • Lokale variabelen
  • Instantievariabelen
  • Klasse/statische variabelen

Lokale variabelen

  • Lokale variabelen worden gedeclareerd in methoden, constructors of blokken.

  • Lokale variabelen worden gemaakt wanneer de methode, constructor of blok wordt ingevoerd en de variabele wordt vernietigd zodra deze de methode, constructor of blok verlaat.

  • Toegangsmodificaties kunnen niet worden gebruikt voor lokale variabelen.

  • Lokale variabelen zijn alleen zichtbaar binnen de gedeclareerde methode, constructor of blok.

  • Lokale variabelen worden intern op stackniveau geïmplementeerd.

  • Er is geen standaardwaarde voor lokale variabelen, dus lokale variabelen moeten worden gedeclareerd en een initiële waarde moet worden toegewezen vóór het eerste gebruik.

Voorbeeld

Hier, leeftijd is een lokale variabele. Dit wordt gedefinieerd in pupAge() methode en de reikwijdte ervan is beperkt tot alleen deze methode.

Live demo
public class Test {
   public void pupAge() {
      int age = 0;
      age = age + 7;
      System.out.println("Puppy age is : " + age);
   }

   public static void main(String args[]) {
      Test test = new Test();
      test.pupAge();
   }
}

Dit levert het volgende resultaat op −

Uitvoer

Puppy age is: 7

Voorbeeld

Het volgende voorbeeld gebruikt leeftijd zonder het te initialiseren, dus het zou een fout geven op het moment van compilatie.

Live demo
public class Test {
   public void pupAge() {
      int age;
      age = age + 7;
      System.out.println("Puppy age is : " + age);
   }

   public static void main(String args[]) {
      Test test = new Test();
      test.pupAge();
   }
}

Dit geeft de volgende fout tijdens het compileren −

Uitvoer

Test.java:4:variable number might not have been initialized
age = age + 7;
         ^
1 error

Instantievariabelen

  • Instantievariabelen worden gedeclareerd in een klasse, maar buiten een methode, constructor of een willekeurig blok.

  • Als er een spatie wordt toegewezen aan een object in de heap, wordt er een slot voor elke instantievariabele gemaakt.

  • Instantievariabelen worden gemaakt wanneer een object wordt gemaakt met het trefwoord 'new' en worden vernietigd wanneer het object wordt vernietigd.

  • Instantievariabelen bevatten waarden waarnaar moet worden verwezen door meer dan één methode, constructor of blok, of essentiële onderdelen van de status van een object die in de hele klasse aanwezig moeten zijn.

  • Instantievariabelen kunnen voor of na gebruik op klasseniveau worden gedeclareerd.

  • Toegangsmodificaties kunnen bijvoorbeeld worden gegeven aan variabelen.

  • De instantievariabelen zijn zichtbaar voor alle methoden, constructors en blok in de klasse. Normaal gesproken wordt aanbevolen om deze variabelen privé te maken (toegangsniveau). Er kan echter zichtbaarheid voor subklassen voor deze variabelen worden gegeven met behulp van toegangsmodifiers.

  • Instantievariabelen hebben standaardwaarden. Voor getallen is de standaardwaarde 0, voor Booleans is het onwaar en voor objectverwijzingen is het null. Waarden kunnen worden toegekend tijdens de aangifte of binnen de constructor.

  • Instantievariabelen zijn direct toegankelijk door de variabelenaam binnen de klasse aan te roepen. Binnen statische methoden (wanneer instantievariabelen toegankelijkheid krijgen), moeten ze echter worden aangeroepen met de volledig gekwalificeerde naam. ObjectReference.VariableName .

Voorbeeld

Live demo
import java.io.*;
public class Employee {

   // this instance variable is visible for any child class.
   public String name;

   // salary  variable is visible in Employee class only.
   private double salary;

   // The name variable is assigned in the constructor.
   public Employee (String empName) {
      name = empName;
   }

   // The salary variable is assigned a value.
   public void setSalary(double empSal) {
      salary = empSal;
   }

   // This method prints the employee details.
   public void printEmp() {
      System.out.println("name  : " + name );
      System.out.println("salary :" + salary);
   }

   public static void main(String args[]) {
      Employee empOne = new Employee("Ransika");
      empOne.setSalary(1000);
      empOne.printEmp();
   }
}

Dit levert het volgende resultaat op −

Uitvoer

name  : Ransika
salary :1000.0

Klasse/statische variabelen

  • Klassevariabelen, ook wel statische variabelen genoemd, worden gedeclareerd met het statische sleutelwoord in een klasse, maar buiten een methode, constructor of een blok.

  • Er zou slechts één kopie zijn van elke klassevariabele per klasse, ongeacht het aantal objecten dat ervan wordt gemaakt.

  • Statische variabelen worden zelden gebruikt, behalve dat ze als constanten worden gedeclareerd. Constanten zijn variabelen die zijn gedeclareerd als openbaar/privé, definitief en statisch. Constante variabelen veranderen nooit van hun oorspronkelijke waarde.

  • Statische variabelen worden opgeslagen in het statische geheugen. Het is zeldzaam om andere statische variabelen te gebruiken dan definitief verklaard en gebruikt als openbare of privéconstanten.

  • Statische variabelen worden aangemaakt wanneer het programma start en vernietigd wanneer het programma stopt.

  • Zichtbaarheid is vergelijkbaar met instantievariabelen. De meeste statische variabelen worden echter openbaar verklaard omdat ze beschikbaar moeten zijn voor gebruikers van de klasse.

  • Standaardwaarden zijn hetzelfde als instantievariabelen. Voor getallen is de standaardwaarde 0; voor Booleans is het onwaar; en voor objectreferenties is het null. Waarden kunnen worden toegekend tijdens de aangifte of binnen de constructor. Bovendien kunnen waarden worden toegewezen in speciale statische initialisatieblokken.

  • Statische variabelen zijn toegankelijk door aan te roepen met de klassenaam ClassName.VariableName .

  • Bij het declareren van klassevariabelen als openbare statische definitief, zijn de variabelenamen (constanten) allemaal in hoofdletters. Als de statische variabelen niet openbaar en definitief zijn, is de naamgevingssyntaxis hetzelfde als instantie en lokale variabelen.

Voorbeeld

Live demo
import java.io.*;
public class Employee {

   // salary  variable is a private static variable
   private static double salary;

   // DEPARTMENT is a constant
   public static final String DEPARTMENT = "Development ";

   public static void main(String args[]) {
      salary = 1000;
      System.out.println(DEPARTMENT + "average salary:" + salary);
   }
}

Dit levert het volgende resultaat op −

Uitvoer

Development average salary:1000

Opmerking − Als de variabelen worden benaderd vanuit een externe klasse, moet de constante worden geopend als Employee.DEPARTMENT

Wat is de volgende stap?

U hebt in dit hoofdstuk al toegangsmodifiers (openbaar en privé) gebruikt. In het volgende hoofdstuk worden Access Modifiers en Non-Access Modifiers in detail uitgelegd.


Java

  1. C#-variabelen en (primitieve) gegevenstypen
  2. C Variabelen, constanten en literalen
  3. C opslagklasse
  4. Java-variabelen en -letters
  5. Java-gegevenstypen (primitief)
  6. Java-operators
  7. Java-interface
  8. Java proberen-met-bronnen
  9. Java-annotaties
  10. Java-annotatietypen
  11. C++ variabelen en typen:int, double, char, string, bool