- 24 Mar 2019
- 172
- 0
Merhaba arkadaşlar bugün 4'üncü ders ile karşınızdayım. Bugün derste fonksiyonlar /methodlar (Functions / Methods) ve diziler (array) bahsedeceğim.
Haydi başlayalım;
Fonksiyonlar /Methodlar (Functions / Methods):
- Fonksiyonlar method olarak da adlandırılır aynı şeydir.
- Fonksiyonlar bir görevi yapan komutlar grubudur.
- Fonksiyonlar uzun bir problemi daha küçük problemlere bölerek çözmek ve program yazımını basitleştirmek için kullanılır.
- Fonksiyonu bir kere yazıp programın farklı yerlerinden çağırmak mümkündür.
- 2 tip method vardır.
- Kütüphane methodları
- Kendi yazdığımız methodlardır.
Bütün fonksiyonlar /methodlar da 2 ye ayrılır
- return değeri olanlalar yani bize bir parametre döndüren fonksiyonlar
[*]return değeri olmayan (v-o-i-d) fonksiyonlar
Fonksiyonlar /Methodlar nasıl yazılır?
Örnekler üstünden işleyelim dersimizi;
Basit bir print(yazdırma) fonksiyonu:
Kod:
package tht_java_ders_4;
public class ThT_Java_Ders_4 {
public static **** yazddırma(){//**** yerine (v-o-i-d) "-" kaldırarak deneyin
System.out.println("İlk fonksiyonum...");
}
public static **** main(String[] args) {//**** yerine (v-o-i-d) "-" kaldırarak deneyin
yazddırma();//fonksiyonumuzu mainde çağrıyoruz.
}
}
Output(Çıktı):
Basit bir hesaplama fonksiyonu:
Kod:
package tht_java_ders_4;
import java.util.Scanner;
public class ThT_Java_Ders_4 {
public static int hesaplama (int a,int b){//fonksiyonumuz 2 tane parametre alıyor ve bir işem yapıp bize sonuç döndürüyor.
return a+b;
}
public static **** main(String[] args) {//**** yerine (v-o-i-d) "-" kaldırarak deneyin
int x,y;
Scanner scanner=new Scanner(System.in);
System.out.print("1.Sayıyı giriniz:");
x=scanner.nextInt();
System.out.print("2.Sayıyı giriniz:");
y=scanner.nextInt();
System.out.println("sonuç:"+hesaplama(x, y));//fonksiyonumuzu mainde çağrıyoruz.
}
}
Output(Çıktı):
Örnek soru ve çözümü:
Kod:
package tht_java_ders_4;
import java.util.Scanner;
public class ThT_Java_Ders_4 {
public static int noksanSayi (int a){
int i;
int bolum;
int sonuc=0;
for(i=1;i<a;i++)
{
bolum=a % i;
if(bolum==0)
{
sonuc+=i;
}
}
return sonuc;
}
public static **** main(String[] args) {//**** yerine (v-o-i-d) "-" kaldırarak deneyin
int x=0;
int sonuc=0;
Scanner scanner=new Scanner(System.in);
System.out.print("Bir sayı giriniz: ");
x=scanner.nextInt();
sonuc=noksanSayi(x);
if(sonuc<x)
{
System.out.println("Bu sayi noksan sayidir..");
}
else
{
System.out.println("Bu sayi noksan sayi degildir..");
}
}
}
Output(Çıktı):
Diziler(array):
- Tek bir değer saklayabilen değişkenlere temel değişken (elementary variable) adı verilir.
- Birden fazla değer tutabilen değişkenlere ise bileşik değişken (compound variable) adı verilir.
- Örneğin, bir sınıftaki 50 öğrencinin vize notlarını saklamamız için içinde 50 tamsayı değer saklayabilen bir değişkene ihtiyacımız olacaktır. Bu durumda dizi kullanmamız gerekir.
- Dizi (array), belirli bir boyutta tanımlanmış, içinde aynı tipte veriler barındıran, ardı ardına sıralı bellek hücrelerinden oluşan bir veri yapısıdır.
- VeriTipi diziİsmi[elemanSayisi];
Nasıl oluşturulur:
datatype[] arrayRefVar = new datatype[arraySize];
double myList[] = new double[10];
Örnek:
Kod:
package tht_java_ders_4;
import java.util.Scanner;
public class ThT_Java_Ders_4 {
public static **** main(String[] args) {//**** yerine (v-o-i-d) "-" kaldırarak deneyin
int arr[] = new int[10];// 10'luk bir aray oluşturduk
Scanner scanner=new Scanner(System.in);
for (int i = 1; i < 11; i++) {
System.out.print("Dizinin "+i+" elemanını giriniz:");
arr[i-1]=scanner.nextInt();
//arrylerde indes 0 dan başlar
//buyuzde for döngümüz 1 den başladığı için
//i-1 yazdık
}
System.out.print("dizinin elemanları: ");
for (int i = 0; i < 10; i++) {
System.out.print(arr[i]+" ");
}
}
}
Output(Çıktı):
İki Boyutlu Diziler
Matrisler satır (row) ve sütunlardan (column) oluşan tablolardır.
Örnek:
Kod:
package tht_java_ders_4;
import java.util.Scanner;
public class ThT_Java_Ders_4 {
public static **** main(String[] args) {//**** yerine (v-o-i-d) "-" kaldırarak deneyin
int arr[][] = new int[10][10];// 10 a 10'luk bir aray oluşturduk
Scanner scanner=new Scanner(System.in);
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
arr[i][j]=(int)(Math.random()*10);
}
}
System.out.println("dizinin elemanları: ");
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
System.out.print(arr[i][j]+" ");
}
System.out.println("");
System.out.println("");
}
}
}
Output(Çıktı):