Modulo Operator
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özdizimi ile kullanılır:
result = dividend % divisor;- dividend: Bölünen sayı.
- divisor: Bölüneni bölen sayı.
- result: Bölme işleminden kalan.
Örneğin:
result = 10 % 3;Burada, 10 sayısı 3'e bölünür. 3, 10'un içinde üç kez vardır ve kalan 1'dir. Bu nedenle, result 1 olacaktır.
Peki ya bölünen sayı, bölenden daha küçükse? Bu durumda, bölen sayı 0 kez vardır, dolayısıyla kalan doğrudan bölünen sayının kendisidir. Örneğin, 2 % 3 ifadesi 2'ye eşittir, çünkü 3, 2'nin içinde sıfır kez vardır ve geriye 2 kalır.
Genellikle modül, 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 0 kalanını verir.
- Bir sayı tekse, 2'ye bölündüğünde 1 kalanını verir.
Kayan noktalı sayılarla (double'lar) modül işlemi kullanıldığında, tam sayılara benzer şekilde çalışır ancak ondalık hassasiyeti korur. Örneğin:
double result = 5.5 % 2.0;
// sonuç 1.5İşte şu şekilde çalışır: 2.0, 5.5'in içinde iki kez vardır (4.0) ve kalan 1.5'tir (5.5 - 4.0 = 1.5).
Not: double değerleri yaklaşık değerler olarak saklanır, bu nedenle bazı kalanlar küçük bir hata ile yazdırılır. Örneğin 5.2 % 2.0, 1.2 yerine 1.2000000000000002 yazdırır. Bu normal kayan nokta (floating-point) davranışıdır, kodunuzda bir hata değildir.
Başka bir örnek:
double result = 7.5 % 3.5;
// sonuç 0.5Görev
Başlangıça (int), b (double) ve c (int) değişkenlerini 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:
amodulo2sonucunu tutacak oland (int)amodulo3sonucunu tutacak olane (int)bmodulo1.5sonucunu tutacak olanf (double)bmodulo3.9sonucunu tutacak olang (double)cmodulo10sonucunu tutacak olanh (int)
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
4Operators Part 1
Arithmetic OperatorsModulo OperatorIncrement/DecrementPost Increment/DecrementArithmetic ShortcutsComparison OperatorsString Comparison5Operators Part 2
Logical Operators Part 1Logical Operators Part 2Recap - Simple LogicLogical Operators Part 3Logical Operators Part 43Variables Part 2
ConstantsNaming ConventionsRecap - Initialize VariablesType Casting Part 1Type Casting Part 26Decision Making
If StatementIf - ElseSwitch StatementTernary OperatorRecap - If ElseNested If - Else