4-Lekciya:
boolean maǵlıwmatlar tipi hám ámeller.
if-else operatorı. Logikalıq operatorlar
Joba:
1. boolean maǵlıwmatlar tipi hám ámeller.
2. Operator túsinigi.
3. if operatorı. if-else operatorı.
4. Ishpe – ish jaylasqan shárt operatorları.
5. switch operatorı.
6. Shárt ańlatpaları.
boolean maǵlıwmatlar tipi hám ámeller
Logikalıq túrdegi ózgeriwshiler boolean gilt sózi menen daǵaza etiledi hám yadtan 1
bayt orın iyeleydi. Logikalıq túr ózgeriwshi mánisleri arasındaǵı baylanıstı ańlatatuǵın oy-
pikirlerdi shın (true) yamasa jalǵan (false) ekenligin súwretlewde qollanıladı hám olar qabıl
etetuǵın mánisler matematikalıq logika nızamlıqlarına tiykarlanadı.
Matematikalıq logika-pikirlewdiń forması hám nızamlıqları haqqındaǵı pán. Onıń
tiykarın aytımlar quraydı. Aytım – bul qálegen gáp bolıp, oǵan salıstırǵanda shın yamasa jalǵan
pikir haqqında xabar beriw múmkin. Mısalı, «3>2», «5-jup san», «Tashkent – Ózbekstan
Respublikası paytaxtı» hám t.b. Biraq «0.000001 kishi san» gápi aytım esaplanbaydı, sebebi
«kishi san» túsinigi júda salıstırmalı esaplanadı, yaǵnıy kishi san degende qanday sandı túsiniw
kerekligi anıq emes. Sol sebepli joqarıdaǵı gápti shın yamasa jalǵan ekenligi haqqında xabar
beriw qıyın.
Aytımlardiń shın yamasa jalǵanlıǵı jaǵdaylarǵa baylanıslı túrde ózgeriwi múmkin. Mısalı,
«búgin-dúyshembi» gápin ras yamasa ótirikligi qaralıp atırǵan kúnge baylanıslı. Tap sonday
«x<0» gápi x ózgeriwshisiniń usı waqıttaǵı mánisine sáykes túrde shın yamasa jalǵan boladı.
Java tilinde logikalıq túr atı inglis matematigi Jorj Bul húrmetine boolean sózi menen
kórsetilgen. Logikalıq ámeller «Bul algebrası» dep ataladı.
Logikalıq aytımlar ústinde tiykarǵı 3 ámel
• A aytımnıń biykarı degende A shın bolǵanda jalǵan hám
jalǵan bolǵanda shın mánis qabıl etiwshi aytımǵa aytıladı.
Java tilinde biykar – ! belgisi menen beriledi. Mısalı, A
aytım biykarı «!A» kórinisinde jazıladı.
biykarlaw
• Eki A hám B aytımlar konyunkciyası yamasa logikalıq
kóbeymesi «A && B» kóriniske iye. Bul aytım tek A hám B
aytımlar shın bolǵanda ǵana shın boladı, bolmasa jalǵan
boladı (ádetde «&&» ámeli «hám» dep oqıladı).
konyunkciya
• Eki A hám B aytımlar dizyunkciyası yamasa logikalıq jıyındısı
«A || B» kóriniste jazıladı. Bul aytım shın bolıwı ushın A
yamasa B aytımlardan biri shın bolıwı jetkilikli. Ádetde «||»
ámeli «yamasa» dep oqıladı.
dizyunkciya
Logikalıq ámeller ushın shınlıq kestesi
Aytımlar
Aytımlar ústinde ámeller
А
В
!А
А&&В
А||В
false
false
true
false
False
false
true
true
false
True
true
false
false
false
True
true
true
false
true
true
Operator túsinigi
Programmalastırıw tilinde operatorlar sheshilip atırǵan másele algoritmin
ámelge asırıw ushın isletiledi. Operatorlar sızıqlı hám basqarıw operatorlarına
bólinedi. Kópshilik jaǵdaylarda operatorlar noqatlı útir (‘;’) belgisi menen
tamamlanadı hám ol kompilyator tárepinen bólek operator dep qabıl etiledi (for
operatorınıń qawıs ishinde turǵan ańlatpaları bunnan tısqarı). Bunday operator
ańlatpa operatorı dep ataladı. Mánis beriw ámelleri toparı, atap aytqanda, mánis
beriw operatorları ańlatpa operatorları esaplanadı:
i++;
--j;
k+=i;
Programma dúziw ámeliyatında bos operator ';' isletiledi. Biraq, bul
operator hesh narse atqarmasa da, esaplaw ańlatpaların til qurallarına sáykes
keliwin támiynleydi. Ayırım jaǵdaylarda júzege kelgen quramalı jaǵdaylardan
shıǵıp ketiw imkaniyatın beredi.
Shárt operatorları
Programmalarda ámeller jazılıw rejiminde izbe-iz hám tek bir ret
orınlanadı. Kópshilik máseleler júzege keletuǵın hár qıylı jaǵdaylarǵa baylanıslı
túrde sáykes qarar qabıllawdı (sheshimdi) talap etedi. Java tili programmanıń
bólek-bólekleriniń orınlanıw rejimin basqarıwǵa múmkinshilik jaratıwshı
qurallardıń jetkilikli úlken kompleksine iye. Mısalı, programma orınlanıwınıń
qandayda-bir qádeminde qandayda-bir shártti tekseriw nátiyjesine qaray
basqarıwdı programmanıń ol yamasa bul bólegine uzatıwı múmkin (mısalı,
tarmaqlanıwshı algoritm). Tarmaqlanıwdı ámelge asırıw ushın shárt
operatordan paydalanıladı.
if operatorı qandayda-bir shártti shınlıqqa tekseriwi nátiyjesinde
programmada tarmaqlanıwdı ámelge asıradı:
if ()
;
if operatorı
Eger shárt 1 mánisi yaǵnıy shın (true) bolsa, orınlanadı, al shárt 0
yaǵnıy jalǵan (false) bolsa, hesh qanday ámel orınlanbaydı hám basqarıw if
operatorınan keyingi operatorǵa ótedi. Usı jaǵday tómende kórsetilgen.
Shárt-ańlatpa
operator
awa(true)
yaq(false)
Java tili operatorlardı blok kórinisinde shólkemlestiriwge múmkinshilik beredi.
Blok - '{' hám '}' belgi aralıǵına alınǵan operatorlar izbe-izligi bolıp, ol
kompilyator tárepinen tolıq bir operator dep qabıl etiledi.
Tómende keltirilgen programmada if operatorınan paydalanıw kórsetilgen
package
ifoperatori;
import
java.util.Scanner;
public class
Ifoperatori {
public static void
main(String[] args) {
int
b;
Scanner input =
new
Scanner(System.
in
);
b = input.nextInt();
if
(b > 0) {
//b>0 shárt orınlanǵan jaǵday
System.
out
.println(
"b-oń san"
);
}
if
(b < 0) {
//b<0 shárt orınlanǵan jaǵday
System.
out
.println(
"b-teris san"
);
}
}}
if-else operatorı
Shárt operatorınıń if-else kórinisi tómendegishe:
if()
;
else
;
Shárt-ańlatpa
operator1
awa(true)
yaq(false)
operator2
if-else shárt operatorınıń blok-sxeması
ax
2
+bx+c=0 kórinisindegi kvadrat teńleme korenlerin tabıw máselesin kóreyik
package
ifelseoperatori;
import
java.util.Scanner;
public class
Ifelseoperatori {
public static void
main(String[] args) {
Scanner input =
new
Scanner(System.
in
);
double
a, b, c;
double
D, x1, x2;
System.
out
.print(
"a koefficientin kiritiń a="
);
a = input.nextDouble();
System.
out
.print(
"b koefficientin kiritiń b="
);
b = input.nextDouble();
System.
out
.print(
"c koefficientin kiritiń c="
);
c = input.nextDouble();
D = b * b - 4 * a * c;
ax
2
+bx+c=0 kórinisindegi kvadrat teńleme korenlerin tabıw máselesin kóreyik
if
(D < 0) {
System.
out
.println(
"Teńleme haqıyqıy korenlerge iye emes"
);
}
else if
(D == 0) {
System.
out
.println(
"Teńleme bir haqıyqıy korenge iye"
);
x1 = -b / (2 * a); System.
out
.println(
"x1 = "
+ x1);
}
else
{
System.
out
.println(
"Teńleme eki haqıyqıy korenge iye"
);
x1=(-b + Math.sqrt(D))/(2 * a);
x2=(-b - Math.
sqrt(D))/(2 * a);
System.
out
.println(
"x1 = "
+ x1 +
" x2 = "
+x2);
}
}}
if-else operatorı
Ańlatpadaǵı hár bir else gilt sózi, aldaǵı if gilt sózine tiyisli esaplanadı (tap
ashılıwshı hám jabılıwshı qawıslar sıyaqlı). Bunı esapqa almaw mazmunınan
qáteliklerge alıp keliwi múmkin. Mısalı:
if
(x==1)
if
(y==1)
System.
out
.println(
“x=1
hám y=1”
);
else
System.
out
.println(
“x<>
1”
);
if
(x==1){
if
(y==1)
System.
out
.println(
“x=1 hám
y=1”
);
}
else
System.
out
.println(
“x<>1”
);
QÁTE
DURIS
//…
Scanner input =
new
Scanner(System.
in
);
int
x, y, z, max;
x= input.nextInt();
y= input.nextInt();
z= input.nextInt();
if
(x>y)
max=x;
else
max=y;
if
(max
max=z;
System.
out
.println(
“max= ”
+ max);
//…
3 pútin sannıń maksimal mánisin tabatuǵın programma
Ayırım jaǵdaylar
Shárt operatorında járiyalaw operatorların isletiw qadaǵan etiledi, biraq
ondaǵı bloklarda ózgeriwshilerdi járiyalaw múmkin hám bul ózgeriwshiler tek
blok ishinde ámel etedi. Tómendegi mısalda bul jaǵday menen baylanıslı qátelik
kórsetilgen:
if
(j>0) {
int
i;
i=2*j;
}
else
i=-j;
//qáte, sebebi i blokdan sırtda kórinbeydi
Mısal
Berilgen tórt xanalı belgisiz sannıń basındaǵı eki cifriniń jıyındısı qalǵan cifrlar
jıyındısına teń yamasa teń emes ekenligi anıqlansın (cifrlar jıyındısı degende olarǵa
sáykes san mánisleriniń jıyındısı túsiniledi). Sannıń cifrların ajıratıp alıw ushın pútin
sanlar arifmetikası ámellerinen paydalanıladı.
public static void
main(String [] args){
Scanner input =
new
Scanner(System.
in
);
int
n, a3, a2, a1, a0;
System.
out
.print(
“n niń mánisin kiritiń: ”
);
n = input.nextInt();
Mısal
if
(n<1000 || n>9999){
System.
out
.println(
”kiritilgen san 4 xanalı emes!”
);
}
else
{
a3=n/1000;
//mıńlıq
a2=n%1000/100;
//júzlik
a1=n%100/10;
//onlıq
a0=n%10;
//birlik
if
(a3+a2==a1+a0)
System.
out
.println(
“teń”
);
else
System.
out
.println(
”teń emes”
);
}
}
?: shárt ámeli
Eger tekserilip atırǵan shárt salıstırǵanda ápiwayı bolsa, shárt ámeliniń <>
kórinisin isletiw múmkin:
? : ;
Shárt ámeli if shárt operatorına uqsaǵan halda isleydi: eger true
bolsa , bolmasa orınlanadı.
Ádetde ańlatpalar mánislerı qandayda-bir ózgeriwshige ózlestiriledi.
Mısalı, joqarıdaǵı jol menenda eki pútin san maksimumın anıqlawdı kóreyik.
System.
out
.print(
“a nıń mánisin kiritiń: ”
);
a = input.nextInt();
System.
out
.print(
”b nıń mánisin kiritiń: ”
);
b = input.nextInt();
c=a>b?a:b;
System.
out
.println(
“Sanlar maksimumı: ”
+ c);
Mısal
public static void
main(String[] args) {
Scanner input =
new
Scanner(System.
in
)
int
n;
System.
out
.print(
”sandı kiritiń: ”
);
n = input.nextInt();
switch
(n) {
case
1:System.
out
.println(
“Bir”
); break;
case
2:System.
out
.println(
“Eki”
); break;
…
case
9:System.
out
.println(
“Toǵız”
); break;
default
: System.
out
.println(
“Bul san kiritilmedi!”
);
}
}
Ayırım jaǵdaylar
switch operatorında daǵaza operatorlarıda dus keliwi múmkin. Biraq
switch
operatorı orınlanıwında «sekirip ótiw» jaǵdayları bolıwı esabına blok ishindegi
ayırım daǵazalar orınlanbawı hám bunıń aqıbetinde programma jumısında qátelik
júz beriwi múmkin.
//…
Scanner input =
new
Scanner(System.
in
);
int
k=0, n;
n = input.nextInt();
switch
(n)
{
int
i=10;
//qáte, bul operator hesh qashan orınlanbaydı
case
1:
int
j=20;
//eger n=2 bolsa, bul daǵaza orınlanbaydı
case
2:
k+=i+j;
//qáte, sebebi i, j ózgeriwshiler belgisiz
}
System.
out
.println(k);
//…
Tákirarlaw sorawları
Operatorlardıń qanday túrleri bar?
if operatorınıń ulıwma kórinisi qanday?
if-else operatorı bloki ishinde daǵazalaw operatorın paydalanıwǵa
boladı ma?
operatorınan qanday jaǵdayda paydalanǵan maqul?
if operatorınıń if-else operatorınan ayırmashılıǵı qanday?
Ańlatpa operatorlarına mısallar keltiriń.
1000>0>
Do'stlaringiz bilan baham: