일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 아파치 엔진엑스
- Kotlin
- apache nginx
- LifeCycle
- 안드로이드 스튜디오 custom dialog
- 객체지향 프로그래밍 5가지 원칙
- edittext 연결
- 안드로이드 mvvm 예제
- 이중for문 사용 안하기
- 안드로이드 스튜디오 반복되는 레이아웃 코드
- recyclerview item recycle
- Thread
- 안드로이드 스튜디오 인터넷 연결 안되어 있을 때
- 변수
- 안드로이드 스튜디오 style
- apache란
- 디자인 패턴 예제
- java thread 예제
- 아파치란
- 안드로이드 스튜디오 인터넷 연결 확인
- dagger error
- 안드로이드 스튜디오 커스텀 다이얼로그
- 리사이클러뷰 아이템 재사용
- 안드로이드 디자인패턴
- 자바 스레드 예제
- java
- AAC
- hilt error
- 안드로이드 스튜디오 tts
- 다른 객체 리스트의 비교
- Today
- Total
Sam Story
JAVA - 랜덤 함수 (Random class) 본문
오늘은 자바 랜덤 함수에 대해서 포스팅 해보겠다.
프로그램을 만들다보면 무작위로 값을 지정해줘야 하는경우가 생기는데
이러한 경우에 사용할 수 있는게 Random 클래스다.
그럼 바로 예제를 통해서 Random 함수에 사용법을 알아보도록 하자.
예제
import java.util.Random;
시작전 Random을 import 해준다.
import java.util.Random;
public class RandomExample {
public static void main(String[] args) {
// random 객체 생성 및 초기화
Random random = new Random();
// 정수형 변수 randomNum 변수 선언
int randomNum;
// 변수 randomNum을 정수타입 랜덤함수로 초기화
randomNum = random.nextInt();
// randomNum 출력
System.out.println(randomNum);
}
}
위와 같이 코드를 작성한 후 결과값을 확인해보자.
1216678038이 나오는걸 볼 수 있는데
이는 int 변수의 범위인 -2,147,483,648 ~ 2,147,483,647 의 범위의 숫자중에 하나를 반환하기 때문이다.
그렇다면 특정 범위에서의 랜덤값은 어떻게 반환받아야 하는가
아래의 코드를 보자.
import java.util.Random;
public class RandomExample {
public static void main(String[] args) {
// random 객체 생성 및 초기화
Random random = new Random();
// 정수형 변수 randomNum 변수 선언
int randomNum;
// 변수 randomNum을 정수타입 랜덤함수로 초기화
// 랜덤의 범위를 5까지로 설정.
randomNum = random.nextInt(5);
// randomNum 출력
System.out.println(randomNum);
}
}
random.nextInt 의 메서드에 바운드 값을 매개변수로 전달해주면
바운드 값까지의 random 값이 나오게 된다. 한번 실행해보자
여러번 실행을 해보게 되면
1 , 2 , 3 , 4 , 5 중에 하나가 나오는게 아니라 0 , 1 , 2 , 3 , 4 중에 하나가 랜덤으로 나오는걸 확인할 수 있다.
이는 int의 기본값이 "0"이기 때문이다.
그렇다면 0이 아닌 다른 숫자의 범위를 구하고 싶은 경우에는 어떻게 해야 하는가?
아래의 코드를 보자.
import java.util.Random;
public class RandomExample {
public static void main(String[] args) {
// random 객체 생성 및 초기화
Random random = new Random();
// 정수형 변수 randomNum 변수 선언
int randomNum;
// 변수 randomNum을 정수타입 랜덤함수로 초기화
// 랜덤의 범위를 5까지로 설정.
// random으로 나온 0,1,2,3,4 값에 + 1을 해준다.
randomNum = random.nextInt(5) + 1;
// randomNum 출력
System.out.println(randomNum);
}
}
해답은 간단하다 random 객체를 이용해서 반환받은 random 값에 + 1을 해주게 된다면?
기존에 0 , 1 , 2 , 3 , 4 로 반환받는 값에 +1이 된 값으로 int 값이 지정될 것이다.
결과를 보도록 하자.
실행 결과 기존에는 나오지 않던 5가 나오게되고
여러번 실행했을때 1 ~ 5 의 값중 하나만 나오는걸 알 수 있다.
오늘의 예제는 random 객체의 nextInt() 메서드만을 이용한 예제이지만
random 객체를 이용하면 int 값 뿐만 아니라 long , float , double , boolean 등 다양한 값들의 난수들도 만들 수 있다.
이러한 random 을 이용해 랜덤한 숫자값을 지정하는 다양한 방법에 적용할 수 있다.
오늘의 예제 깃허브 주소
'JAVA' 카테고리의 다른 글
JAVA - 자료구조 Map (4) | 2024.09.21 |
---|---|
JAVA - 스레드 (Thread) (0) | 2024.05.12 |
JAVA - 배열 요소의 내림차순,오름차순 (0) | 2024.03.23 |
JAVA - 문자열 자르기 Split (0) | 2024.03.17 |
JAVA - ArrayList 사용 (0) | 2024.03.04 |