Video: SAP Tutorial for Beginners 2024
Logische fouten in Java-programmering kunnen extreem moeilijk te vinden zijn omdat ze geen enkele codering of een fout in het gebruik van Java-taalelementen weerspiegelen. De code werkt perfect zoals geschreven - hij voert gewoon niet de taak uit die je verwachtte uit te voeren. Als gevolg hiervan kunnen logische fouten de moeilijkste fouten zijn om te vinden. U moet tijd besteden aan het doornemen van uw code, op zoek naar een precieze reden voor de fout. Hier is een lijst met veelvoorkomende logische fouten die Java-ontwikkelaars tegenkomen:
-
De volgorde waarin Java operators interpreteert, is belangrijk. Toepassingen leveren vaak het verkeerde resultaat op omdat de ontwikkelaar haakjes niet op de juiste plaatsen heeft opgenomen. In het volgende voorbeeld worden bijvoorbeeld de uitvoer van 11, 13, 9 en 8 van de vier variabelen geproduceerd, allemaal vanwege de locatie (of het ontbreken) van de haakjes.
public class OperatorError {public static void main (String [] args) {// Maak enkele variabelen. int MyVar1 = 5 + 4 * 3/2; int MyVar2 = (5 + 4) * 3/2; int MyVar3 = (5 + 4) * (3/2); int MyVar4 = (5 + (4 * 3)) / 2; // Voer het resultaat uit. Systeem. uit. println ("MyVar1:" + MyVar1 + "nMyVar2:" + MyVar2 + "nMyVar3:" + MyVar3 + "nMyVar4:" + MyVar4);}}
Het verkeerde aantal definiëren:
-
Mogelijk de meest voorkomende logische fout is de dingen verkeerd tellen. Mensen zijn gewend om met 1 te beginnen, en computers beginnen vaak met 0 te tellen. Het is dus niet ongebruikelijk om te ontdekken dat applicaties precies één zijn in het uitvoeren van een taak, of die taak nu een lus heeft of met een verzameling items werkt.
-
Ontwikkelaars zullen vaak naar de verklaring kijken die gebruikt wordt om een voorwaarde te definiëren en aannemen dat de verklaring waar is (of fout) zonder de logica te verifiëren van de verklaring. Het gebruik van een of -instructie wanneer u echt een en -instructie wilde gebruiken, kan ook problemen veroorzaken. De logica die wordt gebruikt om beslissingen te nemen veroorzaakt veel ontwikkelaars, zelfs ervaren ontwikkelaars, veel problemen. Controleer altijd uw aannames voor voorwaardelijke verklaringen.
-
U kunt er niet vanuit gaan dat drijvende-kommawaarden een specifiek getal opleveren. Dit betekent dat u een drijvende-kommagetal niet op gelijkheid naar een specifieke waarde kunt controleren; u moet in plaats daarvan een bereik van waarden gebruiken om de controle uit te voeren. Drijvende-komma-getallen zijn altijd een benadering in Java. Zich baserend op gehele waarden om waarden te meten:
-
gehele getallen zijn geweldig voor het tellen van items omdat ze precies zijn.Veel wiskundige bewerkingen met geheel getal maken echter onnauwkeurige resultaten. Dit geldt met name voor deling, omdat de rest altijd is opgehouden. (Het getal is naar beneden afgerond.) Gebruik zwevende-kommawaarden of het BigDecimal-objecttype als u iets wilt meten en precisie belangrijk is. Een puntkomma verkeerd plaatsen:
-
Het is mogelijk om Java-code te maken die perfect compileert en perfect werkt ondanks dat een puntkomma op de verkeerde plaats staat. Hier is een voorbeeld: public class ForLoopError {public static void main (String [] args) {// Declare the variable. int Graaf; // Maak de lus. for (Count = 1; Count <= 10; count ++); {// Geef het resultaat weer. Systeem. uit. println ("Count is" + Count);}}}
Merk op dat de puntkomma onmiddellijk na de for-opdracht verschijnt, in plaats van na het codeblok zoals het hoort. In plaats van individuele waarden van Count af te drukken, drukt dit voorbeeld een enkele zin af die zegt dat Count 11 is.