Java muutujad on kon­tei­ne­rid, mis võivad sal­ves­tada erinevaid Java and­me­tüüpe. Need hõlmavad kohalikke muutujaid, instantsi muutujaid ja staa­tilisi muutujaid. Kuigi Java muutujate suurust ei saa hiljem muuta, on võimalik muuta nende sisu pärast nende loomist.

Mis on Java muutujad?

Igas prog­ram­mee­ri­mis­kee­les on muutujad, mida ka­su­ta­takse programmi koodiga töö­ta­miseks. Muutujad on kon­tei­ne­rid, mis sal­ves­ta­vad teatud and­me­tüüpi andmeid (ja ainult selle tüüpi andmeid). Java keeles võivad muutujad sisaldada Java pri­mi­tiiv­seid and­me­tüüpe, nagu täisarvud, uju­ko­ma­ar­vud, tõe­väär­tu­sed ja üksikud numbrid. Nad võivad sal­ves­tada ka keerukaid and­me­tüüpe, nagu Java stringid. Java keeles on muu­tu­ja­tel kindel, selgelt mää­rat­le­tud suurus, mida ei saa hiljem muuta. Muutuja sisu võib aga hiljem muuta. Selles õpetuses tut­vus­tame erinevaid muu­tu­ja­tüüpe ja näitame, kuidas luua muutujaid erinevate and­me­tüü­pide jaoks.

Kuidas dek­la­ree­rida ja init­sia­li­see­rida var Java-s

Esimene asi, mida peate teadma, on Java muutujate dek­la­ree­ri­mine ja init­sia­li­see­ri­mine. See protsess on sama kõikide muu­tu­ja­tüü­pide puhul. Muutuja dek­la­ree­ri­miseks on vaja kahte pa­ra­meet­rit. Esimene on andmetüüp, mida soovite muu­tu­jasse sal­ves­tada. Teine on muutuja nimi.

Kui seejärel muutuja init­sia­li­see­rite, on vaja kolme kom­po­nenti. Lisaks eespool nimetatud and­me­tüü­bile ja muutuja nimele on vaja ka selle väärtust. Muutuja init­sia­li­see­ri­mine tähendab väärtuse omis­ta­mist varem tühjale muutujale.

Süntaks näeb välja järgmine:

Datatype Name = Value;
java

Millised on kolm muu­tu­ja­tüüpi Java-s?

Java-s on kolm tüüpi muutujaid: kohalikud muutujad, ins­tant­si­muu­tu­jad ja staa­ti­li­sed muutujad.

Kohalikud muutujad

Java keeles dek­la­ree­ri­takse kohalikud muutujad meetodi, konst­ruk­tori või ploki kehas. Muutuja saab seejärel kasutada ainult selles meetodis. Siin on näide, kuidas see praktikas välja näeb:

public class Main {
	public static void main(String[] args) {
		int var = 5;
		System.out.println("The local variable is: " + var);
	}
}
java

Väljund näeb välja järgmine:

The local variable is: 5
java

Instantsi muutujad

Instantsi muutujad luuakse klassi sees, kuid meetodi, konst­ruk­tori või ploki väl­jas­pool. Need tekivad, kui loote objekti märk­sõ­naga „new”. Erinevalt ko­ha­li­kest muu­tu­ja­test on instantsi muu­tu­ja­tel stan­dard­väär­tu­sed. Numbrite puhul on stan­dard­väär­tus 0 või 0,0. Boolide puhul on see false. Objekti viidete puhul on see null.

Järgmises näites näete, kuidas Java-s ka­su­ta­takse instantsi muutujaid. Koodis loome rühma inimesi, kes soovivad anda oma panuse sün­ni­päe­va­kin­gi­tusse, ja loetleme, mida igaüks on pa­nus­ta­nud.

public class Gift  {
	public String name;
	private double contribution;
	public Gift (String person) {
		name = person;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public double getContribution() {
		return contribution;
	}
	public void setContribution(double participantContribution) {	
		contribution = participantContribution;
	}
	public static void main(String[] args) {
		Gift participant = new Gift ("Peter");
		participant.setContribution(10);
		System.out.println("Name: " + participant.getName());
		System.out.println("Contribution = " + participant.getContribution());
		Gift participant2 = new Gift ("Maria");
		participant2.setContribution(15);
		System.out.println("Name: " + participant2.getName());
		System.out.println("Contribution  = " + participant2.getContribution());
	}
}
java

Siin on selle koodi väljund:

Name: Peter
Contribution = 10.0
Name: Maria
Contribution = 15.0
java

Staa­ti­li­sed muutujad

Kui kahte teist Java muu­tu­ja­tüüpi ei saa staa­ti­li­selt dek­la­ree­rida, siis staa­tilisi muutujaid saab. Need dek­la­ree­ri­takse väl­jas­pool meetodit, konst­ruk­to­rit või plokki ja kuuluvad seega klassi, mitte instantsi juurde. Neid kasutavad kõik klassi ins­tant­sid. Staa­ti­lis­tele muu­tu­ja­tele eral­da­takse mälu, kui klass laa­di­takse mällu. Siin on näide koodis:

public class Gift {
	public static String participant = "Peter";
	public static void main(String[] args) {
		System.out.println("Participant: " + Gift.participant);
	}
}
java

Siin on väljund:

Participant: Peter
java

Kuidas luua erinevate and­me­tüü­pi­dega muutujaid

Java muutujate loomise protsess on and­me­tüü­pide lõikes üsna sarnane. Näitame teile mõned näited kõige le­vi­nu­mate and­me­tüü­pide kohta ja selgitame nende erinevusi.

booliline

Booli väärtus võib sisaldada ainult tõe­väär­tusi true või false. See dek­la­ree­ri­takse järg­mi­selt:

public class Main {
	public static void main(String[] args) {
		boolean pizzaTastesGood = true;
		System.out.println(pizzaTastesGood);
	}
}
java

Siin on väljund:

true
java

int

int on täis­ar­vude puhul kõige sa­ge­da­mini kasutatav andmetüüp. Java-muutuja int saab dek­la­ree­rida järg­mi­selt:

public class Main {
	public static void main(String[] args) {
		int x = 10;
		System.out.println(x);
	}
}
java

Siin on väljund:

10
java

ujuv

float ka­su­ta­takse küm­nend­mur­ru­dega arvude jaoks. Siin on näide, kuidas Java-s float-tüüpi muutuja dek­la­ree­rida:

public class Main {
	public static void main(String[] args) {
		float x = -17.03f;
		System.out.println(x);
	}
}
java

Siin on väljund:

-17.03
java

süsi

char sisaldab ühte märki, mis on märgitud üla­ko­maa­dega. Siin on näide, kuidas see koodis välja näeb:

public class Main {
	public static void main(String[] args) {
		char x = 'S';
		System.out.println(x);
	}
}
java

Siin on väljund:

S
java

String

Lisaks eespool vaadeldud pri­mi­tiiv­se­tele and­me­tüü­pi­dele võivad Java muutujad sisaldada ka ter­vik­likke stringe. Stringid tuleb sisestada ka­he­kord­sete ju­tu­mär­kide vahele:

public class Main {
	public static void main(String[] args) {
		String example = "This is a string in Java.";
		System.out.println(example);
	}
}
java

Siin on väljund:

This is a string in Java.
java
Go to Main Menu