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



Benzer belgeler
PROGRAMLAMA DİLLERİ I

C#(Sharp) Programlama Dili

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

NESNEYE YÖNELİK PROGRAMLAMA

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

HSancak Nesne Tabanlı Programlama I Ders Notları

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

HSancak Nesne Tabanlı Programlama I Ders Notları

Programlama Dilleri 3

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

Nesne Tabanlı Programlama

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

YZM 2105 Nesneye Yönelik Programlama

7.1- Operatörler ve Giriş-Çıkış İşlemleri. M.İLKUÇAR - 1

if (ad == "Sabri") Console.WriteLine("Merhaba Sabri. Ne zamandır gözükmüyodun...");

ÜNİTE İÇİNDEKİLER. NESNE TABANLI PROGRAMLAMA I Okt. Mustafa AKBUĞA HEDEFLER OPERATÖRLER

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

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

Programlama Dilleri 3

Print Komutu ile Değişkenleri Yazdırmak

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

NESNEYE YÖNELİK PROGRAMLAMA

7.1- C#.net Giriş Çıkış İşlemleri ve Visual Studio. M.İLKUÇAR - 1

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

Mantıksal İşlemler. 7.1 true, false, nil

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

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

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

Lambda İfadeleri (Lambda Expressions)

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

Programlama Dilleri III 1

Nesne Tabanlı Programlama

Pascal Programlama Dili

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları

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

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

Nesne Yönelimli Programlama

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

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.

Sunum İçeriği. Programlamaya Giriş

C Programlama Dilininin Basit Yapıları

BÖLÜM 3 OPERAT A ÖRLER

Akış Kontrol Mekanizmaları

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

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

C++ Operatörler (Operators)

Algoritma ve Programlamaya Giriş

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

Nesne Yönelimli Programlama

Bigisayar Programlama

