내 맘대로 TIL

Dorothy·2022년 11월 10일
0

항해99

목록 보기
3/17

JAVA - 조건문과 반복문

조건문

if문

  • if문은 조건식의 결과에 따라 블록 실행 여부가 결정된다.
  • 조건식에는 true 또는 false 값을 산출할 수 있는 연산식이나, boolean 타입 변수가 올 수 있다.
if (조건식) {
	실행문A
}
실행문B
  1. 조건식이 true이면 실행문A -> 실행문B 실행
  2. 조건식이 false이면 실행문B 실행

if-else문

  • if문은 else 블록과 함께 사용되어 조건식의 결과에 따라 실행 블록을 선택
  • if문의 조건식이 ture이면 if문의 블록이 실행되고, 조건식이 false이면 else 블록이 실행된다.
if (조건식) {
	실행문A
} else {
	실행문B
}
실행문C
  1. 조건식이 true이면 실행문A -> 실행문C 실행
  2. 조건식이 false이면 실행문B -> 실행문C 실행

if-else if-else문

  • 조건문이 여러개인 if문
  • 처음 if문의 조건식이 false일 경우 다른 조건식의 결과에 따라 실행 블록을 선택할 수 있고 if 블록의 끝에 else if를 붙이면 된다.
int score = 87;

if (score>=90) {
	System.out.println("점수가 90~100입니다.");
} else if (score>=80) {
	System.out.println("점수가 80~90입니다.");
} else if (score>=70) {
	System.out.println("점수가 70~80입니다.");
} else {
	System.out.println("점수가 70 미만입니다.");
}

🎲 주사위 번호 뽑기

int num = (int) (Math.random() *6) +1; //주사위 번호 하나 뽑기

if (num==1) {
	System.out.println("1번이 나왔습니다.");
} else if (num==2) {
	System.out.println("2번이 나왔습니다.");
} else if (num==3) {
	System.out.println("3번이 나왔습니다.");
} else if (num==4) {
	System.out.println("4번이 나왔습니다.");
} else if (num==5) {
	System.out.println("5번이 나왔습니다.");
} else {
	System.out.println("6번이 나왔습니다.");
}

switch문

  • 변수가 어떤 값을 갖느냐에 따라 실행문이 선택된다.
  • 다음 case를 실행하지않고 switch문을 빠져나가기 위해 break를 끝에 붙인다.
switch (변수) {
	case1:
    	실행문A
        break;
	case2:
    	실행문B
        break;
	default
    	실행문C
}
  1. 변수가 값1일 경우 실행문A
  2. 변수가 값2일 경우 실행문B
  3. 변수가 값1, 값2 모두 아닐 경우 실행문C

🎲 주사위 번호 뽑기 2

int num = (int) (Math.random() *6) +1;

switch (num) {
	case 1:
		System.out.println("1번이 나왔습니다.");
		break;
	case 2:
		System.out.println("2번이 나왔습니다.");
		break;
	case 3:
		System.out.println("3번이 나왔습니다.");
		break;
	case 4:
		System.out.println("4번이 나왔습니다.");
		break;
	case 5:
		System.out.println("5번이 나왔습니다.");
		break;
	default:
		System.out.println("6번이 나왔습니다.");
		break;

반복문

for문

  • 주로 반복 횟수를 알고 있을 때 사용
  • 초기화식이 필요없을 경우 ;만 쓰고 생략 가능
  • 초기화식이나 증감식이 둘 이상일 경우 쉼표(,)로 구분
  • 초기화식에서 루프 카운터 변수 선언 시 float 타입은 사용하지 말아야 한다.
for (초기화식; 조건식; 증감식) {
	실행문
}
  1. for문이 처음 실행될 때 초기화식이 제일 먼저 실행된다.
  2. 조건식을 평가해서 true이면 for문 블록 내부의 실행문을 실행하고, false이면 실행하지 않고 종료
  3. 블록 내부의 실행문들이 모두 실행되면 증감식을 실행하고 다시 조건식을 평가한다.
  4. 조건식의 평가 결과가 true이면 다시 실행문 -> 증감식 -> 조건식으로 진행하고, false이면 종료
int sum = 0;

for (int i = 1; i <= 100; i ++) {
	sum += i;
}
System.out.println("1~100 합 : " + sum); // 1~100 합 : 5050

만약 변수 i를 for문 전에 선언하면 for문을 벗어나서도 사용 가능

중첩 for문

  • for문 안에 또 다른 for문
  • 바깥쪽 for문이 한 번 실행할 때마다 중첩된 for문은 지정된 횟수만큼 반복하고 다시 바깥쪽 for문으로 돌아감

🔢 구구단 출력하기

for (int m = 2; m<=9; m++) {
	for (int n = 1; n <= 9; n++) {
		System.out.println(m + "x" + n + "=" + (m * n));
    }
}

while문

  • 조건식이 true일 경우에 계속해서 반복
  • 조건식이 false가 되면 종료
while (조건식) {
	실행문
}
  1. while문이 처음 실행될 때 조건식을 평가한다.
  2. 평가 결과가 true이면 실행문을 실행한다.
  3. 실행문이 모두 실행되면 조건식으로 되돌아가서 다시 조건식을 평가한다.
  4. 만약 조건식이 ture라면 실행문 -> 조건식으로 다시 진행
  5. 만약 조건식이 false라면 while문을 종료
int i = 1;
while (i <= 10) {
	System.out.println(i); // 1~10까지 하나씩 출력
	i++;
}
int sum = 0;
int i = 1;
while (i <= 100) {
	sum += i;
	i++;
}
System.out.println("1~100 합:"+sum); // 1~100 합:5050

do-while문

  • 블록 내부의 실행문을 우선 실행하고 실행결과에 따라서 반복 실행을 계속할지 결정
 do {
 	실행문
 } while (조건식);
  1. do-while문이 처음 실행될 때 실행문을 우선 실행한다.
  2. 실행문이 모두 실행되면 조건식을 평가한다.
  3. 조건식의 결과가 true이면 실행문 -> 조건식으로 반복 실행
  4. 조건식의 결과가 false이면 do-while문을 종료

break문

  • for문, while문, do-while문, switch문의 실행을 중지할 때 사용
  • 만약 반복분이 중첩되어 있을 경우 break문은 가장 가까운 반복분만 종료하므로 바깥쪽 반복문까지 종료시키려면 바깥쪽 반복문에 이름을(라벨)을 붙이고, 'break 이름;'을 사용한다.
Label: for () {
	for () {
    	break Label;
    }
}

continue문

  • for문, while문, do-while문에서만 사용
  • 블록 내부에서 continue문이 실행되면 for문의 증감식 또는 while, do-while문의 조건식으로 이동
for (int i = 1; i <= 10; i++) {
	if (i%2 != 0) {
		continue;
    }
	System.out.println(i); // 2 4 6 8 10 짝수만 출력
}

오늘 배운 것으로 로또 번호를 뽑아보자
당첨돼도 공부해야지

0개의 댓글