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
- Åtgärda icke-statiska referenser
- Håller sig inom gränserna i en matris
- Förutse nollpekare
- Hjälper Java att hitta sina filer
Video: ZEITGEIST: MOVING FORWARD | OFFICIAL RELEASE | 2011 2024
Fånga vanliga misstag i Java-programmeringen innan du gör dem. Här är en kort lista över tio saker att se upp i din kod.
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 detaljer 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 button = ny JButton ("Tack …" ); setTitle ("… Connie Santisteban och Brian Walls" ); 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 längre ringa
Temperatur rumTemp = ny temperatur ();
om du inte uttryckligen definierar din egen parameterlösa temperaturkonstruktor.
Åtgärda 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
Den här bokens exempel är inte benägna att kasta NullPointerException utan i verklig Java-programmering, du ser det 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; klass ListMyFiles {public static void main (String args []) {File myFile = new File (" windows" ); String dir [] = myFile. lista(); för (String fileName: dir) {out. 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 sorters saker kan gå fel, men chansen är bra 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.