Huis Persoonlijke financiën 10 Fouten om te vermijden in Java Programmeren - dummies

10 Fouten om te vermijden in Java Programmeren - dummies

Inhoudsopgave:

Video: Learn Java Programming with Beginners Tutorial 2024

Video: Learn Java Programming with Beginners Tutorial 2024
Anonim

Hier zijn 10 snelle herinneringen om gemakkelijke fouten te voorkomen wanneer je Android-apps met Java programmeert code. Het schrijven van uw eigen Java-programma's zal veel eenvoudiger en vloeiender zijn als u deze checklist doorloopt.

Zet hoofdletters waar ze horen

Java is een hoofdlettergevoelige taal, dus je moet echt denken aan je P en Q s - samen met elke andere letter van het alfabet. Hier zijn enkele concepten 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 Application Programming Interface (API) 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 het hele 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.

Break out van een switch-statement

Als je niet uit een switch-statement komt, krijg je fall-through. Als de waarde van rol bijvoorbeeld 7 is, worden in de volgende code alle drie de woorden afgedrukt: winnen, doorgaan en verliezen:

overschakelen (rol) {case 7: systeem. uit. println ("win"); case 10: Systeem. uit. println ("verder"); case 12: Systeem. uit. println ("lose");}

Vergelijk 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.

Luisteraars toevoegen om gebeurtenissen af ​​te handelen

U wilt weten wanneer de gebruiker op een widget klikt, wanneer een animatie eindigt, of wanneer er iets anders gebeurt, dus u maakt luisteraars:

