? Når du skrive applikationer i Java din kode for at overholde syntaksregler af sproget. Dette omfatter teksttegnene og tegnsætning symboler , du bruger til at erklære variabler , metoder og klasser . Ud over at skabe kode syntaks , der er korrekt struktureret du nødt til at konstruere dine programmer på en måde, der afspejler logikken på arbejde i din ansøgning projekt. Semantiske fejl er fejl i denne logik . Både syntaks og semantiske fejl er almindelige problemer i Java udvikling. Java Syntaks
Java syntaks er specifik og stive i modsætning visse andre sprog, hvor der er en vis grad af fleksibilitet. Hvis din Java-kode ikke overholder de grammatiske krav i sproget vil det ikke kompilere eller køre . Den følgende eksempelkode indeholder to syntaksfejl :
Strin myTerms = kode program computer tastatur " ,
Den første fejl er i datatype er angivet for den variable bliver anmeldt og instantieres i denne linje af kode . Strengen datatype mangler sin endelige karakter. Den værdi, der er tildelt variablen også forkert opbygget som åbningen sæt citater er udeladt. Hvis du skriver denne kode i en Java IDE (Integrated Development Environment ), vil det mislykkes at kompilere og IDE vil advare dig til de syntaksfejl .
Kontrolstrukturer
Java-sproget giver programmører med en række kontrolstrukturer at gennemføre komplekse strømme af henrettelse. Den følgende loop skitse indeholder en syntaksfejl : for ( int i = 0; i < 10; i + + { System.out.println ( i) ;}
indledende afsnit af løkken mangler en afsluttende beslaget, så compileren vil undlade at behandle kroppen af løkken ordentligt følgende betingede erklæring sektion indeholder også en fejl : if ( num <10 ) { int newNum = num +1 ;} System.out.println ( newNum )
.
Denne kode er forkert, fordi linjen efter den betingede erklæring forsøger at referere til en variabel, der ikke længere er i omfang. som en syntaksfejl dette vil forhindre kompilering.
Logiske Issues
Java-programmer kan indeholde semantikfejl afhængigt af strukturerne involverede og typer Arrays og løkker ofte involverer logiske problemer resulterer i semantiske fejl som i følgende kodeeksempel : . int someNums = {3 , 5, 1 , 7, 2 }; for (int i = 0; i < = someNums.length , i + +) { System.out.println ( someNums [i] );}
fejl er i den betingede test er udgør en del af løkken omrids. testen kontrollerer, at tællervariablen er enten mindre end eller lig med længden af array der gentages igennem . Når sløjfen udfører for sidste gang koden i den vil forsøge at få adgang til et element, der er out of bounds . Dette skyldes, at første index i et array er nul, og det endelige indeks er én mindre end array længden. Denne kode vil kompilere og køre , så mislykkes, når løkken udfører .
fejl Håndtering
Syntaks og semantikfejl kræver forskellige tilgange. i de fleste tilfælde vil du blive bevidst om syntaks fejl, mens du skriver din kode som din IDE vil fremhæve dem med fejlmeddelelser og advarsler. du vil ikke være i stand til at kompilere din kode indtil der ikke er syntaksfejl tilbage i den. semantikfejl er mere tilbøjelige til at blive vist , når du kører dit program. Nogle semantikfejl blevet klart straight væk som de forårsager dit program til at gå ned . dog kan andre kun blive tydeligt efter en omfattende test.