Modülo Operatörü
Coddy'nin Java Journey'sinin Temeller bölümünün bir parçası. Ders 16 / 73.
Modulo operatörü %, bir bölme işleminin kalanını verir. Java'da basit bir söz dizimiyle kullanılır:
result = dividend % divisor;- dividend: Bölünen sayı.
- divisor: Bölüneni bölen sayı.
- result: Bölme işleminin kalanı.
Örneğin:
result = 10 % 3;Burada, 10 3’e bölünür. 3, 10’un içine kalan 1 olacak şekilde üç kez sığar. Dolayısıyla result 1 olur.
Bölünen bölenden daha küçük olursa ne olur? Bu durumda bölen 0 kez sığar, dolayısıyla kalan basitçe bölünenin kendisidir. Örneğin, 2 % 3 değeri 2’ye eşittir; çünkü 3, 2’nin içine iki kalanıyla birlikte sıfır kez sığar.
Genellikle modulo, bir sayının çift mi yoksa tek mi olduğunu kontrol etmek için kullanılır:
- Bir sayı çiftse, 2’ye bölündüğünde kalan 0 olur.
- Bir sayı tekse, 2’ye bölündüğünde kalan 1 olur.
Kayan noktalı sayılarla (doubles) modül kullanıldığında, tamsayılara benzer şekilde çalışır ancak ondalık hassasiyeti korur. Örneğin:
double result = 5.5 % 2.0;
// result 1.5'tirİşte nasıl çalıştığı: 2.0, 5.5’in içine iki kez (4.0) girer ve kalan 1.5’tir (5.5 - 4.0 = 1.5).
Not: double değerleri yaklaşık olarak saklanır; bu nedenle bazı kalanlar küçük bir hatayla yazdırılır. Örneğin 5.2 % 2.0, 1.2 yerine 1.2000000000000002 yazdırır. Bu, kodunuzda bir hata değil, normal kayan nokta davranışıdır.
Başka bir örnek:
double result = 7.5 % 3.5;
// result 0.5'tirGörev
Başlangıça (int), b (double) ve c (int) adlı üç değişkeni sırasıyla 9, 2.6 ve 11 değerleriyle başlatan bir kod yazın.
Bundan sonra aşağıdaki değişkenleri başlatın:
d (int);adeğerinin2ile bölümünden kalanı tutacake (int);adeğerinin3ile bölümünden kalanı tutacakf (double);bdeğerinin1.5ile bölümünden kalanı tutacakg (double);bdeğerinin3.9ile bölümünden kalanı tutacakh (int);cdeğerinin10ile bölümünden kalanı tutacak
Sonucu kontrol edin ve farklı bölünenlerin ve bölenlerin sonucu nasıl etkilediğini görün.
Kendin dene
public class Main {
public static void main(String[] args) {
// Kodunuzu aşağıya yazın
// Aşağıdaki satırı değiştirmeyin
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("c = " + c);
System.out.println("d = " + d);
System.out.println("e = " + e);
System.out.println("f = " + f);
System.out.println("g = " + g);
System.out.println("h = " + h);
}
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerModülo OperatörüArtırma/AzaltmaSonsal Artırma/AzaltmaAritmetik Kısa YollarKarşılaştırma OperatörleriDizge Karşılaştırması7Temel G/Ç
System.out MetotlarıÇıktıyı BiçimlendirmeScanner SınıfıTekrar - 120'ye KadarTekrar - Doğru mu Yanlış mı5Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Tekrar - Basit MantıkMantıksal Operatörler Bölüm 3Mantıksal Operatörler Bölüm 4Kendi başına pratik yap: Online Java derleyicisi