10 Fouten om te vermijden in Java

10 Fouten om te vermijden in Java - dummies

Vang veelvoorkomende fouten in Java-programmering voordat u ze maakt. Hier is een korte checklist van tien dingen om op te letten in je code.

Hoofdletters plaatsen waar ze thuishoren

Java is een hoofdlettergevoelige taal, dus u moet echt denken aan uw P en Q s - samen met elke andere letter van het alfabet. Hier zijn enkele details waarmee u rekening moet houden bij het maken van Java-programma's:

  • De zoekwoorden van Java zijn allemaal volledig in kleine letters. In een Java if-instructie kan het woord if bijvoorbeeld niet If of IF zijn.

  • Wanneer u namen uit de Java API (Application Programming Interface) gebruikt, moet het geval van de namen overeenkomen met wat in de API wordt weergegeven.

  • U moet er ook voor zorgen dat de namen die u zelf verzonnen, op dezelfde manier worden gekapitaliseerd gedurende uw gehele programma. Als u een variabele myAccount declareert, kunt u er niet naar verwijzen als MyAccount, myaccount of Myaccount. Als u de variabelenaam op twee verschillende manieren kapitaliseert, denkt Java dat u verwijst naar twee totaal verschillende variabelen.

Een switch-statement

doorbreken Als je niet uit een switch-statement komt, krijg je een fall-through. Als de waarde van het couplet bijvoorbeeld 3 is, drukt de volgende code alle drie de regels af: Laatste onthoud, Hij is een lust en heeft geen hersens.

 schakelaar (couplet) {case 3: out. print ("Laatste refrein,"); uit. println ("last refrain,"); geval 2: uit. print ("Hij is een pijn"); uit. println ("hij is een pijn,"); geval 1: uit. print ("Heeft geen hersenen,"); uit. println ("has no brain,");} 

Vergelijking van waarden met een dubbel gelijkteken

Wanneer u twee waarden met elkaar vergelijkt, gebruikt u een dubbel gelijkteken. De regel

 if (inputNumber == randomNumber) 

is correct, maar de regel

 als (inputNumber = randomNumber) 

niet correct is.

Componenten toevoegen aan een GUI

Dit is een constructor voor een Java-frame:

 public SimpleFrame () {JButton-knop = nieuwe JButton ( "Thank you ..."  ); setTitle ( "...  Connie Santisteban  en Brian Walls"  ); setLayout (nieuwe FlowLayout ());  toe te voegen (toets);  knop. addActionListener (deze); setSize (300, 100); setVisible (true);} 

Wat u ook doet, vergeet de aanroep van de add-methode niet. Zonder deze oproep ga je naar al het werk om een ​​knop te maken, maar de knop verschijnt niet in je frame.

Luisteraars toevoegen om gebeurtenissen af ​​te handelen

Kijk opnieuw naar de code van de vorige sectie om een ​​SimpleFrame te construeren. Als u de aanroep van addActionListener bent vergeten, gebeurt er niets wanneer u op de knop klikt. Een tweede keer klikken op de knop helpt niet.

De vereiste constructors definiëren

Wanneer u een constructor met parameters definieert, zoals in

 openbare temperatuur (dubbel getal) 

, maakt de computer niet langer een standaardparameterloze constructor voor u aan. Met andere woorden, u kunt niet langer

 Temperatuur kamerTemp = nieuwe temperatuur (); 

tenzij u expliciet uw eigen parameterloze temperatuurconstructor definieert.

Niet-statische verwijzingen herstellen

Als u probeert de volgende code te compileren, krijgt u een foutmelding:

 klasse WillNotWork {String greeting = "Hello"; public static void main (String args []) {Systeem. uit. println (greeting);}} 

U krijgt een foutmelding omdat main statisch is, maar begroeting is niet statisch.

Binnen een reeks grenzen blijven

Wanneer u een array declareert met tien componenten, hebben de componenten indexen 0 tot en met 9. Met andere woorden, als u

 int guests [] aangeeft nieuwe int [10]; 

dan kunt u de componenten van de gastenreeks raadplegen door gasten [0], gasten [1], enzovoort te schrijven, helemaal tot aan gasten [9]. Je kunt geen gasten schrijven [10], omdat de gastarray geen component met index 10 heeft.

Anticiperen op null-pointers

De voorbeelden van dit boek zijn niet geneigd om de NullPointerException te gebruiken, maar in real-life Java-programmering, je ziet die uitzondering de hele tijd. Een NullPointerException komt tot stand wanneer u een methode aanroept die een object zou moeten retourneren, maar in plaats daarvan retourneert de methode niets. Hier is een goedkoop voorbeeld:

 importeer statische java. Lang. Systeem. uit; java importeren. io. Het dossier; class ListMyFiles {public static void main (String args []) {File myFile = new File ( " windows"  ); String dir [] = mijnbestand. lijst(); for (String fileName: dir) {out. println (bestandsnaam);}}} 

Dit programma geeft een lijst weer van alle bestanden in de Windows-map.

Maar wat gebeurt er als u windows verandert in iets anders - iets dat niet de naam van een map vertegenwoordigt?

 Bestand myFile = nieuw bestand ( "& *% $!!"  ); 

Dan retourneert de nieuwe File-aanroep null (een speciaal Java-woord dat nothing betekent), dus de variabele myFile bevat niets. Later in de code verwijst de variabele dir naar niets en mislukt de poging om alle dir-waarden door te lussen. Je krijgt een grote NullPointerException en het programma stort tegen je aan.

Controleer de API-documentatie van Java om dit soort calamiteiten te voorkomen. Als u een methode aanroept die null kan retourneren, voegt u code voor het afhandelen van uitzonderingen toe aan uw programma.

Java helpen zijn bestanden te vinden

U maakt Java-code, let op uw eigen bedrijf, wanneer de computer u een NoClassDefFoundError geeft. Allerlei dingen kunnen fout gaan, maar de kans is groot dat de computer een bepaald Java-bestand niet kan vinden. Om dit te verhelpen, moet u alle planeten correct uitlijnen:

  • Uw projectdirectory moet alle Java-bestanden bevatten waarvan de naam in uw code wordt gebruikt.

  • Als u benoemde pakketten gebruikt, moet uw projectdirectory over de juiste naam beschikken over submappen.

  • Uw CLASSPATH moet correct zijn ingesteld.