Innehållsförteckning:
- Lägga till stora bokstäver där de hör hemma
- Bryt ut av ett omkopplingsutlåtande
- Jämför värden med ett dubbel lika tecken
- Lägga till komponenter i en GUI
- Lägga till lyssnare för att hantera händelser
- Definiera de nödvändiga konstruktörerna
- Fasta icke-statiska referenser
- Håller sig inom gränserna i en matris
- Förutse nollpekare
- Hjälper Java att hitta sina filer
Video: DIY: IKEA TARVA Makeover. Indian Inlay Bed Table. Transformed With Stencil. Feng Shui Principles. 2024
Det enda som aldrig gör misstag är de människor som aldrig gör någonting alls. Men noggrann planering kan hjälpa dig att undvika några av de vanligaste Java goofs, som följande.
Lägga till stora bokstäver där de hör hemma
Java är ett språkkänsligt språk, så du måste verkligen tänka på din P s och Q s - tillsammans med alla andra bokstäver av alfabetet. Här är några saker att tänka på när du skapar Java-program:
- Java-sökord är helt små bokstäver. I ett Java-uttalande kan ordet om inte vara Om eller IF.
- När du använder namn från Java API (Application Programming Interface) måste namnen matcha vad som visas i API: n.
- Du måste också försäkra dig om att de namn du fyller upp aktiveras på samma sätt under hela ditt program. Om du deklarerar en variabel myAccount kan du inte referera till den som MyAccount, myaccount eller Myaccount. Om du aktiverar variabelnamnet två olika sätt anser Java att du refererar till två helt olika variabler.
Bryt ut av ett omkopplingsutlåtande
Om du inte bryter ut från ett omkopplingsmeddelande får du genomgång. Till exempel, om värdet av vers är 3, skriver följande kod alla tre linjer - Senast avstå, Han är en smärta och har ingen hjärna.
switch (vers) {
fall 3:
ut. skriva ut ("Senast avstå");
ut. println ("last refrain");
fall 2:
ut. skriva ut ("han är en smärta");
ut. println ("han är en smärta");
fall 1:
ut. skriva ut ("Har ingen hjärna");
ut. println ("har ingen hjärna");
}
Jämför värden med ett dubbel lika tecken
När du jämför två värden med varandra använder du ett dubbel lika tecken. Linjen
om (inputNumber == randomNumber)
är korrekt, men raden
om (inputNumber = randomNumber)
är inte korrekt.
Lägga till komponenter i en GUI
Här är en konstruktör för en Java-ram:
public SimpleFrame () {
JButton-knapp = ny JButton ("Tack …" );
setTitle ("… Katie Feltman och Heidi Unger" );
setLayout (new FlowLayout ());
lägga (knapp);
-knappen. addActionListener (detta);
setSize (300, 100);
setVisible (true);
}
Oavsett vad du gör, glöm inte samtalet till add-metoden. Utan detta samtal går du till allt arbete med att skapa en knapp, men knappen visas inte på din ram.
Lägga till lyssnare för att hantera händelser
Titta igen på den föregående sektionens kod för att skapa en SimpleFrame.Om du glömmer samtalet till addActionListener händer inget när du klickar på knappen. Att klicka på knappen hårdare en andra gång hjälper inte.
Definiera de nödvändiga konstruktörerna
När du definierar en konstruktör med parametrar, som i
allmän temperatur (dubbelnummer), skapar datorn inte längre en standardparameterlösare för dig. Med andra ord kan du inte ringa
Temperatur roomTemp = Ny temperatur ();
om du inte definierar din egen parameterlösa temperaturkonstruktor.
Fasta icke-statiska referenser
Om du försöker kompilera följande kod får du ett felmeddelande:
klass WillNotWork {
String greeting = "Hello";
statisk statisk tomt huvud (String args []) {
System. ut. println (hälsning);
}
}
Du får ett felmeddelande eftersom huvudmenyn är statisk, men hälsning är inte statisk.
Håller sig inom gränserna i en matris
När du förklarar en matris med tio komponenter har komponenterna index 0 till 9. Med andra ord, om du förklarar
int gäster [] = ny int [10];
då kan du hänvisa till gästarrangemangets komponenter genom att skriva gäster [0], gäster [1] och så vidare helt upp till gästerna [9]. Du kan inte skriva gäster [10], eftersom gästerna har ingen komponent med index 10.
Förutse nollpekare
I det verkliga Java-programmet ser du undantaget hela tiden. En NullPointerException kommer när du ringer en metod som ska returnera ett objekt, men istället returnerar metoden ingenting. Här är ett billigt exempel:
importera statisk java. lang. Systemet. ut;
importera java. io. Fil;
klasslistaMyFiles {
offentlig statisk tomt huvud (String args []) {
Fil myFile = Ny fil (" windows" );
String dir [] = myFile. lista();
för (String fileName: dir) {
ut. println (filename);
}
}
}
Detta program visar en lista över alla filer i Windows-katalogen.
Men vad händer om du ändrar windows till något annat - något som inte representerar namnet på en katalog?
Fil myFile = Ny fil ("# *% $!!" );
Sedan returnerar det nya filsamtalet null (ett speciellt Java-ord som betyder ingenting ), så variabeln myFile har inget i den. Senare i koden hänvisar variabeln dir till ingenting, och försöket att slinga igenom alla dir-värdena misslyckas olyckligt. Du får en stor NullPointerException, och programmet kommer att krascha ner omkring dig.
För att undvika denna typ av katastrof, kolla Java API-dokumentation. Om du ringer en metod som kan returnera null lägger du till undantagshanteringskod i ditt program.
Hjälper Java att hitta sina filer
Du sammanställer Java-kod och tänker på ditt eget företag när datorn ger dig en NoClassDefFoundError. Alla typer av saker kan gå fel, men chansen är att datorn inte kan hitta en viss Java-fil. För att åtgärda detta måste du anpassa alla planeter korrekt.
- Din projektkatalog måste innehålla alla Java-filer vars namn används i din kod.
- Om du använder namngivna paket måste din projektkatalog ha lämpliga namngivna underkataloger.
- Din CLASSPATH måste vara korrekt inställd.