? Når du skriver programmer i Java koden trenger å observere syntaksregler av språket. Dette inkluderer teksttegnene og tegnsetting symboler du bruker til å erklære variabler, metoder og klasser . I tillegg til å skape kode syntaks som er riktig strukturert du trenger å konstruere programmene dine på en måte som gjenspeiler logikken virker i din søknad prosjektet. Semantiske feil er feil i denne logikken . Både syntaks og semantiske feil er vanlige problemer i Java utvikling. Java Syntax
Java syntaks er konkret og rigid motsetning til visse andre språk der det er en grad av fleksibilitet . Hvis din Java-koden ikke overholder grammatiske kravene i språk det ikke vil kompilere eller løpe. Følgende eksempelkode inneholder to syntaksfeil :
strin myTerms = kode program datamaskin tastatur " ;
Den første feilen er i datatype er angitt for variabelen blir deklarert og starte i denne linjen av kode . Strengen datatype mangler sin endelige karakter. Verdien blir tildelt variabelen er også feilaktig strukturert som åpningen sett av sitater har blitt utelatt . Hvis du skriver denne koden i en Java IDE (Integrated Development Environment) det vil mislykkes i å kompilere og IDE vil varsle deg til syntaksfeil .
Kontrollstrukturer
Java-språket gir programmerere med en rekke kontroll strukturer til å gjennomføre komplekse strømmer av utførelsen. Følgende løkke disposisjon inneholder en syntaksfeil : for ( int i = 0 ; i < 10; i + + { System.out.println ( i) ;}
Åpningen delen av loopen mangler en avsluttende braketten slik kompilatoren vil mislykkes i å behandle kroppen av loopen skikkelig følgende betinget utsagn delen inneholder også en feil: if ( num < 10 ) { int newNum = num 1 ;} System.out.println ( newNum ) ;
.
denne koden er feil fordi linjen etter den betingede utsagn forsøker å referere til en variabel som ikke lenger er i omfang . som en syntaksfeil dette vil hindre kompilering.
Logiske Issues
Java-programmer kan inneholde semantiske feil avhengig av strukturer og typer involvert Arrays og looper ofte innebære logiske problemer som resulterer i semantiske feil som i følgende eksempelkode : . int someNums = { 3 , 5 , 1 , 7 , 2 }; for ( int i = 0 ; i < = someNums.length ; i + + ) { System.out.println ( someNums [ i] ); }
feilen er i den betingede testen er som danner en del av sløyfen omriss . testen kontrollerer at tellervariabelen er enten mindre enn eller lik lengden av tabellen blir iterated gjennom. Når løkken utfører for siste gang koden innenfor det vil forsøke å få tilgang til et element som er utenfor banen . Dette er fordi den første indeksen i en matrise er null og den endelige indeksen er én mindre enn matrisen lengde. Denne koden vil kompilere og kjøre , så mislykkes når løkken utfører .
feil håndtering
Syntax og semantiske feil krever ulike tilnærminger. I de fleste tilfeller vil du bli klar over syntaksfeil mens du skriver koden som IDE vil markere dem med feilmeldinger og advarsler. du vil ikke være stand til å kompilere koden til det ikke er syntaksfeil igjen i den. semantiske feil er mer sannsynlig å dukke opp når du kjører programmet . blitt noen semantiske feil klart med en gang da de føre til at programmet krasjer. imidlertid kan andre bare bli tydelig etter omfattende testing.