1. Liste over ord

Som i ethvert programmeringssprog har Java ord, der har en særlig betydning. For eksempel returneller ifeller while. Disse ord kaldes nøgleord ( nøgleord ) og betragtes som reserveret af Java-sproget.

Du kan ikke bruge disse ord som et variabelnavn, metodenavn eller klassenavn. Compileren vil altid fortolke dem på en strengt defineret måde. Der er 54sådanne 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 kender allerede nogle af dem, og vi taler om resten lige nu.


2. Primitive typer

Som du sikkert husker, har Java 8 primitive typer, og hver af dem har sit eget søgeord:

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

Hvis du har et tilstrækkeligt nysgerrigt sind, er der en god chance for, at du allerede har prøvet at navngive en variabel int. Og det lykkedes selvfølgelig ikke. Det er netop fordi navnene på alle de primitive typer er reserverede ord.

Typen voidfalder også ind under denne kategori.


3. Løkker og grene

Sløjfer og grene giver os også en ret lang liste af søgeord:

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

Kun 10 ord er nok til, at sproget giver flere slags loops, brancher og kontroludsagn til at afbryde loops ( breakog continue) og flere brancher ( switch). Du er allerede bekendt med alle disse søgeord.


4. Undtagelser

Undtagelser giver os 5 nøgleord:

  • try
  • catch
  • finally
  • throw
  • throws

Disse er alle en del af en try-catch-finallyblok. Operatoren til at kaste undtagelser er throw, og throwsnøgleordet understøtter checkedundtagelsesmekanismen.

Den gode nyhed er, at du allerede er bekendt med alle søgeord relateret til undtagelser, så du er også allerede mest bekendt med at arbejde med undtagelser.


5. Synlighed

Her er der kun tre nøgleord, og du kender dem allerede.

  • private
  • protected
  • public

publicgiver adgang til en metode/variabel/klasse fra hvor som helst i programmet.

privateforbyder adgang til en metode/variabel/klasse fra et hvilket som helst sted i programmet. Adgang er kun tilladt inden for samme klasse som en metode markeret med modifikatoren private.

protectedfungerer på samme måde som private, men giver også adgang til en metode/variabel/klasse fra nedarvede klasser. Fordelene ved denne modifikator vil blive tydeligere for dig, når du bliver fortrolig med OOP og arv.


6. Arbejde med klasser

Der er 11 søgeord i denne kategori:

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

De kan opdeles i 4 grupper.

Den første gruppe vedrører oprettelsen af ​​klasser: class, interfaceog enum. Du har allerede lært om at erklære klasser og optællinger . Nøgleordet interfacebruges til at erklære endnu en klasselignende type: grænseflader.

Den anden gruppe består af pakke- og importnøgleord , som du allerede er bekendt med. Pakkenøgleordet bruges til at angive pakken for en klasse i en klassefil. Og importer så vi kan bruge korte navne på eksterne klasser, når vi skriver vores egne klasser.

Nøgleordene extendsog implementsbruges til arv. Du vil tage et kig på dem helt i begyndelsen af ​​Java Core-questen.

Endelig består den sidste gruppe af static, final, default, og abstractmodifikatorerne. Du ved allerede lidt om staticog final. Nøgleordet abstractbruges til at gøre en klasse eller metode abstrakt. Du får flere detaljer, når du studerer arv i Java Core-quest.


7. Arbejde med objekter og variabler

Der bruges seks nøgleord mere, når man arbejder med objekter, metoder og variabler.

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

Operatøren newbruges til at oprette nye objekter - det ved du allerede.

Operatoren instanceofbruges til at verificere, at en variabel indeholder en reference til et objekt af en bestemt type. Du er allerede bekendt med det.

Nøgleordet thisbruges til at løse problemer, der opstår på grund af skyggelægningen af ​​instansvariabler og -metoder. Du har også studeret dette.

Nøgleordet superer analogt med this, men det bruges til at henvise til metoderne og variablerne i den overordnede klasse. Forældreklassen kaldes også for superklassen.

Udsagnet returnbruges til at returnere værdien af ​​en metode og også til at afslutte udførelsen af ​​en metode.

Endelig varer det til at erklære en variabel, hvis type automatisk udledes. Du er allerede bekendt med dette.


8. Multithreading

På niveauet for Java-syntaks er multithreading repræsenteret af kun to ord.

  • synchronized
  • volatile

Vi vil ikke engang røre dem. Kom til Java Multithreading- quest, og så dykker vi ind.


9. Diverse

Der er yderligere 4 specielle søgeord:

  • native
  • transient
  • assert
  • strictfp

nativeer en modifikator, der kan skrives før en metodedeklaration. Det betyder, at metodekoden ikke er skrevet i Java, men i C++ og er indlejret i Java-maskinen (nå, eller en DLL). Som du sikkert allerede har gættet, er selve Java-maskinen også skrevet i C++. Ligesom mange af de almindelige biblioteksmetoder.

transienter en modifikator, der kan skrives før instansvariabler (felter i en klasse). Den beder Java-maskinen om at springe over (eller ignorere) den markerede variabel, mens den serialiserer et objekt i klassen. Du kan lære mere om serialisering i Java Collections-questen.

assertkommer også til Java fra C++. Med dens hjælp kan du tilføje yderligere kontroller til din kode (for eksempel for at kontrollere, om en variabel er nul). Det vigtige her er, at disse kontroller er aktiveret eller deaktiveret på kompileringstidspunktet.

Du kan bygge projektet til intern test, og disse kontroller vil blive udført (inkluderet i build). Eller du kan deaktivere dem under kompilering for at oprette den version af programmet, der vil blive leveret til brugerne.

Hvad angår strictfpnøgleordet og den ekstra præcision af Intel-processorer, har vi en hel historie til dig .


10. Reserveret, men ikke brugt

Der er også to søgeord, der er reserveret, men ikke brugt.

  • const
  • goto

Disse er også en arv fra C++ sproget, hvor de findes og bruges.


11. Ikke søgeord

Formelt set er konstanterne og truekonstanterne ikke nøgleord. Når det er sagt, har de hver deres særegenheder. Du kan ikke navngive en metode eller en variabel . Compileren vil ikke forstå en sådan kode og vil ikke kompilere den.falsenulltruefalse