Metodlar.
Metodtı táriyplew hám shaqırıw.
Mánis qaytarıwshı hám void tipindegi metodlar
Joba:
1. Java tilinde metodlar;
2.
Metodtı táriyplew, jaratıw hám shaqırıw;
3.
Metodlardıń jazılıw strukturası;
4.
Metodlardıń islew principi;
5. void tipindegi metodlar;
6.
Metodlardı qayta júklew;
7.
Ózgeriwshilerdiń kóriniw aymaǵı.
Java tilinde metodlar
Metod
-
programmadaǵı qandayda bir ámellerdi orınlawshı buyırıqlar jıyındısı.
Ádette basqa programmalastırıw tillerinde olardı funkciyalar dep te ataydı.
Mısalı, 1 den 10 ǵa shekemgi, 25 ten 55 ke shekemgi, 75 ten 90 ǵa shekemgi
pútin sanlar qosındısın tabıwshı programma dúziw kerek bolsın. Bunıń ushın
siz
tómendegi kodtı jazıwıńız múmkin:
int
sum = 0;
for
(
int
i = 1; i <= 10; i++) sum+=i;
System.
out
.println(
"1+2+…+10="
+sum);
sum = 0;
for
(
int
i = 25; i <= 55; i++) sum+=i;
System.
out
.println(
"25+26+...+55="
+sum);
sum = 0;
for
(
int
i = 75; i <= 90; i++) sum+=i;
System.
out
.println(
"75+76+...+90="
+sum);
Java tilinde metodlar
Endi
joqarıdaǵı programmanı metod járdeminde islewshi programmanı
dúzeyik:
public static void
main
(String[] args){
System.
out
.println(
"1+2+...+10="
+
sum
(1,10));
System.
out
.println(
"25+26+...+55="
+
sum
(25,55));
System.
out
.println(
"75+76+...+90="
+
sum
(75,90));
}
public static int
sum
(
int
i1,
int
i2){
int
juwap = 0;
for
(
int
i = i1; i <= i2; i++)
juwap += i;
return
juwap;
}
Metodlardı táriyplew hám jaratıw
Demek
joqarıda
sum
atlı metod bolıp, ol i1 hám i2 parametrlerden
turadı.
Bunnan
aldın
System.out.println()
,
Math.pow()
sıyaqlı
metodlardan
paydalandıńız. Bular Java kitapxanasındaǵı standart
metodlar
esaplanadı. Al házirgi
sum
metodtı ózlerimiz jarattıq.
Solay etip, Javada
metodlardı 2 túrge ajıratsaq boladı:
Standart metodlar
– Java kitapxanasında jazılǵan tayın metodlar.
Kerekli
metodtı shaqırıp paydalanasız;
Paydalanıwshı metodları
– Ózińiz jaratatuǵın metodlar.
Metodtı jaratıwdıń ulıwma kórinisi tómendegishe boladı:
modifikator manisQaytarıwTipi
metodAtı
(parametrler){
// Metod denesi
}
Metodlardıń jazılıw strukturası
Metodlardıń islew principin túsiniw ushın tómendegi mısaldı kórip
shıǵayıq. Eki pútin sannıń úlkenin tabıwshı metod tómendegishe boladı:
metod
tı shaqırıw
public static int
max
(
int
san1,
int
san2){
int
ulkenSan;
if
(san1 > san2)
ulkenSan = san1;
else
ulkenSan = san2;
return
ulkenSan;
}
modifikator
mánis qaytarıw
tipi
metod
atı
parametrler
metod
denesi
qaytıwshı mánis
int
x=3, y=4;
int
k=
max
(x,y);
argumentler
Metodlardıń jazılıw strukturası
public
hám
static
gilt
sózleri
modifikator
bolıp, bul haqqında klasslardı
ótkende jaqınnan tanısamız. Metodlar mánis qaytarıwı yamasa qaytarmawı
múmkin. Joqarıdaǵı mısalda pútin mánis qaytaradı. Sonlıqtan mánis
qaytaratuǵın tipke kiredi. Al metodlar hesh qanday mánis qaytarmawıda
múmkin hám olar
void
tipindegi metodlar dep
ataladı. Mısalı,
main
,
System.out.println void
tipine kiredi.
Metod
atınan keyingi qawsırma ishinde
metod parametrleri
boladı. Yaǵnıy,
metod
shaqırılǵanda, oǵan qandayda bir ózgeriwshilerdiń mánisi jiberiledi hám
olar
argumentler
dep
ataladı. Sol argumentlerdiń sáykes mánislerin qabıllap
alıw ushın
metod
parametrleri
boladı. Biraq, metodta hesh qanday
paramterler
bolmawıda
múmkin.
Mısalı,
Math.Random()
metodında
heshqanday parametr joq. Metod denesine
máseleniń sheshiliw algoritmi
jazıladı. Joqarıdaǵı mısalda, bul eki sannıń eń úlkenin tabıwshı algoritm bolıp,
onda
enUlken
ózgeriwshisinde eki sannıń eń úlken mánisi boladı hám ol mánis
return
gilt
sózi arqalı metod shaqırılǵan orınǵa qaytarıladı.
Metodlardı shaqırıw
Metod
jaratılǵan waqıtta metod denesine onıń ne islew kerekligi jazıladı.
Al metod islewi
ushın bolsa, onı shaqırıw kerek boladı. Metodtı
shaqırıwdıń eki túri bolıp, bul onıń mánis qaytarıw yamasa qaytarmawına
baylanıslı boladı. Eger metod mánis qaytarıwshı bolsa, onnan qaytqan
mánis, qandayda bir ózgeriwshige menshiklenedi yamasa tuwrıdan-tuwrı
nátiyjege shıǵarıladı. Mısalı:
int
ulkenSan =
max
(3, 4);
Bunda
max
metodınan qaytqan mánis
ulkenSan
ózgeriwshisine
menishiklenedi.
System.
out
.println(
max
(3,4));
Bunda
max
metodınan qaytqan mánis nátiyjege shıǵarıladı. Eger metod
void
tipinde bolsa, metod
ózgeriwshige menshiklenbeydi hám tek ózi
shaqırılıp jazıladı. Mısalı:
System.
out
.println(
"Javaǵa xosh keldińiz"
);
Metodlardıń islew principi
Eger programma ishinde qandayda bir metod
shaqırılsa, onda basqarıw
sol
shaqırılǵan metodqa ótedi. Shaqırılǵan metod denesindegi kod
orınlanıp, alınǵan nátiyje
return
gilt
sózi arqalı qaytarılǵanda, basqarıw
qaytadan metod
shaqırılǵan orınǵa qaytadı. Mısalı,
max
metodınıń
islewin
kórip shıǵayıq:
public class
testMax{
// main metod
public static void
main
(String[] args) {
Scanner in=
new
Scanner(System.
in
);
int
x = 3, y=4;
int
z =
max
(x, y);
System.
out
.println(
"Eki sannıń úlkeni: "
+z);
}
public static int
max
(
int
san1,
int
san2){
int
ulkenSan;
if
(san1 > san2)
ulkenSan = san1;
else
ulkenSan = san2;
return
ulkenSan;
}
}
run:
Eki sannıń
úlkeni:4
Metodlardıń islew principi
Bul programma
kodında
main
hám
max
atlı eki metod bar. Bunda
main
metod
tiykarǵı
bolıp, programma orınlanıwdı baslaǵanda
JVM
tárepinen shaqırıladı hám hárdayım
birinshi
orınlanadı.
main
metodı ishinde basqa metodlarda shaqırılıwı múmkin. Joqarıdaǵı
mısalda
main
metodı ishinde
max
metodı shaqırılıp atır.
max
metodı shaqırılǵanda,
mánisi
3
ke
teń bolǵan
x
argumenti
san1
parametrine,
mánisi
4
ke
teń bolǵan
y
argumenti
san2
parametrine jiberilip
atır.
max
metodı ishindegi
return
orınlanǵanda, basqarıw
qaytadan
main
metodqa
ótedi. Yaǵnıy,
z
ózgeriwshisine
max
metodınan eki sannıń úlken
bolǵan mánisi
(4)
qaytadı.
Metodlardıń islew principi
public static void
main
(String[] args) {
Scanner in=
new
Scanner(System.
in
);
int
x = 3, y=4;
int
z =
max
(x, y);
System.
out
.println(
"Eki sannıń úlkeni: "
+z);
}
public static int
max
(
int
san1,
int
san2){
int
ulkenSan;
if
(san1 > san2)
ulkenSan = san1;
else
ulkenSan = san2;
return
ulkenSan;
}
x
mánisin jiberiw (3)
y
mánisin jiberiw (4)
bas
qarıw
bas
qarıw
hám
má
ni
s
q
ay
tarıw
(4)
void tipindegi metodlar
public class
Baha {
public static void
main
(String[] args) {
bahaniShigariw
(75.7);
bahaniShigariw
(61.5);
}
public static void
bahaniShigariw
(
double
ball){
if
(ball >= 90)
System.
out
.println(
'A'
);
else if
(ball >= 70)
System.
out
.println(
'B'
);
else if
(ball >= 60)
System.
out
.println(
'C'
);
else
System.
out
.println(
'D'
);
}
}
void
metodtı tómendegi mısal járdeminde kórip shıǵayıq:
run:
B
C
char tipindegi metodlar
public class
Baha {
public static void
main
(String[] args) {
System.
out
.println(
bahaAliw
(75.7));
System.
out
.println(
bahaAliw
(61.5));
}
public static char
bahaAliw
(
double
ball){
if
(ball >= 90)
return
'A'
;
else if
(ball >= 70)
return
'B'
;
else if
(ball >= 60)
return
'C'
;
else
return
'D'
;
}
}
Bul
máseleni mánis qaytarıwshı metod járdeminde de islewge boladı.
run:
B
C
Argumentlerdiń mánisin uzatıw
Metodlardı shaqırǵanda olardıń argumentlerin durıs izbe-izlikte uzatıw
kerek
boladı. Bunda hárbir ózgeriwshiniń tipi hár qıylı bolıwıda múmkin.
Mısalı, qandayda bir sózdı n márte nátiyjege shıǵarıshı metod
tómendegishe boladı:
public static void
sozN
(String s,
int
n){
for
(
int
i=0; i
System.
out
.println(s);
}
Bunda
“Java”
sózin
5
márte nátiyjege shıǵarıw ushın
main
metodı
ishine
sozN
metodı tómendegishe shaqırıladı:
public static void
main
(String[] args) {
sozN
(
"Java"
,5);
}
Argumentlerdiń mánisin uzatıw
Qandayda bir
ózgeriwshi mánisi metodqa uzatılǵanda, uzatılǵan mánis
metod ishinde
ózgeriwi múmkin. Biraq, ózgeriwshiniń mánisi ózgerissiz
qaladı. Tómendegi mısaldı qarayıq:
Do'stlaringiz bilan baham: