Maybaygiare.org

Blog Network

Java-Variable Types

advertises

muuttuja tarjoaa meille nimetyn tallennustilan, jota ohjelmamme voivat manipuloida. Jokaisella Javan muuttujalla on tietty tyyppi, joka määrittää muuttujan muistin koon ja asettelun, sen muistiin tallennettavien arvojen alueen ja muuttujaan sovellettavien toimintojen joukon.

kaikki muuttujat on ilmoitettava ennen kuin niitä voidaan käyttää. Seuraavassa on muuttujan ilmoituksen perusmuoto –

data type variable ...] ;

tässä tietotyyppi on yksi Javan tietotyypeistä ja muuttuja on muuttujan nimi. Useamman kuin yhden määritetyn tyypin muuttujan ilmoittamiseen voidaan käyttää pilkulla erotettua luetteloa.

Seuraavassa on valideja esimerkkejä muuttujan julistuksesta ja alustuksesta Javassa −

esimerkki

int a, b, c; // Declares three ints, a, b, and c.int a = 10, b = 10; // Example of initializationbyte 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'

tässä luvussa selitetään erilaisia Java-kielessä saatavilla olevia muuttujatyyppejä. Jaavassa on kolmenlaisia muuttujia –

  • paikalliset muuttujat
  • instanssimuuttujat
  • Luokka/staattiset muuttujat

paikalliset muuttujat

    paikalliset muuttujat ilmoitetaan menetelminä, konstruktioina tai lohkoina.

  • paikalliset muuttujat syntyvät, kun metodi, konstruktori tai lohko syötetään ja muuttuja tuhoutuu, kun se poistuu menetelmästä, konstruktorista tai lohkosta.

  • Access-modifikaatioita ei voi käyttää paikallisille muuttujille.

  • paikalliset muuttujat näkyvät vain ilmoitetun menetelmän, konstruktorin tai lohkon sisällä.

  • paikalliset muuttujat toteutetaan pinotasolla sisäisesti.

  • paikallisille muuttujille ei ole oletusarvoa, joten paikalliset muuttujat tulee ilmoittaa ja alkuarvo antaa ennen ensimmäistä käyttöä.

esimerkki

tässä ikä on paikallinen muuttuja. Tämä on määritelty Inside pupAge () – menetelmällä ja sen soveltamisala rajoittuu vain tähän menetelmään.

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(); }}

Tämä tuottaa seuraavan tuloksen −

Lähtö

Puppy age is: 7

esimerkki

seuraava esimerkki käyttää ikää alustamatta sitä, joten se antaisi virheen laadintahetkellä.

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(); }}

Tämä tuottaa seuraavan virheen kootessaan sitä −

Lähtö

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

instanssimuuttujat

  • instanssimuuttujat ilmoitetaan luokassa, mutta menetelmän, konstruktorin tai minkä tahansa lohkon ulkopuolella.

  • kun kasassa olevalle objektille on varattu avaruus, kullekin instanssimuuttujan arvolle luodaan paikka.

  • instanssimuuttujat syntyvät, kun objekti luodaan käyttämällä avainsanaa ”uusi” ja tuhotaan, kun objekti tuhotaan.

  • Instanssimuuttujilla on arvoja, joihin on viitattava useammalla kuin yhdellä menetelmällä, konstruktiolla tai lohkolla tai olion tilan olennaisilla osilla, joiden on oltava läsnä koko luokassa.

  • instanssimuuttujat voidaan ilmoittaa luokkatasolla ennen käyttöä tai sen jälkeen.

  • Access-modifioijille voidaan antaa esimerkiksi muuttujia.

  • instanssimuuttujat ovat näkyvissä kaikille luokan menetelmille, konstruktoreille ja lohkoille. Yleensä on suositeltavaa tehdä näistä muuttujista yksityisiä (pääsytaso). Aliluokille voidaan kuitenkin antaa näkyvyys näille muuttujille access-modifioijien avulla.

  • Instanssimuuttujilla on oletusarvot. Numeroille oletusarvo on 0, Booleille se on epätosi ja objektiviittauksille se on nolla. Arvot voidaan määrittää ilmoituksen aikana tai rakentajan sisällä.

  • Instanssimuuttujiin pääsee suoraan kutsumalla muuttujan nimeä luokan sisällä. Kuitenkin staattisissa menetelmissä (kun instanssimuuttujille annetaan esteettömyys) niitä tulee kutsua käyttäen täysin hyväksyttyä nimeä. ObjectReference.Vaihteleva nimi.

esimerkki

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(); }}

tästä saadaan seuraava tulos −

Lähtö

name : Ransikasalary :1000.0

Luokka/staattiset muuttujat

  • myös staattiset muuttujat tunnetaan staattisella avainsanalla luokassa, mutta menetelmän, rakentajan tai lohkon ulkopuolella.

  • jokaisesta luokkamuuttujasta olisi vain yksi kappale luokkaa kohden riippumatta siitä, kuinka monta oliota siitä luodaan.

  • staattisia muuttujia käytetään harvoin muuten kuin julistamalla ne vakioiksi. Vakiot ovat muuttujia, jotka ilmoitetaan julkisina/yksityisinä, lopullisina ja staattisina. Vakiomuuttujat eivät koskaan muutu alkuarvostaan.

  • staattiset muuttujat tallennetaan staattiseen muistiin. On harvinaista käyttää muita kuin lopullisiksi ilmoitettuja staattisia muuttujia, joita käytetään joko julkisena tai yksityisenä vakiona.

  • staattiset muuttujat syntyvät ohjelman käynnistyessä ja tuhoutuvat ohjelman pysähtyessä.

  • näkyvyys on samanlainen kuin instanssimuuttujilla. Useimmat staattiset muuttujat on kuitenkin ilmoitettu julkisiksi, koska niiden on oltava luokan käyttäjien saatavilla.

  • oletusarvot ovat samat kuin instanssimuuttujat. Numeroille oletusarvo on 0, Booleille se on epätosi, ja objektiviittauksille se on nolla. Arvot voidaan määrittää ilmoituksen aikana tai rakentajan sisällä. Lisäksi arvot voidaan määrittää erityisissä staattisissa alustuslohkoissa.

  • staattisia muuttujia pääsee kutsumaan luokkanimellä ClassName.Vaihteleva nimi.

  • kun luokkamuuttujat julistetaan julkisiksi staattisiksi lopullisiksi, muuttujien nimet (vakiot) ovat kaikki suuraakkosin. Jos staattiset muuttujat eivät ole julkisia ja lopullisia, nimeämis syntaksi on sama kuin esimerkiksi ja paikalliset muuttujat.

esimerkki

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); }}

tästä saadaan seuraava tulos −

Lähtö

Development average salary:1000

Huomautus − Jos muuttujiin pääsee ulkopuolisesta luokasta, vakioon tulee päästä työntekijänä.Osasto

mitä seuraavaksi?

tässä luvussa on jo käytetty access-muokkaajia (Julkinen & yksityinen). Seuraavassa luvussa selitetään yksityiskohtaisesti Käyttöoikeusmodifioijat ja ei-Käyttöoikeusmodifioijat.

mainokset

Vastaa

Sähköpostiosoitettasi ei julkaista.