Java: ohjelmointiympäristö

Osaamistavoitteet

Tutustutaan kurssin ohjelmointikieleen Javaan ja tarvittavaan ohjelmointiympäristöön. Käsittelemme myös, miksi kurssin ohjelmointikieli on juuri Java. Osion jälkeen osaat pystyttää itsellesi ohjelmointiympäristön kurssityöskentelyä varten, ja tehdä ja suorittaa yksinkertaisen Java-ohjelman.

Miksi Java?

Olet todennäköisesti opiskellut ohjelmoinnin perusteet Python-ohjelmointikielellä. Tampereen yliopistossa Ohjelmointi 1 käyttää Pythonia ja Ohjelmointi 2 C++:aa ohjelmointikielenään. Miksi sitten Ohjelmointi 3 ottaa jälleen uuden kielen käyttöön?

Python ja C++ ovat hyödyllisiä kelle tahansa tietotekniikan alalla mutta ohjelmistoalan asiantuntijan on hyvä tuntea ohjelmointikieliä laajasti. Lisäksi Java on yksi suosituimmista ohjelmointikielistä maailmanlaajuisesti. TIOBE-indeksi listaa ohjelmointikielten suosiota kuukausittain ja sillä Java on vakiinnuttanut paikkansa suosituimpien kielten joukossa.

Tärkeimpänä syynä Javan valintaan on kuitenkin sen sopivuus kurssin osaamistavoitteiden opiskeluun. Java on alustariippumaton eli se pyrkii olemaan “write once, run anywhere” korkean tason ohjelmointikieli. Java on myös paradigmaltaan oliokieli ja siten tarjoaa mahdollisuuden opiskella kurssin keskeisiä asioita suoraan kielen tarjoamien rakenteiden avulla. Javan syntaksi muistuttaa C++:aa ja C:tä ja on siten varsin helppo oppia tässä kohtaa opintoja. Java tarjoaa myös laajan kokoelman valmiita ohjelmakomponentteja Javan luokkakirjastossa eli Java API -toteutuksina. Se on siis sekä hyödyllinen ammatillisesti että piirteiltään ihanteellinen kurssin tarpeisiin.

Java JDK

Voidaksesi toteuttaa ohjelmia Javalla tarvitset Java-kääntäjän (javac) ja -tulkin (java). Näihin tutustutaan syvällisemmin hiukan myöhemmin, mutta ensin laitetaan perusasiat kuntoon, jotta päästään koodaamaan. Sekä tulkki että kääntäjä kuuluvat Java Development Kit (JDK) -ympäristöön. JDK on Javan kehitysympäristö Java-sovellusten ja -komponenttien toteuttamiseen. Se sisältää työkalut Java-ohjelmien kehittämiseen, testaamiseen ja ajamiseen.

JDK löytyy yliopiston ympäristöistä ja etätyöpöydältä. Omalle tietokoneellesi JDK saattaa tarvita asentaa erikseen.

Javasta on myös olemassa Java Runtime Environment (JRE), joka on tarkoitettu loppukäyttäjille pelkästään Java-ohjelmien suorittamiseen tulkilla. JRE:iä ei tule asentaa, koska tässä ympäristössä ei ole muun muassa kääntäjää. JDK:n voi asentaa koneelle, jolla on jo JRE, sillä JDK:n asennusohjelman pitäisi osata muokata koneesi asetuksia siten, että komentoikkunassa kutsutaan nimenomaan JDK:ssa olevaa tulkkia.

JDK:n asentaminen

Ensimmäiseksi kannattaa tarkistaa, onko JDK jo asennettuna. Tämän voi tehdä mm. ajamalla komentorivillä komennot javac -version ja java -version.

kuva, joka näyttää javac -version ajettuna tuloksella javac 17

JDK 17 asennettuna

JDK:n pääversiot ovat saatavilla Oraclen verkkosivuilta. Uusin versio on 20. Oraclen Java-lisenssi sallii maksuttoman henkilökohtaisen ja kehityskäytön. Lisäksi tarjolla on täysin vapaa OpenJDK lisenssillä GPLv2+CPE. Jälkimmäinen on asennettuna yliopiston ympäristöihin.

JDK asentuu valitsemalla tarjolla olevista latausvaihtoehdoista käyttöjärjestelmäsi ja sille sopiva paketti. Windows-käyttäjälle helpoin on ladata asennusohjelma eli .exe-päätteinen tiedosto. Maceille helpoin on levykuvan lataaminen eli .dmg-päätteinen tiedosto. Yksityiskohtaiset ohjeet asennukseen eri alustoille löydät Oraclelta Installation instructions alta.

Yksinkertainen Java-ohjelma kirjoitetaan editorilla kooditiedostoksi. Javassa tiedoston pääte on .java. Komentoriviltä Java-ohjelman kääntämiseksi ja ajamiseksi tarvitaan javac ja java. Ensimmäinen kääntää ohjelmakoodin tavukoodiksi ja jälkimmäinen ajaa ohjelman. Käytännössä komentorivin sijaan usein käytetään integroitua ohjelmointiympäristöä (IDE), joka sisältää editorin ja kääntäjän lisäksi muuta koodaamista helpottavaa toiminnallisuutta kuten debuggerin. Aiemmilla kursseilla on käytetty pyCharmia ja Qt Creatoria. Javalle sopivia vaihtoehtoja olisivat mm. Eclipse, IntelliJ IDEA, Visual Studio Code ja NetBeans. Kurssin esimerkki-IDEksi näistä on valittu NetBeans, johon tutustutaan seuraavaksi. Samalla tehdään ensimmäinen Java-ohjelma.