Veri Tipleri Aşağıdaki programdaki 5 hatayı bulunuz.

Benzer belgeler
C#(Sharp) Programlama Dili

Programlama Dilleri 3

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

HSancak Nesne Tabanlı Programlama I Ders Notları

2.2- DEĞİŞKENLER VE SABİTLER ÇALIŞMA YAPRAĞI

/*int sayi1, sayi2,toplam=0;

Programlama Dilleri III 1

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

YZM 2105 Nesneye Yönelik Programlama

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler

C# Dilinde Temel Veri Türleri

Nesne Tabanlı Programlama

Nesne Tabanlı Programlama

ÜNİTE. NESNE TABANLI PROGRAMLAMA I Okt. Mustafa AKBUĞA İÇİNDEKİLER HEDEFLER DEĞİŞKENLER VE VERİ TİPLERİ

Karabük Üniversitesi, Mühendislik Fakültesi... WEB TEKNOLOJİLERİ

Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi

PROGRAMLAMA DİLLERİ I

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

İNTERNET TABANLI PROGRAMLAMA

C# Örnek Uygulamalar I

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ Published by Juan Soulié

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

PROGRAMLAMAYA GİRİŞ DERS 2

OPERATÖRLER Alıştırmalar

2.3- OPERATÖRLER ÇALIŞMA YAPRAĞI

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

NESNEYE YÖNELİK PROGRAMLAMA

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

C PROGRAMLAMA D İ L İ

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

Diziler İndisli Değişkenler

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

Visual Basic 6.0. Anadolu Üniversitesi Endüstri Mühendisliği Bölümü. Değişkenler ve Veri tipleri. Ders Notları

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

DATA STRUCTURES. Part I C# Programlama Dili Temelleri

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

You're browsing: Bilişim Teknolojileri, Programlama Temelleri, C#» C# (C Sharp),Genel,Programlama Temelleri» C# Değişken Tanımlama ve Veri Türleri

C# Çalışma Örnekleri

HSancak Nesne Tabanlı Programlama I Ders Notları

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Her veri tipine yetecek ve ancak o kadar anabellek alanı ayrılır. Programcı, ana bellekte ayrılacak adresin büyüklüğünü bilerek değişkenlerini

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

C#.NET ile PROGRAMLAMAYA GİRİŞ

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

HSancak Nesne Tabanlı Programlama I Ders Notları

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

C Programlama Dilinde Değişkenler

Pointer Kavramı. Veri Yapıları

Dr. Fatih AY Tel: fatihay@fatihay.net

BİLİŞİM TEKNOLOJİLERİ

Programlama Dilleri 3

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

C Programlama Dilininin Basit Yapıları

JAVADA DİZİ İŞLEMLERİ

Toplama işlemi için bir ikili operatör olan artı işareti aynı zamanda tekli operatör olarak da kullanılabilir.

YZM 2105 Nesneye Yönelik Programlama

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

Operator Aşırı Yükleme (Operator OverLoading)

BİLG Dr. Mustafa T. Babagil 1

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

ALGORİTMA VE PROGRAMLAMA I

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

Görsel Programlama 1

Temel Veri Türü İşlemleri

Internet Programming II

JAVA DEĞİŞKEN VE OPERATÖRLER. M.İLKUÇAR - 1

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

PASCAL PROGRAMLAMA DİLİ YAPISI

2 VISUAL STUDIO 2012 GELİŞTİRME ORTAMI

Programlama Dillerinde Kullanılan Veri Tipleri

1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5

Karşılaştırma İşlemleri ve Koşullu İfadeler

BİL-142 Bilgisayar Programlama II

BİLGİSAYAR PROGRAMLAMA DERSİ

Yrd. Doç. Dr. Caner ÖZCAN

BBS515 Nesneye Yönelik Programlama. Ders 3 Zümra Kavafoğlu

J A V A D A P R O G R A M D E N E T İ M İ V E O P E R A T Ö R L E R

BİLİŞİM TEKNOLOJİLERİ

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

Bölüm 2 - C ile Programlamaya Giriş

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır:

ALGORİTMA VE PROGRAMLAMA I

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi

Göstericiler (Pointers)

Transkript:

Aşağıdaki programdaki 5 hatayı bulunuz. class hata public static void main() int x; int y; Console.WriteLine("X in degeri = "x); y = x / 2 Console.Write("y nin değeri = x / 2 = "); Console.WriteLine(y); 1- Programın başında ifadesi olmalıydı 2- Main() baş harfi büyük olmalıydı 3- x e bir değer atanması gerekiyordu 4- x yerine +x olmalıydı 5- y=x/2; şeklinde yazılı olmalıydı. 2 Veri Tipleri Programlama dillerinin hemen hemen hepsinde bir değişken kullanılmadan önce tanımlanmalıdır. Değişken tanımlama ile ilgili aşağıdaki şekli inceleyelim. Değişken türleri bellekte ayrılan alanın büyüklüğünü belirtmemizi sağlar. Değişken adı da bu alana verdiğimiz adı belirtir. Doğal olarak bu alandaki veriye erişmek istediğimizde veya bu alandaki veriyi değiştirmek istediğimizde bu adı kullanırız. Bir önceki örnekte int ad; yazarak 2,147,483,648 ile 2,147,483,647 arasında (sınırlar dâhil) bir değer tutabilen ve adı "ad" olan bir bellek alanı oluşturduk. 3 4 1

Değişkenlere Değer Atama : Çoğu programlama dilinde değişkenler tanımlandıktan sonra direkt olarak programda kullanılabilirler. Ancak C#'ta değişkeni tanımladıktan sonra ayrıca bir de ilk değer atamak zorundayız. Aksi bir durumda değişkeni programımız içinde kullanamayız. Değişkenlere değer atama şöyle yapılır: ad=5; Burada ad değişkenine 5 değerini atadık. Bu en basit değer atama yöntemidir. Ayrıca şunlar da mümkündür: int a=5; int b, c, d, e; int f=10, g, m=70; Tip Bool Byte Char Decimal Double Float İnt Long Sbyte Short Uint Ulong Ushort C# Değişken Türleri Anlamı True/False değerlerini simgeler 8 bit işaretsiz tam sayı Karekter Mali hesaplamalar için numerik tip Çift duyarlıklı kayan noktalı sayı Tek duyarlıklı kayan noktalı sayı Tamsayı Uzun tamsayı 8 bit işaretli tamsayı Kısa tamsayı işaretsiz tam sayı işaretsiz uzun tam sayı işaretsiz kısa tam sayı 5 6 SAYISAL VERİ TÜRLERİ Değişken türleri : Bir önceki sayfada değişken tanımlarken değişken türü için int kullanmıştık. C#'ta bunun gibi farklı kapasitelere sahip daha birçok değişken türü vardır. Ayrıca bazı değişken türleri sayısal, bazıları da metinseldir. Sayısal türler bir sonraki sayfada tablo halinde listelenmiştir : Tür Boyut Kapasite Örnek byte 1 bayt 0,..., 255 (tam sayı) byte a=5; sbyte 1 bayt -128,..., 127 (tam sayı) sbyte a=5; short 2 bayt -32768,..., 32767 (tam sayı) short a=5; ushort 2 bayt 0,..., 65535 (tam sayı) ushort a=5; int 4 bayt -2147483648,..., 2147483647 (tam sayı) int a=5; uint 4 bayt 0,..., 4294967295 (tam sayı) uint a=5; long 8 bayt -9223372036854775808,..., 9223372036854775807 (tam sayı) long a=5; ulong 8 bayt 0,..., 18446744073709551615 (tam sayı) ulong a=5; float 4 bayt ±1.5*10-45,..., ±3.4*1038 (reel sayı) float a=5f; veya float a=5f; double 8 bayt ±5.0*10-324,..., ±1.7*10308 (reel sayı) double a=5; veya double a=5d; veya double a=5d; decimal 16 bayt ±1.5*10-28,..., ±7.9*1028 (reel sayı) decimal a=5m; veya decimal a=5m; 7 8 2

Dikkat ettiyseniz bazı değişken türlerinde değer atarken değerin sonuna bir karakter eklenmiş, bu değişken türlerindeki değişkenlere değer atarken siz de bunlara dikkat etmelisiniz. Sıra geldi metinsel türlere: METİNSEL VERİ TÜRLERİ Tür Boyut Açıklama Örnek char 2 bayt Tek bir karakteri tutar. char a='h'; string Sınırsız Metin tutar. string a="ben bir zaman kaybıyım, beni boşver hocam"; String türüne ayrıca char ve/veya string sabit ya da değişkenler + işaretiyle eklenip atanabilir. Örnekler: char a='g'; string b="deneme"; string c=a+b+"viki"+'m'; C#'ta hem metinsel hem de sayısal olmayan türler de vardır: Bool : Koşullu yapılarda kullanılır. Bool türünden değerlere true, false veya 2<1 gibi ifadeler örnek verilebilir. bool b1=true; bool b2=false; bool b3=5>4; 9 10 Object : Bu değişken türüne her türden veri atanabilir. Örnekler: object a=5; object b='k'; object c="metin"; object d=12.7f; Aslında C#'taki bütün değişken türleri object türünden türemiştir. Bu yüzden object türü diğerlerinin taşıdığı bütün özellikleri taşır. Şimdiye kadar değişkenleri tanımlayıp ilk değer verdik. Şimdi değişkenleri programımızda kullanmanın zamanı geldi. Bir örnek: byte a=5; 11 12 3

Başka bir örnek : byte a=5; byte b=8; Console.WriteLine(a+b); Ekrana C# kitabı yazdıran örnek : string a="c#", b="kitabı"; Console.WriteLine(a+b); 13 14 Bir önceki programda aynı satırda iki tane string değişkeni tanımladık ve değer verdik. Bu değişkenlerin değerlerini WriteLine metoduyla ekrana yan yana yazdırdık. WriteLine metodu + işaretini gördüğünde sayısal değişken ve değerleri toplar, string türünden değişken ve değerleri yan yana yazar, char türünden değişken ve değerlerin Unicode karşılıklarını toplar. Ancak tabii ki + karakterinin ayırdığı değişken veya değerler char ile stringse char karakterle string metni yan yana yazar. string a; a=console.readline(); Console.WriteLine(a+" metnini yazdınız."); 15 int a, b; a=20; b=a; Console.WriteLine(b); Bu programda da görebileceğiniz gibi değişkenlere değer olarak başka bir değişkeni atayabiliriz. Ancak değerini atadığımız değişkene daha önceden bir değer atanmış olması gerekiyor. Burada b değişkenine a değişkeninin değeri atanıyor. 16 4

Bu programdaki hatayı bulunuz? Console.ReadLine()="metin"; string a=console.readline(); Burada Console.ReadLine() ifadesi bir değişkenmiş gibi kullanılmaya çalışılıyor, ancak hatalı. Çünkü Console.ReadLine() ifadesi yalnızca bir değermiş gibi kullanılabilir. 17 Değişken adlandırma kuralları : Şimdiye kadar değişkenlere ad, a veya b gibi basit adlar verdik. Ancak aşağıdaki kuralları ihlal etmemek şartıyla değişkenlere istediğiniz adı verebilirsiniz. Değişken adları boşluk, simge içeremez. Değişkenler bir numerik karakterle başlayamaz. C#'ın diğer bütün komut, metot ve benzerlerinde olduğu gibi değişken adlarında büyük-küçük harf duyarlılığı vardır. Yani degisken isimli bir değişkenle Degisken isimli bir değişken birbirinden farklıdır. 18 Sık yapılan hatalar C#'ta değişkenlerle ilgili sık yapılan hatalar şunlardır: Aynı satırda farklı türden değişkenler tanımlamaya çalışma. Örneğin aşağıdaki örnek hatalıdır: int a, string b; Değişkene uygunsuz değer vermeye çalışma. Örnek: int a; a="metin"; Değişkeni tanımlamadan ve/veya değişkene ilk değer vermeden değişkeni kullanmaya çalışma. Aşağıdaki örnekte iki değişkenin de kullanımı hatalıdır : int b; Console.WriteLine(b); 19 20 5

Değişken tanımlaması ve/veya değer vermeyi yanlış yerde yapma. Örnek: int a=5; Bazı değişken türlerindeki değişkenlere değer verirken eklenmesi gereken karakteri eklememek. Örnek: float a=12.5; 21 22 Ondalık sayıların ondalık kısmını ayırırken nokta (.) yerine virgül (,) kullanmak. Örnek: float a=12,5f; Metinsel değişkenlerle matematiksel işlem yapmaya çalışmak. Örnek: string a="1", b="2"; int c=a+b; 23 24 6

Bir değişkeni birden fazla kez tanımlamak. Örnek: string a; string a="deneme"; Değişkenlere değer verirken yanlış şekilde değer vermek. Örnek: string a=deneme; 25 26 Sabit değişkenler : Programımızda bazen değeri hiç değişmeyecek değişkenler tanımlamak isteyebiliriz. Örneğin pi isimli float türünden bir değişken tanımlayıp buna 3.14 değerini verip programımızda pi sayısına ihtiyaç duyulduğunda bu değişkeni kullanabiliriz. Sabit değişkenlerin normal değişkenlerden farkı değişkeni değiştirmek istediğimizde ortaya çıkar, sabit olarak belirtilen değişkeni değiştirirsek derleyici hata verip programımızı derlemez. Bu daha çok uzun program kodlarında işe yarayabilir. Ayrıca sabit değişkenlere tanımlandığı satırda değer vermeliyiz. Herhangi bir değişkeni sabit olarak belirtmemiz için değişken türünden önce const anahtar sözcüğü kullanılır. Örnekler: const int a = 5; const string b ="deneme"; const char c ='s'; Aşağıdaki gibi bir durum, değişkene tanımlandığı satırda değer verilmediği için hatalıdır. const int a; a=5; Sabit ifadelere değer olarak sabit, sabit değişken ya da sabit ve/veya sabit değişkenlerden oluşan matematiksel ifadeler verilebilir. Örnek: const int a=5; const int b=a+7; const int c=a*b; Aşağıdaki gibi bir durum hatalıdır. int a=5; const int b=a+8; 27 28 7

Tip Dönüşümü: Programlamada zaman zaman tür dönüşümüne ihtiyaç duyarız. Örneğin string türündeki sayılarla ( 5 veya 2 gibi) matematiksel işlem yapmamız gerektiğinde tür dönüşümü yapmamız gerekir. Dönüşüm yapılacak her 2 tip birbiri ile uyumlu ise ve hedef tip kaynak tipten daha büyük ise bu durumda otomatik olarak dönüşüm gerçekleşir. Örneğin int tipi her zaman geçerli byte değerlerinin tümünü tutacak kadar büyüktür. Üstelik int ve byte tamsayı tipidir, bu nedenle otomatik dönüşüm uygulanabilir. Otomatik tür dönüşümünde ilginç bir durum sözkonusudur. char türünü kendisinden daha kapasiteli bir sayısal türe bilinçsiz olarak dönüştürebiliriz. Bu durumda ilgili karakterin Unicode karşılığı ilgili sayısal değişkene atanacaktır. class TurDonusumu char a= A'; int b=a; Console.WriteLine(b); Ekran Çıktısı : 65 29 30 Bilinçli Tür Dönüşümü : class TurDonusumu int a=5; byte b=(byte)a; Console.WriteLine(b); Programımızda da görebileceğiniz gibi (byte)a ifadesi, a değişkeninin byte hâlini tuttu. Aşağıdaki şekil bilinçli tür dönüşümünü anlatmaktadır. 31 String türüyle ilgili dönüşümler x.tostring() : Bu metot x değişken ya da sabitini stringe çevirip tutar. Örnekler: class TurDonusumu class TurDonusumu string b=3.tostring(); int a=6; Console.WriteLine(b); string b=a.tostring() Console.WriteLine(b); 32 8

System.Convert sınıfı ile tür dönüşümü : System isim alanının altındaki Convert sınıfı içinde tür dönüşümü yapabileceğimiz birçok metot bulunur. Bu metotlarla hemen hemen her türü her türe dönüştürebiliriz. Ancak bunun için değişken türlerinin CTS karşılıklarını bilmeliyiz. Değişken türleri ve CTS karşılıkları bir sonraki sayfada yer alan tabloda listelenmiştir. Tür CTS karşılığı Metotlar bool Boolean Convert.ToBoolean(x) byte Byte Convert.ToByte(x) sbyte Sbyte Convert.ToSbyte(x) short Int16 Convert.ToInt16(x) ushort UInt16 Convert.ToUInt16(x) int Int32 Convert.ToInt32(x) uint UInt32 Convert.ToUInt32(x) long Int64 Convert.ToInt64(x) ulong UInt64 Convert.ToUInt64(x) float Single Convert.ToSingle(x) double Double Convert.ToDouble(x) decimal Decimal Convert.ToDecimal(x) char Char Convert.ToChar(x) string String Convert.ToString(x) 33 34 ÖRNEK PROGRAM: class TurDonusumu string s1, s2; int sayi1, sayi2; int Toplam; Console.Write("Birinci sayı girin: "); s1=console.readline(); sayi1=convert.toint32(s1); Console.Write("İkinci sayıyı girin: "); s2=console.readline(); sayi2=convert.toint32(s2); Toplam=sayi1+sayi2; Console.Write("Toplam= "+Toplam); 35 9