
2-lekciya
.pdf
Orınlanıwdaǵı qáteler
Orınlanıwdaǵı qáteler programmanıń nadurıs tamamlanıwına sebepshi bolatuǵın qáteler. Olar programma orınlanıp atırǵanda eger ortalıq ámeldi orınlawdıń ilajı joq ekenligin anıqlasa shıǵadı. Ádette maǵlıwmatlardı nadurıs kiritiw orınlanıwdaǵı qátelerge alıp keledi. Kiritiwdegi qáteler programma paydalanıwshıdan mánisti kiritiwdi kútip turǵanda, biraq paydalanıwshı programma qayta isley almaytuǵın maǵlıwmat kiritkende payda boladı. Máselen programma san kiritiliwin kútip turǵanda paydalanıwshı san ornına qatar kiritip jiberse bul programmada maǵlıwmat tipi qátelerin keltirip shıǵaradı.
Orınlanıwdaǵı qátelerge jáne bir mısal bul sandı nolge (0) bóliw. Bul pútin bólinbede bólimi nolge teń bolsa payda boladı.
2.9-súwret.
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>

Logikalıq qáteler
Logikalıq qáteler programma kútilmegen nátiyjeni qaytarǵanda payda bolatuǵın qáteler. Bunday qáteler kóplep sebeplerge baylanıslı kelip shıǵadı. Máselen siz 2.10-súwrettegidey 35 gradus Celsiydegi temperaturanı Farengeyttegi dárejege aylandırıwshı programma dúzdińiz deyik:
2.10-súwret.
Sizde nátiyje 67 shıǵadı, biraq bul qáte. Durıs juwap 95.0 bolıwı kerek. Javada pútin sanlardı bólgende, bólinbeniń tek ǵana pútin bólegi alınadı, bólshek tárepi bolsa taslap ketiledi. Demek Javada 9/5 bul 1 ge teń. Durıs juwap alıw ushın siz 9.0/5 dep jazıwıńız kerek, sonda nátiyje 1.8 boladı. Ádette sintaksisik qátelerdi tabıw ańsat, sebebi kompilyator olardıń qay jerde turǵanlıǵı haqqında sizge xabar beredi. Tap sonday orınlanıwdaǵı qátelerdi de tabıw ańsat, sebebi programma toqtaǵanda konsol ekran tárepte qáteler haqqında tolıq maǵlıwmat beriledi. Ishinde eń qıyını bul logikalıq qáteler esaplanadı.
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>

Konsoldan maǵlıwmat oqıw
Konsoldan maǵlıwmat oqıw programmaǵa paydalanıwshıdan mánis qabıl etiw imkániyatın beredi.
Hár túrli radius paydalanıw ushın, siz programmanıń ishinde radiustıń mánisin ózgertip keyin onı jáne kompilyaciya etiwińizge tuwrı keledi. Bul álbette qolaysız usıl esaplanadı, sonıń ushın onıń ornına siz konsoldan maǵlıwmat oqıw ushın Scanner klassınan paydalanıwıńız múmkin.
Standart shıǵarıw qurılmasına (biziń jaǵdayda ekran) maǵlıwmatlardı shıǵarıw ushın
Javada System.out isletiledi. Al, standart kiritiw qurılmasınan (biziń jaǵdayda klaviatura) maǵlıwmat oqıw ushın System.in isletiledi. Konsolǵa ápiwayı maǵlıwmatlardı shıǵarıw ushın println metodınan paydalanamız. Konsoldan maǵlıwmat oqıw Javada tuwrıdan-tuwrı qollap quwatlanbaydı, biraq siz System.in nen kiriwshilerdi oqıwshı obyekt jaratıw ushın Scanner klassınan paydalansańız boladı:
Scanner input = new Scanner(System.in);
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>

