Logische Fehler in Java

Logische Fehler in der Java-Programmierung kann extrem schwierig zu finden, weil sie keine Art von Codierung Problem reflektieren oder einen Fehler bei der Verwendung von Java-Sprachelemente. Der Code läuft perfekt wie geschrieben - es ist einfach nicht die Aufgabe ausführt, die Sie erwartet, auszuführen.

Als Ergebnis können logische Fehler die schwersten Fehler zu finden sein. Sie brauchen Zeit zu verbringen durch den Code gehen für einen genauen Grund für den Fehler suchen. Hier ist eine Liste von gemeinsamen logischen Fehler, die Java-Entwickler auftreten:

  • Unter Verwendung falscher Operator Vorrang: Die Reihenfolge, in der Java interpretiert Betreiber ist wichtig. Anwendungen produzieren oft das falsche Ergebnis, weil die Entwickler nicht Klammern an den richtigen Stellen umfassen.

    Beispielsweise erzeugt das folgende Beispiel Ausgänge 11, 13, 9 und 8 von den vier Variablen, die alle aufgrund der Lage (oder das Fehlen) der Klammern.

    public class OperatorError {public static void main (String [] args) {// Erstellen Sie einige variables.int MyVar1 = 5 + 4 * 3/2-int MyVar2 = (5 + 4) * 3/2-int MyVar3 = (5 + 4) * (3/2) -int MyVar4 = (5 + (4 * 3)) / 2 - // Ausgabe der result.System.out.println ( "MyVar1:" + MyVar1 + " nMyVar2:" + MyVar2 + " nMyVar3:" + MyVar3 + " nMyVar4:" + MyVar4) -}}
  • Definieren der falschen Zahl: Möglicherweise ist die häufigste logische Fehler Dinge falsch zu zählen. Die Menschen sind mit 1 bis Startzählungen verwendet, und Computer oft zählt beginnen mit 0. So ist es nicht ungewöhnlich ist, eine Aufgabe zu finden, dass die Anwendungen genau ein ausgeschaltet sind bei der Durchführung, ob diese Aufgabe eine Schleife oder die Arbeit mit einer Sammlung von Gegenständen ausgeführt wird.

  • eine Bedingung, unter der Annahme gilt, wenn es nicht ist: Die Entwickler werden in der Erklärung sehen oft verwendet, um eine Bedingung zu definieren, und gehen davon aus, dass die Aussage wahr (oder falsch), ohne die Logik der Aussage zu verifizieren.

    Die Verwendung eines oder Anweisung, wenn Sie wirklich ein gemeint zu verwenden und Anweisung kann auch zu Problemen führen. Die logische Entscheidungen verursacht viele Entwickler zu machen beschäftigt, auch erfahrene Entwickler, eine Menge Probleme. Immer Ihre Annahmen für bedingte Anweisungen überprüfen.

  • Unter Berufung auf Gleitkommazahlen für Präzisionsarbeit: Sie können nicht davon ausgehen, dass Gleitkommazahlen eine bestimmte Anzahl zu liefern. Das heißt, Sie können nicht eine Fließkommazahl für die Gleichstellung auf einen bestimmten Wert überprüfen - Sie stattdessen eine Reihe von Werten auszuführen, um die Prüfung nutzen müssen. Fließkommazahlen sind immer eine Annäherung in Java.

  • Unter Berufung auf ganzzahlige Werte Werte zu messen: Die ganzen Zahlen sind für das Zählen Artikel, weil sie genau sind. Allerdings schaffen viele integer mathematische Operationen ungenaue Ergebnisse. Dies gilt vor allem für die Division, weil der Rest wird aus immer links. (Die Zahl wird nach unten abgerundet.) Verwenden Sie Gleitkommazahlen oder BigDecimal Objekttyp, wenn Sie etwas messen müssen und Präzision ist wichtig.

  • Misplacing ein Semikolon: Es ist möglich, Java-Code zu erstellen, die sehr gut kompiliert und läuft trotz an der falschen Stelle ein Semikolon haben. Hier ein Beispiel:

    public class ForLoopError {public static void main (String [] args) {// Deklarieren Sie die variable.int Count - // Erstellen Sie die loop.for (Count = 1- Countlt; = 10- Count ++) - {// Ausgabe das Ergebnis .System.out.println ( "Count ist" + Count) -}}}

    Beachten Sie, dass das Semikolon erscheint unmittelbar nach der for-Anweisung, anstatt nach dem Code-Block, wie es sollte. Statt Drucken einzelner Werte des Grafen, druckt dieses Beispiel einen einzigen Satz, der sagt Graf 11.

Menü