Java -kieli rakentuu kokonaan oliopohjaiselle ajattelulle. Tällä kurssilla opetellaan vain Javalla toteutettuja ohjelmoinnin perusrakenteita
Koneelle annettua selviytymisohjetta tietynlaisesta tilanteesta sanotaan algoritmiksi. Lyhyesti sanottuna algoritmi on jonkin tehtävän suoritusohje. Seuraavassa on annettu algoritmi puhelimella soitosta. Nuolet kuvaavat tapahtumien etenemissuuntaa.
Esim. Puhelimella soitto
Tälläinen ajattelutapa johtaa siihen, että tehtäväkentän laajetessa jokaiselle tehtävälle on erikseen annettava tehtävän ratkaisuun vaadittava algoritmi. Algoritmien määrän kasvaessa ohjelmointi muuttuu luonnollisesti erittäin työlääksi.
Algoritmit kuvataan ratkaisun loppuvaiheessa ohjelmointikielellä. Ohjelmointikielet jaetaan
![]() |
makrokieliin eli scripteihin, joita käytetään jonkin sovelluksen sisäiseen ohjelmointiin (esim. word tai excel makro, javascript) |
![]() |
lausekieliin, joissa tietokoneen tiettyä toimintoa kuvataan selväkielisellä komennolla (Pascal, Basic, C++, Java, Fortran, Simula, …) |
![]() |
symboliseen konekieleen, jossa tietokoneen prosessoria suoraan ohjaavat käskyt on koodattu kolmikirjaimisiksi merkkikoodeiksi (assembler) |
![]() |
konekieleen, jossa jokainen symbolinen konekielikomento on muutettu binääriluvuksi, jonka koneen elektroniikka pystyy suoraan toteuttaa |
Konekieltä pystyy ymmärtämään vain tietokone. Symbolista konekieltä voi yrittää ohjelmoida. Nykyään vain teollisuuden reaaliaikasovelluksissa tai muuten kriittisissä ohjelmakoodeissa käytetään symbolista konekieltä. Lausekieli on ajattelutavaltaan lähimpänä ihmistä.
Jotta kone ymmärtää ihmisen lausekieltä, tulee lausekielinen ohjelma kääntää konekieliseksi. Käännöstyön hoitaa ns. kääntäjä.
![]() |
Ohjelma kirjoitetaan sopivalla editorilla ohjelmointikielen syntaksin eli kieliopin mukaisesti (Source code) |
![]() |
Ohjelma (Source code) käännetään symboliseksi konekieleksi kääntäjällä (Compiler - Compiling) |
![]() |
Ajokelpoinen (Run) ohjelma linkitetään (Link) symbolisesta konekielikoodista ja mahdollisista kirjasto-ohjelmista (Library) toteututuskelpoiseksi (executable) ohjelmaksi |
Sellaisia ohjelmakieliä, joita ei käännetä kerralla symboliseksi konekieleksi sanotaa tulkittaviksi kieliksi. Ohjelmatulkki kääntää ohjelmaa toteutettavaksi lause/rivi kerrallaan
Java -kieli on tulkattava kieli. Ohjelma aloitetaan ensimmäisestä ohjelmalauseesta, käännetään lause ja toteutetaan se. Sitten jatketaan toisesta lauseesta ja niin edelleen, kunnes viimeinen lause on suoritettu. Tämän jälkeen ohjelma loppuu. Tulkin vastakohta on kääntäja. Kääntäjä kääntää ja linkittää koko ohjelman yhdellä kertaa. Tälläisiä kieliä ovat esim. Turbo Pascal For Windows ja C++.
Seuraavassa on käsitelty erilaisia ohjelmointivirheitä.
Kielioppi eli syntaksivirhe on tilanne, jossa
![]() |
kääntäjä ei tunnista ohjelmoijan kirjoittamaa komentoa kirjoitusvirheen takia |
![]() |
komentosarja muodostaa kielioppiin sopimattoman rakenteen |
Looginen virhe
![]() |
ohjelmasta saadaan käännettyä toteutuskelpoinen versio, mutta se toimii eri tavalla kuin on suunniteltu |