? När du skriver program i Java koden måste iaktta syntaxreglerna av språket . Detta inkluderar tecken och symboler skiljetecken du använder för att deklarera variabler , metoder och klasser . Förutom att skapa kod syntax som är korrekt strukturerad du behöver för att bygga dina program på ett sätt som återspeglar logiken i arbetet inom din ansökan projektet . Semantiska fel är fel i denna logik . Både syntax och semantiska fel är vanliga problem i Java utveckling . Java Syntax
Java syntax är specifik och styv skillnad vissa andra språk där det finns en viss flexibilitet . Om din Java-kod inte uppfyller de grammatiska kraven i språket kommer det inte att kompilera eller köra . Följande exempelkod innehåller två syntaxfel :
Strin myTerms = kodprogrammet datorns tangentbord " ,
Det första felet är i datatyp som anges för variabeln deklareras och instansieras i denna rad av kod. Datatypen String är saknad dess slutliga karaktär . Värdet som tilldelas variabeln är också felaktigt uppbyggd som öppningen uppsättning citat har utelämnats . Om du skriver här koden i en Java IDE ( Integrated Development Environment ) inte kommer att kunna sammanställa och IDE kommer att varna dig till syntaxfel .
Kontrollstrukturer
Java ger programmerare med ett utbud av kontrollstrukturer för att genomföra komplexa flöden av avrättning . Följande loop kontur innehåller ett syntaxfel : for ( int i = 0 ; i < 10 , i + + { System.out.println ( i) ;}
Öppningen delen av slingan saknas en avslutande haken så kompilatorn kommer att misslyckas med att behandla kroppen av slingan ordentligt följande villkorssats avsnitt också innehåller ett fel : if ( num < 10 ) { int newNum = num +1 ; } System.out.println ( newNum ) ;
.
koden är felaktig, eftersom den raden efter villkorlig uppgift försöker referera till en variabel som inte längre är i omfattning . som ett syntaxfel detta kommer att förhindra sammanställning .
Logiska frågor
Java-program kan innehålla semantiska fel beroende på de strukturer som deltar och typer arrayer och loopar ofta involverar logiska problem som uppstår i semantiska fel som i följande exempelkod : . int someNums = { 3 , 5 , 1 , 7 , 2 } , for (int i = 0 ; i < = someNums.length , i + + ) { System.out.println ( someNums [ i] ) ; }
felet ligger i det villkorliga testet är utgör en del av slingan kontur . testet kontrollerar att räknarvariabeln är antingen mindre än eller lika med längden av arrayen som itereras igenom . När slingan exekverar för sista gången koden inom den försöker komma åt ett element som är utanför gränserna. Detta beror på att det första indexet i en array är noll och det slutliga indexet är ett mindre än arrayen längd. Denna kod kommer kompilera och köra , sedan misslyckas när slingan exekverar .
felhantering
Syntax och semantiska fel kräver olika angreppssätt . i de flesta fall kommer du att bli medveten om syntaxfel när du skriver din kod som din IDE kommer att belysa dem med felmeddelanden och varningar . du kommer inte att kunna kompilera din kod tills det inte finns några syntaxfel kvar. semantiska fel är mer sannolikt att visas när du kör ditt program . Vissa semantiska fel blir klart genast som de orsakar ditt program att krascha . dock kan andra bara bli uppenbart efter omfattande tester .