openbare klasse MainActivity breidt activiteit uit OnClickListener, AnimationListener {… public void onClick (View view) {…} public void onAnimationEnd (Animation animation) {…}

Als u luisteraars maakt, moet u onthouden dat u de listeners moet instellen:

ImageView-widget = nieuwe ImageView (dit); widget. setOnClickListener (this); … AlphaAnimation animation = new AlphaAnimation (0, 0F, 1. 0F); animatie. setAnimationListener (this); …

Als u de aanroep van setOnClickListener bent vergeten, gebeurt er niets wanneer u op de widget klikt. Een tweede keer klikken op de widget helpt niet.

Definieer de benodigde constructors

Wanneer u een constructor met parameters definieert, zoals in

public Temperature (dubbel nummer)

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

Temperatuur roomTemp = new Temperature () aanroepen;

tenzij u expliciet uw eigen parameterloze temperatuurconstructor definieert.

Niet-statische verwijzingen

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.

Blijven binnen een array

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

int guests [] = nieuw int [10];

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

Anticiperen op null-pointers

Deze voorbeelden zijn niet geneigd om de NullPointerException te gebruiken, maar in real-life Java-programmering kun je zie die uitzondering de hele tijd. Een NullPointerException komt tot stand wanneer u een methode aanroept voor een uitdrukking die geen "legitieme" waarde heeft. Hier is een goedkoop voorbeeld:

openbare klasse ThrowNullPointerException {public static void main (String [] args) {String myString = null; display (myString);} static void display (String aString) {if (! aString. bevat ("vertrouwelijk")) {Systeem. uit. println (aString);}}}

De weergavemethode drukt alleen een tekenreeks af als die tekenreeks het woord vertrouwelijk niet bevat. Het probleem is dat de variabele myString (en dus de parameter aString) niet verwijst naar een tekenreeks van welke soort dan ook - zelfs niet naar de lege tekenreeks (").

Wanneer de computer de aanroep naar aString bereikt. bevat, zoekt de computer naar een bevat-methode behorend tot null. Maar nul is niets. De nulwaarde heeft geen methoden. Dus je krijgt een grote NullPointerException en het programma stort tegen je aan.

Als u dit soort calamiteiten wilt vermijden, moet u twee keer nadenken over elke aanroep van een methode in uw code. Als de expressie vóór de punt mogelijk nul kan zijn, voeg dan exception-handling code aan uw programma toe:

try {if (! AString. Contains ("confidential")) {System. uit. println (aString);}} catch (NullPointerException e) {Systeem. uit. println ("De tekenreeks is null.");}

Gebruik machtigingen

Sommige apps hebben expliciete rechten nodig. Een app kan bijvoorbeeld via internet met de servers van Twitter praten. Dit werkt niet tenzij je een element toevoegt aan de AndroidManifest van de app. xml file:


Als je vergeet om het element aan je AndroidManifest toe te voegen. xml-bestand kan de app niet communiceren met de servers van Twitter. De app mislukt zonder een nuttig foutbericht weer te geven. Jammer!

De activiteit niet gevonden

Als u een tweede activiteit voor uw app maakt, moet u een nieuw element toevoegen in AndroidManifest van de app.XML-bestand. Een Android-app kan bijvoorbeeld twee activiteiten hebben: MainActivity en MyListActivity.

Eclipse maakt automatisch een


Als u dit element niet toevoegt, kan Android de klasse MyListActivity niet vinden, ondanks de MyListAcitivity. java-bestand bevindt zich in de Eclipse-projectmap van de app. Uw app crasht met een ActivityNotFoundException.

En dat maakt het verschil.

10 Fouten om te vermijden in Java Programmeren - dummies

Bewerkers keuze

Hoe u Flash-video maakt en codeert - dummies

Hoe u Flash-video maakt en codeert - dummies

Als de pagina's die u maakt, zijn gewonnen ' t kan worden bekeken op mobiele apparaten (zoals een iPad of een smartphone), kunt u webpagina's maken met prachtige Flash-video. Adobe Flash Professional CS6 heeft een eigen ingebouwde video-encoder. Full-motionvideo in Flash is iets heel moois. U past de video aan voor het bekijken door de doelgroep ...

Hoe een aanpasbare interface te maken in CSS3 - dummies

Hoe een aanpasbare interface te maken in CSS3 - dummies

De grote variëteit en soorten schermen gebruikt om informatie weer te geven, maakt het nodig dat uw CSS3-commando's de gebruiker toestaan ​​om het formaat van de elementen naar wens aan te passen. In de meeste gevallen kunt u de gebruiker eenvoudig toestaan ​​om het element op elke gewenste grootte te maken. Er kunnen zich echter situaties voordoen waarin u de grootte van de grootte moet controleren ...

Hoe u een eenvoudige tabel op uw webpagina maakt - dummies

Hoe u een eenvoudige tabel op uw webpagina maakt - dummies

Tabellen laten u organiseer informatie op uw webpagina en geef het een georganiseerde uitstraling die uw bezoekers nuttig zullen vinden. Bij gebruik zoals bedoeld, hebben tabellen rijen en kolommen. Voor elke spot waar een rij en kolom elkaar kruisen, hebt u een tabelcel. Elke cel kan zijn eigen opmaak hebben: de gegevens erin ...

Bewerkers keuze

Hoe Postproduction Shareninging Filters werken - dummies

Hoe Postproduction Shareninging Filters werken - dummies

Verscherpingsfilters werken in postproductie door de randen (of aangrenzende gebieden met tonaal contrast) te benadrukken aan elkaar) in een afbeelding. Ze creëren een fijne highlight aan de donkere kant van de rand en een piepklein lowlight aan de lichtere kant van de rand. Dit toegevoegde contrast zorgt ervoor dat de randen er scherper uitzien vanaf een ...

HDR Work-Flow voor foto's met één belichting - dummies

HDR Work-Flow voor foto's met één belichting - dummies

In grote lijnen, enkele belichting hoog dynamisch bereik volgt dezelfde workflow als HDR-fotografie tussen haakjes. Er kunnen kleine verschillen zijn, dus hier is een overzicht van de werkstroom: configureer uw camera voor single-shot HDR. Het enige dat u zoekt, is de beste foto die u kunt maken. Besteed aandacht aan de lichtomstandigheden, het onderwerp, beweging en ...

Geavanceerde compacte en superzoomcamera's voor HDR-fotografie - dummies

Geavanceerde compacte en superzoomcamera's voor HDR-fotografie - dummies

Stap omhoog van compacte digitale camera's binnen het budgetbereik, vindt u duurdere compacte digitale camera's voor HDR-fotografie, ook wel high-end compacts, superzoomlenzen en dSLR-look-alikes genoemd. Er zijn zoveel vaak overlappende categorieën dat het je hoofd laat draaien. De twee dingen die deze reeks camera's gemeen hebben, zijn hun ...

Bewerkers keuze

In te schakelen Class Tracking in QuickBooks 2013 - dummies

In te schakelen Class Tracking in QuickBooks 2013 - dummies

Om activity-based costing te gebruiken (ABC ) in QuickBooks 2013 moet u de QuickBooks Class Tracking-functie inschakelen. Met Class Tracking kunt u inkomsten- en onkostentransacties categoriseren als niet alleen vallen in inkomsten- en uitgavenrekeningen, maar ook als vallen in bepaalde klassen. Volg deze stappen om Class Tracking in QuickBooks in te schakelen: Kies Bewerken → Voorkeuren ...

Gebruikt om een ​​exemplaar van een QuickBooks-gegevensbestand te gebruiken - dummies

Gebruikt om een ​​exemplaar van een QuickBooks-gegevensbestand te gebruiken - dummies

Ongeacht of de client verzendt handmatig een accountantskopie van een QuickBooks-gegevensbestand, e-mails een accountantsexemplaar, of verzendt een accountantskopie via de Intuit-bestandsoverdrachtservice, u gebruikt de kopie van de accountant door Bestand → Verzend bedrijfsdossier → Accountantskopie → Open & converteer overzetten te kiezen Bestand commando. Wanneer u deze opdracht kiest, geeft QuickBooks een ...

Hoe Audit Trails te gebruiken in QuickBooks - dummies

Hoe Audit Trails te gebruiken in QuickBooks - dummies

Als u besluit om meerdere gebruikers toegang te geven tot de QuickBooks-gegevens bestand, zult u de QuickBooks Audit Trail-functie waarderen, die bijhoudt wie welke wijzigingen aan het QuickBooks-gegevensbestand aanbrengt. U kunt transacties niet verwijderen uit de lijst of geschiedenis van de audittrail, behalve door gegevens te archiveren en te condenseren. Audit trail inschakelen ...