7-Lekciya
.pdfvoid tipindegi metodlar
void metodtı tómendegi mısal járdeminde kórip shıǵayıq: 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');
}
}
run: B
C
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>
char tipindegi metodlar
Bul máseleni mánis qaytarıwshı metod járdeminde de islewge boladı. |
||
public class Baha { |
run: |
|
public static void main(String[] args) { |
||
B |
||
System.out.println(bahaAliw(75.7)); |
||
|
||
System.out.println(bahaAliw(61.5)); |
C |
}
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';
}
}
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>
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<n; 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);
}
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>
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:
public class Increment {
public static void main(String[] args) { int x=1;
System.out.println("shaqırılmastan aldın:"+x); increment(x);
System.out.println("shaqırılǵannan keyin:"+x);
}
public static void increment(int n){ n++;
System.out.println("metod ishinde:"+n);
}
}
run:
shaqırılmas tan aldın:1
metod ishinde:2
shaqırılǵan nan keyin:1
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>
Metodlardı qayta júklew
Aldınǵı mısalda 2 pútin sannıń eń úlkenin tabıwshı programmanı kórip shıqtıq. Biraq 2 haqıyqıy sannıń eń úlkenin tabıw kerek bolsa ne? Yamasa 3 haqıyqıy sannıń eń úlkenin tabıwshı sonday metod jaratıw kerek bolsa ne? Tómendegi mısalda max atlı 3 metod jaratılǵan:
public class maxMetodlar {
public static void main(String[] args) { //parametrleri int bolǵan metodtı shaqırıw
System.out.println(max(3,4));
//parametrleri double bolǵan metodtı shaqırıw
System.out.println(max(3.4,3.3));
//3 double parametri bolǵan metodtı shaqırıw
System.out.println(max(5.4,4.1,2.8));
}
run:
4
3.4
5.4
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>
Metodlardı qayta júklew
public static int max(int san1, int san2){ if(san1>san2)
return san1;
else
return san2;
}
public static double max(double san1, double san2){ if(san1>san2)
return san1;
else
return san2;
}
public static double max(double san1, double san2, double san3){ return max(max(san1,san2),san3);
}
}
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>
Ózgeriwshilerdiń kóriniw aymaǵı
Qandayda bir metod ishinde táriyplengen ózgeriwshiler usı metod ishindegi lokal
ózgeriwshi esaplanadı. Yaǵnıy, ózgeriwshilerdiń kóriniw aymaǵı ózgeriwshi táriyplengen orınnan baslanadı hám blok jawılǵan waqıtta tawsıladı. Metod parametrleri bolsa, lokal ózgeriwshiler esaplanadı. Yaǵnıy, bul ózgeriwshilerdiń kóriniw aymaǵı tek ǵana sol metod ishinde boladı. Bunnan basqa ózgeriwshilerdiń kóriniw aymaǵı qandayda bir operatorlar ishinde de bolıwı múmkin. Mısalı, for cikl
operatorınada táriyplengen ózgeriwshiniń kóriniw aymaǵı tek gána usı operator |
|
ishinde boladı. |
public static void metod(int k){ |
|
k nıń kóriniw aymaǵı |
|
|
|
|
|
… |
|
|
|
|
|
|
for(int i=0;i<10;i++){ |
||
|
|
|
|
|
|||
|
|
|
|
|
|
||
i diń kóriniw aymaǵı |
|
|
|
|
|
… |
|
|
|
|
|
|
|
int j=1; |
|
|
|
|
|
|
|
|
|
j diń kóriniw aymaǵı |
|
|
|
|
|
… |
|
|
|
|
|
} |
|
||
|
|
|
|
||||
|
|
|
|
|
|
… |
|
|
|
} |
|
|
|
|
|
|
|
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>
Ózgeriwshilerdiń kóriniw aymaǵı
Bir metod ishinde birdey atqa iye bolǵan ózgeriwshilerdi hár qıylı operator blokları ishinde táriyplew múmkin. Biraq, bir ózgeriwshini bir blok ishinde 2 márte táriyplewge bolmaydı.
2 blok ishinde birdey atqa iye ózgeriwshi táriyplewge boladı
1 blok ishinde birdey atqa iye 2 ózgeriwshi táriyplewge bolmaydı
public static void metod1(){ |
|
public static void metod2(){ |
|||||||||
|
|
|
|
|
int x=0, y=0; |
|
|
|
|
|
int i=1; |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
for(int i=1;i<=10;i++){ |
|
|
|
|
|
int x=0; |
|
|
|
|
|
|||||||
|
|
|
|
|
x+=i; |
|
|
|
|
|
for(int i=1;i<=10;i++){ |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
} |
|
|
|
|
|
x+=i; |
|
|
|
|
|
||||||||
|
|
|
|
|
for(int i=1;i<=50;i++){ |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
y+=i; |
|
} |
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>
2 sannıń eń úlken ulıwma bóliwshisin anıqlawshı programma
import java.util.Scanner;
public class EnUlkenUliwmaBoliwshi {
public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.print("Birinshi sandı kiritiń:"); int n1=in.nextInt(); System.out.print("Ekinshi sandı kiritiń:"); int n2=in.nextInt(); System.out.println("EUUB="+EUUB(n1,n2));
}
public static int EUUB(int n1, int n2){ while(n1!=n2){
n1=n1>n2?n1-n2:n1; n2=n2>n1?n2-n1:n2;
}
return n1;
}
}
run:
Birinshi sandı kiritiń:32
Ekinshi sandı kiritiń:48
EUUB=16
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>
Dáslepki 50 ápiwayı sandı shıǵarıwshı programma
public class ApiwayiSanlar {
public static void main(String[] args) {
System.out.println("Dáslepki 50 ápiwayı san:"); apiwayiSanlardiShigariw(50);
}
public static void apiwayiSanlardiShigariw(int sani){ int san=2;// ápiwayılıqqa tekseriliwshi san
int i=0; // ápiwayı sanlar sanı while(i<sani){ // 0-50 ge shekem if(apiwayiTekseriw(san)){
System.out.print(san+" "); i++;
}
san++;
}
}
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>