1. 반복문
- while문
while(조건식){
조건식의 결과가 true인 동안 반복할 문장;
...
}
int num = 10;
while(num >= 10){ //밑에서 후위연산 후 올라와서 빠진다.
System.out.println("num은 10보다 큽니다.");
//무한루프 때문에 중괄호가 필요하다.
num--;
}

(while)문제
1 ~ 100까지의 짝수의 총합을 구하는 프로그램을 작성

- for문
for(변수의 초기화; 조건식; 증감식){
조건식이 true인 동안 반복할 문장
}
for(int i=1; i <= 5; i++){
System.out.println("Hello Java!");
}

do ~ while문
while문과 동일하지만 첫 반복이 false인 경우 while문은 반복을 하지 않음, 하지만 do while문은
반복을 진행한 뒤 조건식을 판단함
while(조건식){ // 조건식이 false인 경우 빠저나간다. 기본적인 while문의 경우
문장........
}
do{
문장...
}while(조건식)

- continue문
반복이 진행되는 도중 continue문을 만나면 반복문의 끝으로 이동하여 다음 반복으로 시작됨

for(변수;조건식;증감식){
....1
....2
if(조건식) continue;
//if문의 조건식에 맞으면 continue에 따라 위로(반복문 시작점으로 올라간다)
....3
}
- break문
switch문 또는 반복문을 벗어날 때 사용
for(변수; 조건식; 증감식;){
...
...
if(조건식) break; // if문을 빠저나오는것이 아닌 반복문을 빠저나옴
...
}

✔ Math 클래스
자바에서 사용하는 수학 관련한 기능을 담고 있는 클래스
- random() : 임의의 실수(0 ~ 0.9999999..사이)를 출력
//Static이 붙어있으면 이미 메모리에 올라가 있기 때문에 객체선언간 new를 사용하지 않아도 된다.
double rn = Math.random(); //0.384654
rn * 10 // 3.84654
(int)(rn*10) // 3 (0~9)
(int)(rn*10) + 1 // 4 (1~10) -> random은 0.99999까지이기 때문이다.
1 ~ 45의 사이에 랜덤한 값을 추출
double rn = Math.random();
(int)(rn * 45) + 1 //0 ~ 45.39999 -> 45 강제형변환 하여 정수형으로 소수점은 없어지고 452
중첩 반복문
2개 이상의 반복문이 겹쳐저 있는 형태
while(조건식1){
조건식1이 true인 동안 반복할 문장;
...
while(조건식2){// false가 나올 떄 까지 계속 돈다
조건식2가 true인 동안 반복할 문장;
...
}
}
for(변수; 조건식1; 증감식){
조건식1이 true인 동안 반복할 문장;
...
for(변수; 조건식2; 증감식){// false가 나올 떄 까지 계속 돈다
조건식2가 true인 동안 반복할 문장;
...
}
}

2. 배열(Array) - 저장공간이 유동적이면 않된다. 모르겠으면 MAX치를 설정
- 변수는 한 개의 데이터만 저장하기 때문에 데이터의 수가 많아지면 그 만큼 많은 변수가 필요
- 동일한 데이터 타입의 변수를 연속적으로 생성
- 인덱스를 통하여 데이터에 접근
//stack에 변수를 저장하고 Heap에 주소를 저장하여 stack을 참조변수로 사용한다. 이 때 인덱스를 사용
// index 0부터 시작하는 숫자를 의미한다. 예를들어 0번 주소, 1번 주소 등
배열의 선언
데이터타입[] 배열이름;
int[] arr; // 배열을 가르킬 데이터타입을 선언할 뿐(참조변)
배열의 메모리 할당
배열이름 = new 데이터타입[요소의 갯수];
arr = new int[10];//10개의 주속값을 만듬
배열의 선언 및 할당
데이터타입[] 배열이름 = new 데이터타입[요소의 갯수];
int[] arr = new int[10];
배열의 초기화
배열이름[인덱스번호] = 값;
arr[0] = 10;

과제1.
주사위 게임을 만들어보자.
1. 랜덤한 주사위 값을 뽑아 입력한 값과 일치하는지 확인
2. 값의 범위는 1~6까지로 함
3. 값을 맞출때 까지 무한루프를 사용
주사위를 던집니다
값을 입력하세요. 3
틀렸습니다. 값은 1입니다.
//무힌루프
주사위를 던집니다
값을 입력하세요. 2
맞췄습니다. 프로그램을 종료합니다.

과제2.
가위바위보(1,2,3) 게임을 만들어보자.
1. 랜덤한 주사위 값을 뽑아 입력한 값과 일치하는지 확인
2. 값의 범위는 1~3까지로 함
(문자비교를 해도됨)
3. 값을 맞출때 까지 무한루프를 사용
가위, 바위, 보 중 하나를 선택하세요. 가위
컴퓨토 : 바위
나 : 가위
젔습니다.
가위, 바위, 보 중 하나를 선택하세요. 가위
컴퓨토 : 보
나 : 가위
이겼습니다. 프로그램을 종료합니다.

과제3.
로또번호 추출 프로그램을 작성해보자.
1. 1 ~ 45까지 임의의 숫자 6개 추출
2. 번호는 중복되지 않아야 함
3. 출력시 오름차순 정렬

'Java > Java' 카테고리의 다른 글
국비지원 자바 복습 6 (메소드, 메인메소드, opp, 클래스) (0) | 2022.10.04 |
---|---|
국비지원 자바 복습 5 (2차원 배열, String 클래스, 주민등록 검증) (1) | 2022.10.04 |
국비지원 자바 3(타입변환, 제어 문, 성적프로그램) (1) | 2022.10.04 |
Java 1 (기초, 변수, 연산자,) (0) | 2022.10.03 |
Java 국비지원 OT (1) | 2022.10.02 |