/*int sayi1, sayi2,toplam=0;

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

Temel Giriş/Çıkış Fonksiyonları

Diziler İndisli Değişkenler

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

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

Programlama Dili Prensipleri. Lab Notları 4

4. Bölüm Programlamaya Giriş

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

LABORATUVAR ÇALIŞMASI 1 - Python a Giriş

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.

Java da İşleçler, Ders #3 (4 Kasım 2009)

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Günümüz bilgi toplumunda bilgisayar, her alanda kendine yer edinmiş ve insana, bir çok işlemde yardımcı olarak büyük kolaylık sağlamaktadır.

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

C#.NET ile PROGRAMLAMAYA GİRİŞ

Göstericiler (Pointers)

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

mikroc Dili ile Mikrodenetleyici Programlama Ders Notları

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

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

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir:

Algoritma ve Programlama: Karar Yapıları ve Döngüler

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü

Pythonda değişkenlerin türlerini tanımlamaya gerek yoktur

Microsoft Excel. Çalışma Alanı. Hızlı Erişim Çubuğu Sekmeler Başlık Formül Çubuğu. Ad Kutusu. Sütunlar. Satırlar. Hücre. Kaydırma Çubukları

ALGORİTMA VE PROGRAMLAMA II

DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN

JAVA DÖNGÜ DEYİMLERİ. For Döngüsü

HSancak Nesne Tabanlı Programlama I Ders Notları

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

BÖLÜM 4 KONTROL DEYİMLERİ

C# Örnek Uygulamalar I

Fonksiyonlar (Altprogram)

Algoritma ve Akış Diyagramları

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

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

Programlama Dili Prensipleri. Lab Notları 8 ve 9

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

// hataları işaret eden referans

abstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir;

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir.

Program AkıĢ Kontrol Yapıları

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

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

Transkript:

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

İlk Programımız Bu program konsol ekranına Merhaba dünya! yazıp kapanır. Programı geçen derste anlatıldığı gibi derleyin, sonra da programımızı çalıştırmak için komut satırında kod dosyanıza verdiğiniz adı girip enter a basın. 2

İlk programımızın satır satır incelenmesi class ilkprogram satırıyla ilkprogram adında yeni bir sınıf oluştururuz. C#'ta yazdığımız her programın en az bir sınıf içermesi zorunludur. { veya } işaretleri herhangi bir sınıfın veya metodun içeriğini belirtmek için kullanılır. İlk { karakteriyle önceki satırda açtığımız ilkprogram adlı sınıfımızın içeriğine alınacak kodların başladığını, programın son satırındaki } karakteriyle de sınıfımızın içeriğine alınacak kodların sona erdiğini belirtiyoruz. static void Main() satırıyla sınıfımızın içine Main adlı bir metot yerleştirdik. Bu metodun adı mutlaka Main olmalı, yoksa programımız çalışmaz. Ayrıca bu metot mutlaka oluşturduğumuz sınıfın içinde olmalı. Yine { ve } karakterleriyle metodumuzun içeriğini belirledik. Dikkat ettiyseniz bir iç içe { ve } karakterleri söz konusu. Bu durumda koyulan ilk } karakteri son açılan { karakterini kapatır. 3

İlk programımızın satır satır incelenmesi Programımızın pratikte iş yapan tek kısmı ise System.Console.WriteLine("Merhaba dünya!"); satırı. Bu satırla ekrana Merhaba dünya! yazdırdık, peki nasıl yaptık? Bunun için.net Framework kütüphanesindeki hazır bir metottan yararlandık. Bu metot System isim alanının altındaki Console sınıfında bulunuyor. Ve bu metodumuzun adı WriteLine ve konsol ekranına yazı yazdırmaya yarıyor. Parantezler arasındaki çift tırnaklar arasına alınan metni ekrana yazdırıyor. Satırın sonundaki ; karakterini ise { ve } karakterleri açıp kapatmayan bütün C# satırlarında kullanmamız gerekiyor. 4

Programımızın ikinci versiyonu Bu programımız önce ekrana Entera basın! yazar. Kullanıcı entera bastığında da Entera bastınız! yazıp kendini kapatır. Console sınıfına ait olan ReadLine metodu programımızın kullanıcıdan bilgi girişi için beklemesini sağlar, yani programımızı entera basılana kadar bekletir. Kullanıcı entera bastığında da diğer satıra geçilir. Dikkat ettiyseniz ReadLine metodunda parantezlerin arasına hiçbir şey yazmıyoruz. C#'ta bazı metotların parantezleri arasına birşeyler yazmamız gerekirken, bazı metotlarda da hiçbir şey yazılmaması gerekir. 5

Tür dönüşümü Modern programlamada birçok kez değişkenlerde tür dönüşümüne ihtiyaç duyulur. Ö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. Aslında bahsettiğimiz tam olarak tür dönüşümü değildir, sadece bir değişkenin değişik türdeki hâlinin başka bir değişkene atanmasıdır. Tür dönüşümleri bilinçli tür dönüşümü ve bilinçsiz tür dönüşümü olmak üzere ikiye ayrılır. 6

Bilinçsiz tür dönüşümü C#'ta düşük kapasiteli bir değişken, sabit ya da değişken ve sabitlerden oluşan matematiksel ifade daha yüksek kapasiteli bir değişkene atanabilir. Buna bilinçsiz tür dönüşümü denir, bunun için herhangi bir özel kod gerekmez. 7

Bilinçsiz tür dönüşümü 8

Bilinçsiz tür dönüşümü yapılacabilecekler tablosu 9

Bilinçli Tür Dönüşümü Bilinçli tür dönüşümü genellikle derleyicinin izin vermediği durumlarda kullanılır. Bilinçli tür dönüşümüyle küçük türün büyük türe dönüştürülmesi sağlanabilse de aslında bu gereksizdir, çünkü aynı şeyi bilinçsiz tür dönüşümüyle de yapabiliriz. 10

Bilinçli Tür Dönüşümü Programımızda da görebileceğiniz gibi (byte)a ifadesi, a değişkeninin byte hâlini tuttu. 11

Bilinçli Tür Dönüşümü Aşağıdaki şekil bilinçli tür dönüşümünü anlatmaktadır. Eğer değişken adı kısmında tek bir değişken yoksa, bir ifade varsa parantez içine alınması gerekir. Bu şekilde tür dönüşümü değişkenlere uygulanabildiği gibi sabitlere de uygulanabilir: 12

Bilinçli Tür Dönüşümü Reel türler tam sayı türlere dönüşürken ondalık kısım atılır. Bilinçsiz tür dönüşümüyle yalnızca küçük türler büyük türlere dönüşebiliyordu, yani veri kaybı olması imkansızdı. Halbuki bilinçli tür dönüşümünde veri kaybı gerçekleşebilir. Eğer dönüşümünü yaptığımız değişkenin tuttuğu değer dönüştürülecek türün kapasitesinden büyükse veri kaybı gerçekleşir. 13

Bilinçli Tür Dönüşümü 14

Yorum ekleme Yorumlar, programa etki etmeyen ancak kendimizin veya kodu inceleyen bir başkasının nerede ne yapıldığını anlamasını sağlayacak yazılardır. Yorumlar tek satırlık ve çok satırlık olmak üzere ikiye ayrılır. 15

Tek satırlık yorumlar C#, iki tane slash'ten (//) sonra gelen aynı satırdaki yazıları yorum sayar. Örnek: 16

Çok satırlık yorumlar C#, /* ve */ arasına yazılan herşeyi yorum sayar. Dolayısıyla da çok satırlık yorumlar yazılabilir. Örnek: 17

Yorum ekleme Ayrıca C#'ın bu yorum özelliği programımızda henüz çalışmasını istemediğimiz kodlar varsa yararlı olabilmektedir. 18

