JAVA’DA DİZİLER Dr.Galip AYDIN.

Slides:



Advertisements
Benzer bir sunumlar
Programlama-II (Java ile Bilgisayar Programlama)
Advertisements

Dizi Kullanan Örnekler
STRİNG FONKSİYONLARI.
Bölüm 8 Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama
SCANNER SINIFI ve KLAVYEDEN VERİ OKUNMASI
Değişkenler ve bellek Değişkenler
Göstericiler (Pointers)
Programlama-II (Java ile Bilgisayar Programlama)
String Diziler(Katarlar)
Tanım Birbirleriyle ilişkili ve bitişik iki ya da daha fazla bellek hücresinden oluşan yapı Örnek dizi tanımı: int tamsayiDizi[10]; tamsayiDizi[0] /*ilk.
Diziler.
OOP UYGULAMA 5.
EDUTIME Java Day 4 Serdar TÜRKEL.
Javascript Oğuz İNAL.
Elektrik-Elektronik Mühendisliği Bölümü DİZİLER C Programlama Dili Yaz Stajı Cengiz TEPE SAMSUN 2007.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
String Kütüphanesindeki Arama Fonksiyonları
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
Diziler(Arrays).
Bölüm 10 Yapılar ve Birleşimler
BPR152 ALGORİTMA VE PROGRAMLAMA - II
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Diziler.
DİZİLER.
While Döngüsü Tekrarlama deyimidir. Bir küme ya da deyim while kullanılarak bir çok kez yinelenebilir. Yinelenmesi için koşul sınaması döngüye girilmeden.
C# Metot Overloading (Aşırı yükleme)
Sorular? Öneriler?. Referanslar Referanslar (Tekrar) Eğer aşağıdaki gibi yazarsak ne olur: int x; double y; char c; ???
JAVADA PROGRAM DENET İ M İ VE OPERATÖRLER. int a ; a=4 ; // do ğ ru bir atama 4=a ; // yanlış bir atama!
JAVA İ LE PROGRAMLAMAYA G İ R İ Ş Ekim Dr. Galip Aydın.
Görsel C# Programlama Güz 2009 (6. Hafta).
C#.NET 5.0 C# .NET 5.0 Eğitimleri Volkan KANAT.
Java Sınıf ve Nesne Kavramı UML Gösterimi
Ses Kontrol Metodlar ile ilgili son birkaç söz Tekrar: Programlama için başlıca 3 model.
JAVA İLE PROGRAMLAMAYA GİRİŞ
Chapter 6: Using Arrays.
ÇOK BİÇİMLİLİK POLYMORPHISM
Önceki Dersi Hatırlama !!
Çoklu dallanma seçimi: switch
Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü
BM-103 Programlamaya Giriş Güz 2014 (8. Sunu)
NESNEYE YÖNELİK PROGRAMLAMA
EDUTIME Java Day 8 Serdar TÜRKEL.
Numaralandırmalar(Enumaration)
Kalıtım , Sınıf Asli Ergün.
Class KahveFincani { public KahveFincani() { System.out.println("KahveFincani..."); } } public class YapilandirciBasitOrnek { public static void main(String[]
Diziler (Arrays).
Sınıflar ve Nesneler Sınıf: bir nesnenin şablonunu, kalıbını, şeklini, davranışını, kalıtımını değişkenleri, metodları ve ebeveynleri vasıtasıyla tanımlar.
Trees, Vectors, Iterators. ADT Abstract Data Type (ADT) vs implementation -Soyut Veri Türleri - Uygulamaları.
Ders İçeriği Liste Soyut veri yapısı (ADT)
Bölüm 3: Diziler BTEP 102 – Veri Yapıları ve Programlama
Bölüm 5 Nesneler ve Metotlar
Bil 102 Bölüm 6 Diziler.
Bil 102 Bölüm 3 Java’da Program Akış Denetimi Bil 1021.
String class String karakterler dizisidir
Bölüm 7 - Diziler İçerik 7.1 Giriş 7.2 Diziler 7.3 Dizileri Tanımlama 7.4 Dizileri Kullanan Örnekler 7.5 Referanslar ve Referans Parametreler.
DİZİLER Arrays.
Outline 4.1 Giriş 4.2 Algoritmalar 4.3 Pseudocode 4.4 Kontrol İfadeleri 4.5 if tek-seçimli ifadeler 4.6 if else seçimli ifadeler 4.7 while döngü ifadeleri.
Ders 2- Veri türleri, Karar ve Döngü Yapıları, Görsel Kontröller
JAVA PROGRAMLAMA ORNEKLER
ODTU-SEM Copyright (c) 2011 Kalıtım(Inheritance) Subclass lar tüm method ve attributes larının superclass ından alırlar. Bu işlem için extends keyword.
SINIFLAR ve NESNELER. İlk sınıfımızı ekleyelim class KrediHesap { public ulong HesapNo; public double Limit; public string KartSahibi; }
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
İbrahim Olgaç PROGRAMLAMA DİLLERİ SUNUMU C#
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
DİZİLER Bellekte sıralı bir şekilde bulunan ve aynı türden bilgilerin saklandığı veri yapısına dizi (array) denir. Örneğin kullanıcıdan 7 kişinin not ortalamasını.
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
JAVA’DA DİZİLER. Özet  Dizi: belirli sayıda ve aynı veri türünden de ğ işkenlere aynı adla erişilmesini sa ğ layan bir yapıdır.  Dizilerde döngü işlemleri.
Sunum transkripti:

JAVA’DA DİZİLER Dr.Galip AYDIN

Özet Dizi: belirli sayıda ve aynı veri türünden değişkenlere aynı adla erişilmesini sağlayan bir yapıdır. Dizilerde döngü işlemleri sıklıkla kullanılır. Özellikle for döngüleri dizilerle kullanılmaya çok uygundur. Diziler tek boyutlu olabileceği gibi iki veya daha çok boyutlu da olabilirler. Matrisler iki boyutlu dizilere örnektir.

Dizi oluşturma Diziler aşağıdaki gibi tanımlanır: dizi_tipi[] dizi_adı = new dizi_tipi[uzunluk]; Örnekler: 80 elemanlı char tipinde bir dizi : char[] semboller = new char[80]; 100 elemanlı double dizisi : double[] sayilar = new double[100]; int[] sayilar; float[] maaslar; String[] isimler;

Dizi isimleri ile [ ] kullanımı 1. Yeni bir tip adı oluşturmak için, örneğin int[] degerler; “int dizisi” türünde bir isim yaratır int ve int dizisi farklı türlerdir int dizisi ismin türünü belirtir, verinin türünü değil 2. Yeni bir dizi oluşturmak için: değerler= new int[100]; k = new int[3]; yt = new float[7]; isimler = new String[50]; 3. Dizi içindeki bir elemanı isimlendirmek için - indexlenmiş değişken de denir değerler[3] = giris.nextInt(); System.out.println(“Dizinin 3. elemanı" + değerler[2]);

Dizi terminolojisi sicaklik[n + 2] sicaklik[n + 2] = 32; Dizi adı Index - altsimge - int olmalıdır, Indexli değişken – eleman veya altsimgeli değişken indexli değişkenin değeri - dizinin bir elemanı olarak da adlandırılır

Dizilerin uzunluğu Bir dizinin uzunluğu new kullanılarak oluşturulduğu zaman parantez içinde verilir. dizinin elemanlarına (değerlerine) ne kadar hafıza ayrılacağını belirlemek için ve dizinin en fazla ne kadar eleman alabileceğini belirlemek için kullanılır elemanlara değer atanıp atanmamasına bakılmaksızın hafızada yer ayrılır length, değişkeni kullanılarak dizinin uzunluğu öğrenilebilir : int[] sicaklik = new int[20]; System.out.println(sicaklik.length); Dizinin uzunluğu tanımlama esnasında belirtilir ve daha sonra dizi yeniden tanımlanmadığı sürece değiştirilemez.

Alt-index Diziler sıfırdan başlayan altindexler kullanırlar Örnek: ilk elemanın indexi 0 ikinci elemanın indexi 1 n. elemanın indexi n-1 son elemanın indexi length-1 Örnek: int[] scores = {97, 86, 92, 71};

Index out of Range Exception length-1 den daha büyük bir altindex kullanma run time –çalışma zamanı- (derleme zamanı değil) hatasına sebep olur ArrayOutOfBoundsException hatası verir C ve C++ gibi bazı diller run time hatayı bile vermez bu dillerin en tehlikeli özelliklerinden biri de sınır dışı indexlere izin vermeleridir

Dizi değerlerini tanımlama sırasında atamak Dizinin elemanlarına virgülle ayrılmış liste halinde değer atanabilir Dizinin uzunluğu verilen değerlerin sayısı kullanılarak otomatik olarak belirlenir Örneğin: double[] degerler = {5.1, 3.02, 9.65}; System.out.println(degerler.length); 3 yazdırır

Dizi elemanlarını bir döngü içinde atamak Dizi işlemleri döngüler ile rahatlıkla yapılır dizilere genellikle for döngüsü kullanılarak değer atanır Örnek: int i;//dongu sayacı/dizi indexi int[] a = new int[10]; for(i = 0; i < a.length; i++) a[i] = 0; döngü sayacı/dizi indexi 0 dan length – 1’e kadar değişir Önemli not: Diziler kullanılmadan önce elemanlarının değerleri mutlaka atanmalıdır

Dizileri Metodlara parametre olarak vermek metodun parametresi bir karakter dizisidir public static void diziGoster(char[] a) { int i; for(i = 0; i < a.length; i++) System.out.println(a[i]); } length özelliği kullanılarak döngü kontrol edildiği için değişik uzunluktaki diziler yazdırılabilir.

main Metodunun parametreleri main metodu bir String dizisini parametre olarak alır: public static void main(String[] args) Komut satırından bir program çalıştırırken, class isminden sonra verilen herşey main metoduna args dizisinin elemanları olarak verilir. java Merhaba Ali Demir Merhaba Ali Demir Public static void main(String[] args) { System.out.println(“Merhaba “ + args[0] + “ “ + args[1]); }

Dizi isimlerinde = kullanılması: Referans Tipleri int[] a = new int[3]; int[] b = new int[3]; for(int i; i < a.length; i++) a[i] = i; b = a; System.out.println(a[2] + " " + b[2]); a[2] = 10; output: 2 2 10 10 Bu a dizisinin bir kopyasını oluşturmaz; b yi a nın diğer bir ismi yapar. a da değiştirilen her değer b de de değişir

== ile dizileri karşılaştırma a ve b nin ikisi de 3 elemanlı int dizisi int i; int[] a = new int[3]; int[] b = new int[3]; for(i=0; i < a.length; i++) a[i] = i; for(i=0; i < b.length; i++) b[i] = i; if(b == a) System.out.println("a ve b eşittir "); else System.out.println("a ve b eşit değil"); a ve b nin bütün elemanlarına değer atanıyor a ve b nin adreslerinin aynı olup olmadığını test eder, elemanların değerlerini karşılaştırılmaz output " a ve b eşit değil " çünkü dizilerin adresleri aynı değil

Testing Two Arrays for Equality To test two arrays for equality you need to define an equals method that returns true if and only the arrays have the same length and all corresponding values are equal This code shows an example of an equals method.

Çok boyutlu diziler Birden fazla index boyut sayısı = index sayısı 2-D dizi bir tablo veya ızgara gibi düşünülebilir bir boyutu satır diğer boyutu sütun hücre: bir satır ve bir sütunun kesişimi dizinin bir elemanı tablodaki bir hücreye karşılık gelir iki index: [satır][sütun] ilk boyut: satır indexi ikinci boyut: sütun indexi bütün indexler sıfırdan başlar Degerler[3][4] = 4. satır ve 5. sütun

2-D Dizi 2 boyutlu tablo adında bir int dizisi on satır ve altı sütundan oluşacak int[][] tablo = new int[10][6]; int[][] tablo = new int[10][6]; int satır, sutun; for (satır = 0; satır < 10; satır++) for (sutun = 0; sutun < 6; sutun ++) tablo[satır][sutun] = ...

Çok boyutlu dizilerin oluşturulması Çok boyutlu diziler dizilerden oluşan diziler olarak oluşturulurlar. Örnek: int[][] tablo = new int[3][4]; tablo[0] bir boyutlu 3 elemanı olan bir dizi tablo nun her elemanı int tablo.length = 3 Satırlara sadece bir index kullanarak ulaşabiliriz: tablo[0].length dizinin ilk satırının uzunluğu olan (4) verir 1 2 0 1 2 3 tablo[0] dizinin ilk satırına işaret eder, o da tek boyutlu bir dizidir

class diziDoldur { public static void main (String args[]) { int[][] M; M = new int[4][5]; for (int row=0; row < 4; row++) { for (int col=0; col < 5; col++) { M[row][col] = row+col; } } } }