2 programozási feladat kezdőknek

Mindenki tud kódolni! felirat egy papírfüzéren.

Szeretnél kicsit belekukkantani, milyen is a Java programozás? Kíváncsi vagy, vajon meg tudnád-e tanulni? 

Milyen nyelv a Java?

A Java egy platformfüggetlen programozási nyelv. Erről már biztosan sokat olvastál, hiszen minden Java programozást oktató anyag, legyen online vagy offline, ezzel kezdi a Java nyelv bemutatását. De mit is jelent ez pontosan? 

A platformfüggetlenség annyit tesz, hogy bármilyen gépen futni fog a program, amit Java nyelven írsz, ha van rajta JVM, azaz Java Virtual Machine, Java Virtuális Gép. 

A Java nyelvre ezenkívül jellemző, hogy objektum-orientált, robusztus, biztonságos, többszálú és fordítóprogramos. No de mit és hova kell fordítani? 

A fordítás folyamata a következőképpen zajlik: a forráskódot a compiler (fordító) egy közbülső nyelvre fordítja, ez lesz a Java bájtkód. Ezt a Java bájtkódot fogja értelmezni és futtatni a korábban már említett Java Virtuális Gép.

Mire lesz szükséged programíráshoz?

Szükséged lesz egy fejlesztői környezetre, hogy komfortosan megírhasd életed első kódsorait. Írhatnád egy egyszerű szövegszerkesztőben is, de egy erre kifejlesztett környezet sokat tud neked segíteni, mert kiemeli a hibákat, javaslatokat és ötleteket ad arra, hogy mit tegyél, hogy működjön a programod.

Sokféle fejlesztői környezet van forgalomban, választhatsz kedved szerint, csak keress rá az IDE, azaz Integrated Development Environment kifejezésre. A legnépszerűbb ingyenes megoldások az Eclipse, NetBeans és IntelliJ IDEA. 

Helló Világ!

Bármilyen programnyelvet is tanulsz, a leggyakoribb első lépés nem más, mint az ún. Hello World, a legegyszerűbb, de már működő program megírása. Ez nem szól másról, mint arról, hogy a programod egy gombnyomásra köszönni fog, és annyit mond majd, hogy „Hello World!

Hogyan is kell ezt megírni Java nyelven? Nézzük meg együtt!

Én az Eclipse IDE-ben írom majd meg a programot, de ha neked más környezet szimpatikusabb, nyugodtan használd azt. Létrehozok egy új Java projektet, utána pedig egy új package-et, amibe belekerül majd ez az új, rövid kis program. A package-be kerül majd az új class vagyis osztály, amit stílusosan HelloWorld-nek nevezek el. Tehát a sorrend:

Eclipse IDE ↠ Java project ↠ New Package ↠ New Class

Hogy is fog kinézni a Hello World program? Nézd:

public class HelloWorld {
   public static void main(String[] args) {
   System.out.println("Hello World!");
   }
}

Kis csoportban tanulnál?

Azért vagyunk, hogy segítsünk.

Bonyolultabbnak tűnik, mint gondoltad? Igen, a Java egy elég bőbeszédű nyelv, relatíve sokat kell gépelni ahhoz, hogy működőképes kódsorokat kapj. De ne ijedj meg, nézzük meg sorról – sorra és értelmezzük a látottakat együtt! 

Az első sorban láthatod azt az osztályt (class), amibe az első programodat írni fogod. Azért adtuk neki a HelloWorld nevet, hogy be tudjuk azonosítani. Természetesen ennek jóval nagyobb relevanciája lesz, ha majd sok-sok ezer kódsoros programokat fogsz írni. Jelenleg nincs más feladata ennek az osztálynak, hogy tartalmazza a kis programodat, a köszönést. 

Minden programnak, amit írsz, tartalmaznia kell egy belépési pontot, ez a public static void main(String[] args) sorban látható. Azért hívjuk belépési pontnak, mert innen indul a programod. 

Ebben a programban az egyetlen utasítás, ami szerepel, az a System.out.println(), ami nem jelent mást, mint hogy az utána következő zárójelben és idézőjelben levő szöveget a program kiírja a futtatás végén. Ez a szöveg lesz maga a köszönés, a „Hello World!”. Végül a program leáll, mert elfogytak az utasítások. Nincs tovább mit tennie.

Próbáld meg egyedül megírni ezt a saját gépeden! 

Számok kiírása

Ezzel a programmal a páros számokat tudjuk kilistázni 1 és 50 között. Nézzük meg közelebbről, hogy hogyan is működik! 

public class EvenNumbers {
		public static void main(String[] args) {
			for (int i = 1; i < 50; i++) {
				if (i % 2 == 0) {
					System.out.println(i);
				}
			}
		}
	}

Egyéni figyelmet szeretnél?

Azért vagyunk, hogy segítsünk.

