Java Academy · Oppitunti

Yleiset sudenkuopat ja virheenkorjausviestit

Tunnistakaa if/else-koodin yleiset virheet, lukekaa kääntäjän ja ajonaikaiset virheilmoitukset sekä käyttäkää tulostukseen perustuvaa virheenkorjausta tehokkaasti.

Oppitunti 3/38 vaihetta

Yleiset sudenkuopat ja virheenkorjausviestit on ilmainen Java Academy-oppitunti CoddyKitissä. Tämä on oppitunti 3/3. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Java Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Java Academy-kurssilla on yhteensä 3 oppituntia.

Miksi virheitä korjataan

Miksi virheenkorjausta tarvitaan? Virheitä esiintyy. Opettele lukemaan viestejä, paikantamaan syy ja varmistamaan korjaus. Yksinkertaiset println-tarkistukset ovat usein arvailua tehokkaampia.

Kääntäjän virheet

Yleiset kääntäjän virheet

  • cannot find symbol: väärä nimi tai puuttuva import
  • incompatible types: väärän tyypin sijoittaminen
  • missing ;: puolipisteeseen tai aaltosulkeeseen liittyvä ongelma
  • unclosed string literal: lainausmerkit eivät täsmää
int x = 5
System.out.println("Hi")

Logiikkavirheet

Logiikkavirheet

  • Väärä operaattori (> eikä >=)
  • Puuttuvat aaltosulkeet: vain ensimmäistä lausetta ohjataan
  • Yksi liikaa tai liian vähän: rajat kuten <= ja <
if (x > 5)
System.out.println("Big");
System.out.println("Also big?");

Käytä aaltosulkeita useiden rivien ryhmittelemiseen.

Merkkijonojen yhtäsuuruus

Merkkijonot: vertaa sisältöä equals-metodilla, älä ==-operaattorilla. == tarkistaa viitteet.

String a = "Ada";
String b = new String("Ada");
System.out.println(a == b);
// false (usually)
System.out.println(a.equals(b));
// true

Pinojäljet

Ajon aikaiset virheet näyttävät pinojäljen. Lue ylimmät rivit kohdasta oma koodisi. Esimerkiksi NullPointerException tietyn tiedoston ja rivin kohdalla.

Tulosta muuttujia oletusten tarkistamiseksi tai suojaa koodi tarkistuksilla.

Virheenkorjauksen esittely

Kokeilkaa: Havainnoikaa puuttuvien ja mukana olevien aaltosulkeiden ero sekä verratkaa merkkijonojen käsittelyssä ==-operaattoria ja equals()-metodia.

public class Main {
  public static void main(String[] args) {
    int x = 4;

    // Missing braces example
    if (x > 5)
      System.out.println("x > 5 (without braces)");
    System.out.println("This line looks conditional but always runs");

    // Fixed with braces
    if (x > 5) {
      System.out.println("x > 5 (fixed)");
      System.out.println("Now both lines are conditional");
    } else {
      System.out.println("x <= 5 branch");
    }

    String s1 = "Ada";
    String s2 = new String("Ada");
    System.out.println("s1 == s2: " + (s1 == s2));
    System.out.println("s1.equals(s2): " + s1.equals(s2));
  }
}

Virheenkorjauksen vaiheet

Järjestäkää vaiheet: Asettakaa virheenkorjauksen perusvaiheet järkevään järjestykseen.

Kertaus ja seuraava aihe

Kertaus: Näitte tyypillisiä käännös- ja ajonaikaisia ilmoituksia, logiikan sudenkuoppia sekä sen, miten aaltosulkeet ja merkkijonojen vertailu vaikuttavat toimintaan.

Seuraavaksi: Opitte operaattorien etusijajärjestyksen ja vankkojen ehtojen muodostamisen.

Aloita maksutta

Opi Java tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
104
Oppitunnit
374

Usein kysytyt kysymykset

Onko oppitunti ”Yleiset sudenkuopat ja virheenkorjausviestit” ilmainen?

Kyllä – oppitunnin ”Yleiset sudenkuopat ja virheenkorjausviestit” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Java Academy-kurssin, päivitä CoddyKit PROhon. Java Academy-kurssilla on yhteensä 3 oppituntia.

Mitä opin oppitunnilla ”Yleiset sudenkuopat ja virheenkorjausviestit”?

Tunnistakaa if/else-koodin yleiset virheet, lukekaa kääntäjän ja ajonaikaiset virheilmoitukset sekä käyttäkää tulostukseen perustuvaa virheenkorjausta tehokkaasti. Harjoittelet Java Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Java Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Java Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/3.

Kuinka kauan ”Yleiset sudenkuopat ja virheenkorjausviestit”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Java Academy-oppitunnilla?

Kyllä. Jokainen Java Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. If-lauseet – perusteet
  2. If-lauseet – harjoittelu ja sisäkkäiset ehdot
  3. Yleiset sudenkuopat ja virheenkorjausviestit
← Takaisin: Java Academy