Menu
Coddy logo textTech

Sabitler (static final)

Coddy'nin Java Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 18 / 87.

static ve final anahtar kelimelerinin birleştirilmesi bir sabit oluşturur; bu, sınıfa ait olan ve asla değişemeyen bir değerdir. Bu, Java'da sabitleri tanımlamanın standart yoludur.

public class GameSettings {
    public static final int MAX_PLAYERS = 4;
    public static final double GRAVITY = 9.81;
    public static final String GAME_TITLE = "Space Adventure";
}

Gelenek gereği, sabit adları onları normal değişkenlerden ayırt etmek için UPPER_SNAKE_CASE kullanır. Hem static hem de final oldukları için bunlara sınıf adı üzerinden erişirsiniz ve değerlerinin hiçbir zaman değişmeyeceği garanti edilir:

System.out.println(GameSettings.MAX_PLAYERS);  // 4
// GameSettings.MAX_PLAYERS = 8;  // Hata! Değiştirilemez

Sabitler genellikle public olarak bildirilir, çünkü uygulamanız genelinde paylaşılmaları amaçlanır. Math.PI gibi değerleri düşünün; bu, herhangi bir kodun kullanabileceği herkese açık, statik ve final bir sabittir.

Neden doğrudan yazılmış değerler yerine sabitler kullanmalısınız? Kodunuzun her yerinde 4 yazarsanız ve daha sonra bunu 6 olarak değiştirmeniz gerekirse, her bir örneği bulup güncellemeniz gerekir. MAX_PLAYERS gibi bir sabitle, değişikliği tek bir yerde yaparsınız.

Sabitler ayrıca kodun daha okunabilir olmasını sağlar - MAX_PLAYERS, gizemli bir 4 değerinden daha nettir.

challenge icon

Görev

Kolay

Önemli matematiksel değerleri sabitler olarak depolayan bir MathConstants yardımcı programı ve bu sabitleri hesaplamalar yapmak için kullanan bir CircleCalculator oluşturalım.

Kodunuzu düzenlemek için iki dosya oluşturacaksınız:

  • MathConstants.java: public static final alanlarını kullanarak matematiksel sabitleri tutan bir sınıf oluşturun:
    • PI, değeri 3.14159
    • E (Euler sayısı), değeri 2.71828
    • GOLDEN_RATIO, değeri 1.61803
    Sabit adları için UPPER_SNAKE_CASE kullanmayı unutmayın!
  • Main.java: Daire hesaplamaları yapmak için sabitlerinizi kullanın. Girdi olarak bir yarıçap alacak ve üç satır yazdıracaksınız:
    • Dairenin alanı: Area: [value]
    • Dairenin çevresi: Circumference: [value]
    • Altın oranla ölçeklendirilmiş çap: Golden Diameter: [value]

Hesaplamalar için:

  • Alan = PI * yarıçap * yarıçap
  • Çevre = 2 * PI * yarıçap
  • Altın Çap = 2 * yarıçap * GOLDEN_RATIO

Bir girdi alacaksınız: yarıçap (double).

Tüm çıktı değerlerini String.format("%.2f", value) kullanarak 2 ondalık basamakla biçimlendirin. Sabitlerinize sınıf adı üzerinden, örneğin MathConstants.PI şeklinde erişin.

Kendin dene

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double radius = scanner.nextDouble();
        
        // TODO: MathConstants.PI kullanarak alanı hesaplayın
        // Formül: PI * radius * radius
        
        // TODO: MathConstants.PI kullanarak çevreyi hesaplayın
        // Formül: 2 * PI * radius
        
        // TODO: MathConstants.GOLDEN_RATIO kullanarak altın çapı hesaplayın
        // Formül: 2 * radius * GOLDEN_RATIO
        
        // TODO: Sonuçları virgülden sonra 2 basamak olacak şekilde yazdırın
        // Biçimlendirme için String.format("%.2f", value) kullanın
        // Çıktı formatı:
        // Area: [value]
        // Circumference: [value]
        // Golden Diameter: [value]
        
    }
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Nesne Yönelimli Programlama bölümündeki tüm dersler

Kendi başına pratik yap: Online Java derleyicisi