Itt is megtalálod az osztályt (EvenNumbers), melyet létrehoztunk hozzá, és a korábban már megismert belépési pontot, a public static void main(String[] args) sort. Ez a program is innen fog indulni. Ezt követően egy ún. for ciklust fogunk használni. A for ciklus arra való, hogy egy műveletet újra és újra megismételtessünk a programmal, egészen addig, amíg egy megadott feltételnek megfelel. Ez a feltétel ebben az esetben az, hogy a szám kisebb, mint 50. 

Nézzük meg a for ciklust kicsit részletesebben: a for kifejezés után egy kerek zárójelet látsz és két pontosvesszővel elválasztott szakaszt, tehát az üres for ciklus így nézne ki: for( ; ; ) Miért fontos ez? Nos, mert nem mindegy, hogy a kerek zárójelen belül mit kell megadnod ahhoz, hogy működjön a programod. Mint látod 3 helyre tudsz írni: for(1;2;3) Hova mit kell írni?

  1. helyre kerül az ún. inicializáló kifejezés: kezdő értéket ad meg a ciklusváltozónak
  2. helyre a feltétel: aminek meg kell felelnie, és egyben megadja, meddig megy a ciklus
  3. helyre pedig az ún. növekmény, ami minden ismétlés után végrehajtódik a ciklusban

Mit tesz tehát a mi programunk? Felvesz egy i változót, ami kezdéskor 1 és egyesével elszámolgat addig, míg az i < 50 feltételnek megfelel. 

Ezt követi egy if utasítás. Ez, ahogy az angol nyelvből már tudhatod, azt jelenti, hogy „ha”. Tehát egy feltétel. Az if utáni kerek zárójelben adjuk meg a feltételt, aminek megfelelését vizsgáltatjuk a programunkkal. Tehát számolgat a programunk 1-től 50-ig, egyesével és közben mindig megnézi, hogy az if feltételnek megfelel-e a kapott szám. Ha a szám osztható 0 maradékkal 2-vel, akkor páros. Ezt adtuk meg az if utáni kerek zárójelben. A % jel a maradékos osztás művelet jele, a dupla egyenlőségjel pedig az egyenlőség vizsgálat.

Legvégül pedig a HelloWorld-ben már megtanult kiíratás következik. Tehát ha a szám páros, ki fogja írni a programunk. 

Miután átnézted és megértetted a program működési elvét, próbáld meg egyedül megoldani ismét! 

Gyakorlás:
Ha ez a két program megy, gondolkodj el azon, hogyan tudnád kiíratni a páratlan számokat?

Megtanulnál programozni?

Azért vagyunk, hogy segítsünk.

Ingyenes videókurzusunk

Mivel fontos számunkra, hogy ingyenesen is hozzájuthass minőségi, magyar nyelvű oktatási anyagokhoz, ezért YouTube-csatornánkon is meglehetősen aktívak vagyunk. A legnépszerűbb, 200 részes, Java alapjaival foglalkozó videókurzusunk remek lehetőség a tanulásra. A sorozat első részét a videóba beágyazva is megtekintheted:

Tanfolyamaink kezdőtől haladó szintig mindenféle kurzust tartalmaznak, így megtalálhatod a kedvedre valót. Kezdőknek a junior back-end kurzusunkat szoktuk javasolni.

Ha mégsem egyedül tanulnál

Karriert váltanál?

Azért vagyunk, hogy segítsünk.

Ha úgy érzed, hogy ez egyedül túl nagy falat, még mindig dönthetsz úgy, hogy választasz egy alapozó képzést, mely segít elsajátítani azokat az alapelemeket, melyekkel már könnyedén tudod magad tovább fejleszteni a későbbiekben. Ha nem igazodsz ki a tanfolyamok rengetegében, nem csodálom, elképesztően sok van belőlük, mégis olyan, mintha első ránézésre mind egyforma lenne. Ha alaposabban megnézed, ez nagyon nincs így. A tájékozódásban segíthet neked nagy képzésválasztó cikkünk, olvasd el!

Ha pedig gondolkozol azon, hogy belevágsz egy komolyabb programozói képzésbe, jelentkezz hozzánk egy ingyenes online beszélgetésre, ahol minden kérdésedet megválaszoljuk!

A képzéseink tematikájáról itt olvashatsz bővebben.

Végezetül nézzük át újra a cikkben használt kifejezéseket magyarázattal

class – osztály, melyen belül a programot megvalósíthatjuk

compiler – fordító, mely segít a megírt programot lefordítani bájtkódra

for ciklus – az egyik ciklus fajta, sokszor használjuk akkor, amikor valamit többször kell lefuttatni és közben követnünk kell azt is, hogy épp hányadszor fut le

inicializálás – változó kezdő értékének megadása

if feltétel – feltétel, mely ha teljesül, akkor végrehajtunk adott utasításokat

Integrated Development Environment (IDE) – integrált fejlesztői környezet

JVM – Java Virtual Machine – Java virtuális gép, a bájtkódot ezzel tudjuk lefuttatni

növekmény – amennyivel a for ciklus ciklusváltozójának értéke a ciklusmag lefutása után nő

objektum orientált – objektumok fogalmán alapuló programozás

package – csomag

platformfüggetlen – minden eszközön működni képes

Szerző: Markos Katalin