using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace csharp
{
internal class Program
{
static void Main(string[] args)
{
int sayi1 = 15;
int sayi2 = 26;
int toplam = sayi1 + sayi2;
// bir alt satıra inme \n 'dir.
Console.WriteLine("Birinci Sayı :{0}\nİkinci Sayı :{1}\nİki sayının toplamı :{2}\n",sayi1,sayi2,toplam);
//MOD Alma : İki sayının bölümünden kalanı bulma
int sayi3 = 5;
int sayi4 = 2;
int kalan = sayi3 % sayi4;
Console.WriteLine("Sayılarrın bölümünden kalan : "+kalan);
// sayının karekökünü bulma:
// Karekök hesaplarken çıkacak sonucun int veya fload gibi değerlerini bilmediğimizden sonucu double olarak tanıttık.
// matematik işlemleri için math kütüphanesi, karekök için Sqrt kullanıldı.
double sayi5 = 5;
double sonuc = Math.Sqrt(sayi5);
Console.WriteLine("\nGirilen sayı:{0}\nGirilen sayının karekökü:{1}", sayi5, sonuc);
Console.ReadLine();
}
}
}
=========================================================================
static void nedir neden kullanılır?
ChatGPT:
static void
terimi, genellikle C, C++, C# ve Java gibi programlama dillerinde karşımıza çıkar. İki anahtar kelimenin birleşiminden oluşur: static
ve void
. Bu ikisinin birlikte kullanımı bir fonksiyonun veya metodun belirli özelliklerini ifade eder.
static
anahtar kelimesi:
- Fonksiyonlarda/metodlarda:
static
anahtar kelimesi, bir fonksiyonun/metodun sınıf düzeyinde tanımlandığını ve sınıfın bir örneği (instance) olmadan çağrılabileceğini ifade eder. Yani, sınıfa ait tüm nesneler bu metoda doğrudan erişebilir. Sınıfın bir örneği oluşturulmadan çağrılabilen bir fonksiyondur. - Değişkenlerde:
static
, bir değişkenin ömrü programın çalışma süresi boyunca devam ettiğini ve tüm örnekler için aynı değere sahip olduğunu belirtir. Bu değişken bir kez oluşturulur ve tüm sınıf örnekleri tarafından paylaşılır.
void
anahtar kelimesi:
void
, bir fonksiyonun/metodun dönüş tipi olmadığını (yani geriye bir değer döndürmediğini) belirtir. Fonksiyonun sonunda herhangi bir değer döndürmeyeceği anlamına gelir.
static void
neden kullanılır?
- Bellek verimliliği:
static
fonksiyonlar/metodlar nesneye bağlı olmadığından, her bir nesne için ayrı bir fonksiyon kopyası tutulmasına gerek kalmaz. Bu bellek tasarrufu sağlar. - Sınıfa bağlı fonksiyonlar: Eğer bir fonksiyonun yalnızca sınıfa ait bir işlevi varsa ve nesneye bağımlı olmadan çalışması gerekiyorsa, bu fonksiyonun
static
olarak tanımlanması uygun olur. Örneğin, bir yardımcı (utility) fonksiyon ya da genel amaçlı bir işlem gerçekleştiren fonksiyonlar static
olabilir. - Geriye değer döndürmeyen işlemler: Eğer bir işlem sonucunda sadece bir aksiyon alınacak ve herhangi bir veri döndürülmeyecekse,
void
kullanmak uygundur.
Açıklama:
static void PrintSum(int a, int b)
: Bu metod, iki sayının toplamını ekrana yazdıran bir fonksiyondur. static
olduğu için, sınıfın örneği oluşturulmadan doğrudan çağrılabilir. void
ise bu metodun herhangi bir değer döndürmediğini belirtir.
Main
metodu: Programın başlangıç noktasıdır. Burada PrintSum
metodunu doğrudan sınıf adı belirtmeden çağırabiliyoruz çünkü PrintSum
statik bir metod.
Bu kodda PrintSum(10, 20)
çağrısı, 10 ve 20 değerlerini toplar ve ekrana "Toplam: 30" yazdırır. Metot void
olduğu için sonuç döndürmez, sadece ekrana yazar.
Bu tür static
metotlar genellikle yardımcı (utility) fonksiyonlar yazarken kullanılır.
Şunu dedin:
public static void nedir neden kullanılır
ChatGPT:
C# dilinde public static void
, bir metodu tanımlarken kullanılan üç anahtar kelimenin birleşiminden oluşur ve bu metodun erişim seviyesi, örneğe bağlı olup olmadığı ve geri dönüş değeri hakkında bilgi verir.
public static void
Nedir?
public
:
- Erişim belirleyicisidir. Bir metodun veya değişkenin hangi sınıflardan ya da nesnelerden erişilebileceğini belirler.
public
bir metot veya değişken, bulunduğu sınıfın dışından (diğer sınıflar veya programın başka bölümleri tarafından) doğrudan erişilebilir.
static
:
- Metodun sınıfa ait olduğunu belirtir. Yani, bu metot, sınıfın bir örneği (nesnesi) oluşturulmadan kullanılabilir.
- Sınıfa bağlıdır, nesneye bağlı değildir. Başka bir deyişle, bu metot yalnızca sınıfın kendisiyle ilgilidir ve nesne durumlarıyla çalışmaz.
void
:
- Metodun geri dönüş tipidir.
void
, metodun bir sonuç döndürmediğini gösterir. Yani, bu metot bir işlem gerçekleştirir fakat sonuç olarak bir değer üretmez.
public static void
Neden Kullanılır?
- Sınıf düzeyinde fonksiyonlar/metodlar: Eğer bir metodun sınıfın herhangi bir örneğine ihtiyaç duymadan, doğrudan sınıf üzerinden erişilmesi gerekiyorsa
static
yapılması uygundur. Bu, genellikle sınıfa ait olan veya yardımcı işlevler sağlayan metotlarda kullanılır. - Her yerden erişim:
public
erişim belirleyicisi, bu metodun projede herhangi bir yerden kullanılabilmesini sağlar. - Sonuç döndürmeyen işlemler: Eğer metodun sonucunda bir veri döndürülmeyecekse, sadece bir işlem yapıp bu işlem sonucunu döndürmeye ihtiyaç duyulmuyorsa
void
kullanılır.
Örnek
Aşağıdaki örnekte, iki sayıyı toplayan ve sonucu ekrana yazdıran bir public static void
metodu bulunuyor.
=================================================================
using System;
class MathUtils
{
// public: Her yerden erişilebilir
// static: Sınıfın örneği oluşturulmadan çağrılabilir
// void: Geriye bir değer döndürmez, sadece işlem yapar
public static void PrintSum(int a, int b)
{
int sum = a + b;
Console.WriteLine("Toplam: " + sum);
}
}
class Program
{
static void Main(string[] args)
{
// Sınıfın bir örneğini oluşturmadan doğrudan statik metodu çağırabiliyoruz
MathUtils.PrintSum(15, 25);
}
}
======================================================================
Önemli Noktalar:
- Erişim:
PrintSum
metodunun public
olması, bu metodun başka sınıflardan ya da programın diğer bölümlerinden rahatça çağrılabilmesini sağlar. Örneğin, MathUtils.PrintSum(15, 25)
şeklinde başka bir sınıftan çağrılabilir. - Statik olma durumu:
static
olması, bu metodun yalnızca MathUtils
sınıfı üzerinden, yani sınıfın örneği olmadan kullanılabilmesini sağlar. MathUtils
sınıfından bir nesne oluşturmadan PrintSum
fonksiyonunu çağırabiliriz. - Değer döndürmemesi:
void
olması metodun sadece bir işlem yaptığını (bu durumda ekrana yazdırma işlemi) ve geriye herhangi bir sonuç döndürmediğini ifade eder.
public static void
metodlar genellikle yardımcı sınıflarda sıkça kullanılır çünkü genel işlemler için sınıfın örneğiyle değil, sınıfın kendisiyle çalışmak daha pratiktir.
Yorumlar
Yorum Gönder