В вашем первом объявлении kotlin автоматическое приведение nb
к Int
, потому что тип Random().nextInt((30 - 0))
равен Int
.
В kotlin, когда вы присоединяетесь к назначению и объявлению в 1 строка, она будет автоматически приведена к типу назначенного значения.
Но если вы разделите их в 2 строки, это не сработает. Вы бы указали его тип вручную.
var nb2 : Int
nb2 = Random().nextInt((30 - 0))