Rastgele Sayılar Üretme
Random ve ThreadLocalRandom
Rastgele Sayılar Üretme, CoddyKit'te ücretsiz bir Java Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Java Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Java Academy kursu toplamda 4 dersten oluşur.
Rastgele Sayılar Üretme
Rastgelelik oyunlara, benzetimlere ve örneklemeye güç verir. Java, Math.random(), Random sınıfı ve eş zamanlı kod için ThreadLocalRandom sunar.
Math.random Temelleri
Math.random(), [0.0, 1.0) aralığında bir double döndürür: sıfır dahil, bir hariçtir.
public class Main {
public static void main(String[] args) {
double r = Math.random();
System.out.println("Value between 0 and 1: " + r);
}
}Math.random Değerlerini Ölçeklendirme
Tamsayı aralığı elde etmek için çarpma ve dönüştürme işlemlerini kullanın. (int)(Math.random() * 6) 0'dan 5'e kadar değerler üretir.
public class Main {
public static void main(String[] args) {
int roll = (int)(Math.random() * 6) + 1;
System.out.println("Dice: " + roll);
}
}Random Sınıfı
java.util.Random sınıfı daha esnektir. Bir örnek oluşturun, ardından nextInt, nextDouble ve nextBoolean gibi yöntemleri çağırın.
import java.util.Random;
public class Main {
public static void main(String[] args) {
Random rng = new Random();
System.out.println(rng.nextBoolean());
System.out.println(rng.nextDouble());
}
}Sınırla nextInt
nextInt(bound), 0 dahil olmak üzere bound değerine kadar, bound hariç olacak şekilde bir int döndürür. nextInt(6) 0'dan 5'e kadar değerler üretir.
import java.util.Random;
public class Main {
public static void main(String[] args) {
Random rng = new Random();
int value = rng.nextInt(100);
System.out.println("0 to 99: " + value);
}
}Tekrarlanabilirlik için Tohum Kullanma
Kurucuya bir tohum aktarmak diziyi belirli hale getirir: aynı tohum her zaman aynı sayıları üretir. Bu, testler için son derece değerlidir.
import java.util.Random;
public class Main {
public static void main(String[] args) {
Random rng = new Random(42);
System.out.println(rng.nextInt(1000));
System.out.println(rng.nextInt(1000));
}
}Aynı Tohum, Aynı Dizi
Aynı tohumla oluşturulan iki Random nesnesi birbirinin aynısı diziler üretir. Bir hatanın tam olarak yeniden oluşturulması gerektiğinde kullanışlıdır.
import java.util.Random;
public class Main {
public static void main(String[] args) {
Random a = new Random(7);
Random b = new Random(7);
System.out.println(a.nextInt(50) == b.nextInt(50));
}
}ThreadLocalRandom
Çok iş parçacıklı programlarda tek bir paylaşılan Random darboğaz oluşturur. ThreadLocalRandom.current(), her iş parçacığına çekişme olmadan kendi üretecini verir.
import java.util.concurrent.ThreadLocalRandom;
public class Main {
public static void main(String[] args) {
int value = ThreadLocalRandom.current().nextInt(1, 7);
System.out.println("Dice: " + value);
}
}İş Parçacıkları Arasında Tek Bir Random Paylaşmayın
Tek bir Random örneğini birçok iş parçacığına aktarmayın; bu, dağılımın bozulmasına ve çekişmeye yol açabilir. Eş zamanlı kodda ThreadLocalRandom kullanmayı tercih edin.
Double Değerleri ve Gauss Dağılımı
nextDouble() [0,1) aralığında değer verir; nextGaussian() ise ortalaması 0 ve standart sapması 1 olan normal dağılımdan değerler döndürür.
import java.util.Random;
public class Main {
public static void main(String[] args) {
Random rng = new Random(1);
System.out.println(rng.nextDouble());
System.out.println(rng.nextGaussian());
}
}Doğru Aracı Seçme
Hızlı bir double için Math.random(), sınırlar veya tohum istediğinizde Random, eş zamanlı kodda ise ThreadLocalRandom kullanın. Güvenlik açısından hassas rastgelelik için bunun yerine SecureRandom kullanın.
Kısa Kontrol
Rastgelelik konusundaki anlayışınızı sınayın.
Özet
Rastgele sayılar üretmeyi öğrendiniz.
Math.random()[0,1) aralığında bir double verir.Random.nextInt(bound)0'dan bound-1'e kadar değer verir.- Tohum, dizilerin yeniden üretilebilir olmasını sağlar.
ThreadLocalRandomeş zamanlı kod için güvenli seçenektir.
Sıkça Sorulan Sorular
“Rastgele Sayılar Üretme” dersi ücretsiz mi?
Evet — “Rastgele Sayılar Üretme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Java Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Java Academy kursu toplamda 4 dersten oluşur.
“Rastgele Sayılar Üretme” dersinde ne öğreneceğim?
Random ve ThreadLocalRandom Java Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Java Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Java Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Rastgele Sayılar Üretme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Java Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Java Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Math Sınıfı
- Rastgele Sayılar Üretme
- Rastgele Aralıklar ve Karıştırma
- Matematiksel Yuvarlama ve Sınırlar