Operatörler Programlama dillerinde tek başlarına herhangi bir anlamı olmayan ancak programın işleyişine katkıda bulunan karakter ya da karakter topluluklarına operatör denir. Örneğin a+b ifadesinde + işareti bir operatördür. Operatörlerin etki ettikleri sabit ya da değişkenlere ise operand denir. Örneğin a+b ifadesinde a ve b birer operanddır. C#'ta operatörlerın bazıları tek, bazıları çift, bazıları da üç operand alır. 19

Operatörler Peki eğer bir ifadede birden fazla operatör varsa ne olacak? Örneğin 2+3*7 gibi bir ifadede önce hangi işlem yapılacak? Burada önce toplama işlemi yapılırsa sonuç 35 olur, ancak önce çarpma işlemi yapılırsa sonuç 23 olur. İşte C#'ta bu gibi durumları önlemek için operatör önceliği diye kavram bulunmaktadır. 20

Operatörler Operatör öncelikleri ile ilgili şu kuralları bilmenizde fayda var: Önce parantez içleri yapılır. Örneğin (3+5)*9 gibi bir ifadede önce toplama işlemi yapılır. İç içe parantezler söz konusuysa önce en içteki parantez yapılır, sıra ile dıştaki parantezlere gidilir. Örneğin (2+(9+2)*5)*2 gibi bir ifadede önce 9 ile 2 toplanıp 11 değeri bulur, sonra 11 ile 5 çarpılıp 55 değeri bulunur, sonra 55 ile 2 toplanıp 57 değeri bulunur, en son da 57 ile 2 çarpılıp 114 değeri bulunur. 21

Operatörler İfadede bir parantez yoksa önce öncelik sırası daha önde olan operatörün işlemi yapılır. Aşağıdaki tabloda operatörler öncelik sırasına göre listelenmiştir. Tablo, öncelik sırası en önde olandan en geride olana göre sıralanmıştır. Yani aynı ifadede parantez söz konusu değilse bu tablodaki daha üstte olan operatör daha önce işletilecektir. 22

Operatörler 23

Bir artırma ve bir eksiltme operatörleri Önce a'nın değeri 1 artırılır, sonra bu değer i'ye atanır. Önce a'nın değeri i'ye atanır, sonra a'nın değeri 1 artırılır. 24

Karşılaştırma operatörleri Bu program ekrana alt alta True, True, True, False, False ve True yazacaktır. 25

as operatörü Tüm değişken türlerinden objecte ve string değerli olmak şartıyla objectten stringe dönüşüm yapar. Örnek: 26

is operatörü Verilen değişken, sabit ya da ifadenin türünü kontrol eder. Eğer söz konusu değişken, sabit ya da ifade verilen türle uyumluysa true değilse false değeri üretir. Eğer söz konusu değişken, sabit ya da ifadenin türü her zaman true ya da false üretiliyorsa derleyici uyarı verir, ancak bu uyarı derlemeye engel değildir. Kullanımına bir örnek: 27

is operatörü Bu program alt alta True, False, False, False ve False yazacaktır. Dikkat ettiyseniz 12 sabitini byte saymadı ve 12f+7 sabitini de int saymadı. Çünkü C#, harfsiz tam sayı sabitleri int sayar. 12f+7 sabiti de floatlaşmıştır. 28

Mantıksal operatörler Bu operatörler true veya false sabit ya da değişkenleri mantıksal ve, veya, değil işlemine sokarlar. Bunlar && (ve), (veya) ve! (değil) operatörleridir. Örnekler: Eğer! operatöründen sonra bir değişken ya da sabit yerine bir ifade geliyorsa ifadeyi parantez içine almak zorundayız. 29

Bitsel operatörler Bitsel operatörler sayıların kendisi yerine sayıların bitleriyle ilgilenirler. Diğer bir deyişle sayıları ikilik sisteme dönüştürüp öyle işlem yaparlar. Bu operatörler yalnızca tam sayı sabit, değişken ya da ifadelerle kullanılabilirler. Eğer bitsel operatörler bool türünden değişken, sabit ya da ifadelerle kullanılırsa mantıksal operatörlerin gördüğü işin aynısını görürler 30

Bitsel operatörler ~ (bitsel değil), & (bitsel ve), (bitsel veya) ve ^ (bitsel özel veya) operatörleri bitsel operatörlerdir. Örnekler: 31

Bitsel kaydırma operatörleri Bu operatörler (<< ve >>) sayıların bitlerini istenildiği kadar kaydırmak için kullanılır. << sayıları sola kaydırırken, >> sağa kaydırır. Örnekler: 32

?: operatörü?: operatörü C#'ta üç operand alan tek operatördür. Verilen koşula göre verilen değerlerden (object türünden) birini tutar. Kullanımı şöyledir: koşul?doğruysa_değer:yanlışsa_değer 33