Random
Генератор случайных чисел: целые в диапазоне, дробные, boolean.
Доступно с: Java 1.0
Синтаксис
public class Random implements RandomGeneratorПримеры
С заданным начальным значением (seed) последовательность всегда одинаковая — удобно для тестов:
void main() {
var random = new Random(42);
IO.println(random.nextInt(100));
IO.println(random.nextInt(1, 7));
IO.println(random.nextBoolean());
}Результат:
30
4
trueБез seed каждый запуск даёт разные числа — например, случайный элемент списка:
void main() {
List<String> colors = List.of("red", "green", "blue");
var random = new Random();
IO.println(colors.get(random.nextInt(colors.size())));
}Результат:
greenПримечания
nextInt(bound) возвращает число от 0 до bound - 1, nextInt(origin, bound) (Java 17) — от origin до bound - 1. Вывод второго примера случайный. Для паролей и токенов Random не подходит — нужен SecureRandom. Перемешать список можно через Collections.shuffle(list).
См. также
- ThreadLocalRandom — Готовый генератор случайных чисел, который не нужно создавать; быстрый и в многопоточном коде.
- Math.random() — Возвращает случайное дробное число от 0 (включительно) до 1 (не включительно).
Вопросы и ответы по теме
В учебнике
- Операторы — Арифметические операторы Java, целочисленное деление и остаток, составное присваивание, инкремент, сравнение и логические операторы.