Konsoldan maǵlıwmat oqıw
new Scanner(System.in) sintaksisi Scanner tipindegi obyekt jaratadı. Scanner input sintaksisi Scanner tipindegi input ózgeriwshisin járiyalap atır. Tolıq Scanner input = new Scanner(System.in) qatarı Scanner obyektin jaratadı hám onıń siltemesin input
ózgeriwshisine ózlestiredi. Obyekt óziniń metodların shaqırıwı (metodlarına múráját etiwi) múmkin. Obyektke metodtı shaqırıw degeni obyektten tapsırmanı orınlawın soraw degeni. Siz double mánisin oqıw ushın nextDouble() metodın tómendegishe shaqırıwıńız múmkin:
double radius = input.nextDouble();
Bul ańlatpa klaviaturadan sandı oqıp radius ózgeriwshisine ózlestiredi:
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>

KonsoldanKiritiwArqaliMaydandiEsaplaw.java
1 import java.util.Scanner; // Scanner java.util paketi ishinde
2
3 public class KonsoldanKiritiwArqaliMaydandiEsaplaw {
4 public static void main(String[] args) {
5 |
//Scanner tipindegi obyekt jaratiw |
6 |
Scanner input = new Scanner(System.in); |
7 |
|
8 |
//Paydalaniwshiga radius manisin kiritiwdi usinis etiw |
9 |
System.out.print(“radius = ”); |
10 |
double radius = input.nextDouble(); |
11 |
|
12 |
//Maydandi esaplaw |
13 |
double maydan = radius * radius * 3.14159; |
14 |
|
15 |
//Natiyeni shigarıw |
16 |
System.out.println(“Radiusi ” + radius + “ qa ten bolgan ” + |
17 |
“dongelek maydani = ” + maydan); |
18}
19}
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>

9-qatar “radius = ” qatarın konsolǵa shıǵaradı. Bul usınıs dep ataladı, sebebi ol paydalanıwshıǵa mánis kiritiwdi usınbaqta. Siziń programmańız klaviaturadan kiriwshı maǵlımattı kútip turǵanda, barqulla paydalanıwshıǵa ne kiritiw kerek ekenligin aytıwı zárúr.
9-qatardaǵı print metodı System.out.print(“radius = ”); println metodı menen birdey, tek ǵana println metodı radius = qatarın ekranǵa shıǵarıwdan dárhal kelesi qatardıń basına kóship ketedi. Biraq print metodında keyingi qatarǵa ótip ketpeydi.
6-qatar Scanner tipindegi obyekt jaratadı. 10-qatardaǵı ańlatpa klaviaturadan maǵlıwmat oqıydı. double radius = input.nextDouble();
Paydalanıwshı sandı kiritip Enter túymesine basqannan keyin, programma sandı oqıydı hám radius ózgeriwshisine ózlestiredi.
Scanner klassı java.util paketi ishinde. Bul 1-qatarda kiritiledi. import ańlatpasınıń eki túri bar: arnawlı import hám ulıwmalıq import. Arnawlı import belgili bir klasstı kiritiw (import qılıw) ushın isletiledi.
Máselen tómendegi ańlatpa java.util paketindegi Scanner di kiritedi: import java.util.Scanner;
Ulıwmalıq import pakettegi barlıq klasslardı kiritiw ushın isletiledi. Bunda * belgisinen paydalanadı.
Máselen tómendegi ańlatpa java.util paketindegi barlıq klasslardı kiritedi: import java.util.*;
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>

Tákirarlaw sorawları
1.Java tili qashan jaratılǵan?
2.Java tili specifikaciyası degenimiz ne?
3.JDK degenimiz ne hám tarqatpası qanday?
4.IDE degenimiz ne hám tarqatpası qanday?
5.Gilt sóz degenimiz ne? Bazı Java gilt sózlerin keltiriń.
6.Java háripler registriniń (úlken kishiliginiń) parqı bar ma?
7.Kommentariya ne?
8.Kommentariya kompilyator tárepinen inkar etiledi me?
9.Bir qatarlı hám kóp qatarlı komentariyalar qalay jazıladı?
10.Konsolǵa qatar shıǵarıw ushın qaysı ańlatpanı jazıw kerek?
11.Tómendegi kodtıń nátiyjesin kóriń:
12.Paydalanıwshıǵa klaviaturadan haqıyqıy san kiritiw imkanın beriwshi kodtı qalay jazamız?
Paydalanılǵan ádebiyat
1. Y.Daniel Liang Introduction to Java programming, Comprehensive Version, 10th Edition, Pearson, 2015
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>