1. Lista med ord

Som i alla programmeringsspråk har Java ord som har speciell betydelse. Till exempel returneller ifeller while. Dessa ord kallas nyckelord ( nyckelord ) och anses reserverade av Java-språket.

Du kan inte använda dessa ord som ett variabelnamn, metodnamn eller klassnamn. Kompilatorn kommer alltid att tolka dem på ett strikt definierat sätt. Det finns 54sådana ord i Java.

abstract
assert
boolean
break
byte
case
catch
char
class
const
continue
default
do
double
else
enum
extends
final
finally
float
for
goto
if
implements
import
instanceof
int
interface
long
native
new
package
private
protected
public
return
short
static
strictfp
super
switch
synchronized
this
throw
throws
transient
try
void
volatile
while
var
true
null
false

Du känner redan till några av dem, och vi pratar om resten nu.


2. Primitiva typer

Som du säkert kommer ihåg har Java 8 primitiva typer, och var och en av dem har sitt eget nyckelord:

  • byte
  • short
  • int
  • long
  • char
  • float
  • double
  • boolean
  • void

Om du har ett tillräckligt nyfiket sinne finns det en god chans att du redan försökt namnge en variabel int. Och du lyckades såklart inte. Detta är just för att namnen på alla de primitiva typerna är reserverade ord.

Typen voidfaller också i denna kategori.


3. Slingor och grenar

Slingor och grenar ger oss också en ganska lång lista med sökord:

  • if
  • else
  • switch
  • case
  • default
  • while
  • do
  • for
  • break
  • continue

Bara 10 ord räcker för att språket ska tillhandahålla flera typer av loopar, förgreningar och kontrollsatser för att avbryta loopar ( breakoch continue) och flera förgreningar ( switch). Du är redan bekant med alla dessa sökord.


4. Undantag

Undantag ger oss 5 nyckelord:

  • try
  • catch
  • finally
  • throw
  • throws

Dessa är alla en del av ett try-catch-finallyblock. Operatören för att kasta undantag är throw, och throwsnyckelordet stöder checkedundantagsmekanismen.

Den goda nyheten är att du redan är bekant med alla nyckelord relaterade till undantag, så du är också redan mest bekant med att arbeta med undantag.


5. Synlighet

Här finns bara tre nyckelord, och du är redan bekant med dem.

  • private
  • protected
  • public

publicger tillgång till en metod/variabel/klass var som helst i programmet.

privateförbjuder åtkomst till en metod/variabel/klass var som helst i programmet. Åtkomst tillåts endast inom samma klass som en metod markerad med modifieraren private.

protectedfungerar på samma sätt som private, men tillåter också åtkomst till en metod/variabel/klass från ärvda klasser. Fördelarna med denna modifierare kommer att bli tydligare för dig när du blir bekant med OOP och arv.


6. Arbeta med klasser

Det finns 11 nyckelord i denna kategori:

  • class
  • interface
  • enum
  • import
  • package
  • extends
  • implements
  • static
  • final
  • abstract
  • default

De kan delas in i 4 grupper.

Den första gruppen avser skapandet av klasser: class, interfaceoch enum. Du har redan lärt dig om att deklarera klasser och uppräkningar . Nyckelordet interfaceanvänds för att deklarera ännu en klassliknande typ: gränssnitt.

Den andra gruppen består av nyckelord för paket och import, som du redan är bekant med. Paketnyckelordet används för att specificera paketet för en klass i en klassfil. Och importär så att vi kan använda korta namn på externa klasser när vi skriver våra egna klasser.

Nyckelorden extendsoch implementsanvänds för arv. Du kommer att ta en titt på dem i början av Java Core-uppdraget.

Slutligen består den sista gruppen av , , static, och modifierare. Du vet redan lite om och . Nyckelordet används för att göra en klass eller metod abstrakt. Du får mer information när du studerar arv i Java Core-uppdraget.finaldefaultabstractstaticfinalabstract


7. Arbeta med objekt och variabler

Ytterligare sex nyckelord används när man arbetar med objekt, metoder och variabler.

  • new
  • instanceof
  • this
  • super
  • return
  • var(sedan Java 10)

Operatören newanvänds för att skapa nya objekt — det vet du redan.

Operatorn instanceofanvänds för att verifiera att en variabel innehåller en referens till ett objekt av en viss typ. Du är redan bekant med det.

Nyckelordet thisanvänds för att lösa problem som uppstår på grund av skuggning av instansvariabler och metoder. Du har också studerat detta.

Nyckelordet superär analogt med this, men det används för att referera till metoderna och variablerna för den överordnade klassen. Föräldraklassen kallas även för superklassen.

Satsen returnanvänds för att returnera värdet av en metod, och även för att avsluta exekveringen av en metod.

Slutligen varär det för att deklarera en variabel vars typ automatiskt härleds. Du är redan bekant med detta.


8. Flertrådning

På nivån för Java-syntax representeras multithreading av bara två ord.

  • synchronized
  • volatile

Vi kommer inte ens att röra dem. Gå till Java Multithreading- uppdraget och sedan dyker vi in.


9. Övrigt

Det finns ytterligare fyra speciella sökord:

  • native
  • transient
  • assert
  • strictfp

nativeär en modifierare som kan skrivas före en metoddeklaration. Det betyder att metodkoden inte är skriven i Java, utan i C++ och är inbäddad i Java-maskinen (tja, eller en DLL). Som du säkert redan gissat är själva Java-maskinen också skriven i C++. Precis som många av de vanliga biblioteksmetoderna.

transientär en modifierare som kan skrivas före instansvariabler (fält i en klass). Den ber Java-maskinen att hoppa över (eller ignorera) den markerade variabeln medan den serialiserar ett objekt i klassen. Du kan lära dig mer om serialisering i Java Collections-uppdraget.

assertkommer även till Java från C++. Med dess hjälp kan du lägga till ytterligare kontroller i din kod (till exempel för att kontrollera om en variabel är null). Det viktiga här är att dessa kontroller är aktiverade eller inaktiverade vid kompilering.

Du kan bygga projektet för intern testning, och dessa kontroller kommer att utföras (ingår i bygget). Eller så kan du inaktivera dem under kompileringen för att skapa den version av programmet som kommer att levereras till användarna.

När det gäller strictfpnyckelordet och den extra precisionen hos Intel-processorer har vi en hel historia för dig .


10. Reserverad men ej använd

Det finns också två nyckelord som är reserverade men som inte används.

  • const
  • goto

Dessa är också ett arv från C++-språket, där de finns och används.


11. Inte nyckelord

Formellt är konstanterna trueoch falsekonstanterna nullinte nyckelord. Som sagt, de har var och en sina egenheter. Du kan inte namnge en metod trueeller en variabel false. Kompilatorn kommer inte att förstå sådan kod och kommer inte att kompilera den.