Java기반 Back-End 개발자 & 정보처리산업기사 과정 강의 5일차 정리

misung·2021년 3월 22일
0
post-thumbnail

반복문

for문

for문 실습

예시 1. 1~100까지의 숫자들 중에서 4의 배수들의 총합을 구해보자.

int sum = 0;
		
for (int i = 1; i <= 100; i++) {
			
	if (i % 4 == 0) // 4로 나누어 떨어지면 (4의 배수)
	sum += i; 	// 합에 i(4의 배수)를 더한다
}
		
System.out.println("1~100 중 4의 배수들의 총합 : " + sum);

→ 1~100 중 4의 배수들의 총합 : 1300

예시 2. n, m을 입력받아 n부터 m까지의 총 합을 구해보자.

Scanner sc = new Scanner(System.in);
int sum = 0;
int n, m;
		
System.out.print("시작값 입력 : ");
n = sc.nextInt();
		
System.out.print("마지막 값 입력 : ");
m = sc.nextInt();
		
for (int i = n; i <= m; i++) {
		sum += i;
}
		
System.out.println(n + "부터 " + m + "까지의 총합 : " + sum);


시작값 입력 : 5
마지막 값 입력 : 73
5부터 73까지의 총합 : 2691

예시 3. n, m을 입력받아 n부터 m까지의 숫자들 중, 3의 배수를 더한 값과, 3의 배수들의 개수를 출력해보자.

Scanner sc = new Scanner(System.in);
int n, m;
int sum = 0;
int multiples = 0;
		
System.out.print("시작값 입력 : ");
n = sc.nextInt();
		
System.out.print("마지막 값 입력 : ");
m = sc.nextInt();
		
for (int i = n; i < m; i++) {
	if (i % 3 == 0) {
		sum += i;
		multiples += 1;
	}
}
		
System.out.println(n + "부터 " + m + "까지 3의 배수의 총합 : " + sum);
System.out.println(n + "부터 " + m + "까지 3의 배수의 개수 : " + multiples);


시작값 입력 : 1
마지막 값 입력 : 100
1부터 100까지의 3의 배수의 총합 : 1683
1부터 100까지의 3의 배수의 개수 : 33

예시 4. n, m을 입력받고 n부터 m까지의 수들 중, 짝수번째 숫자들을 출력해보고, 홀수, 짝수 각각의 수들을 더한 합을 출력해보자.

Scanner sc = new Scanner(System.in);
int n, m;
int oddSum = 0;
int evenSum = 0;
		
System.out.print("시작값 입력 : ");
n = sc.nextInt();
		
System.out.print("마지막 값 입력 : ");
m = sc.nextInt();
		
for (int i = n; i <= m; i++) {
			
	if (i % 2 == 0) {
		System.out.print(i + " ");
		evenSum += i;
	} else {
		oddSum += i;
	}
}
System.out.println("");
		
System.out.println(n + "부터 " + m + "까지의 짝수들의 합 : " + evenSum);
System.out.println(n + "부터 " + m + "까지의 홀수들의 합 : " + oddSum);


시작값 입력 : 1
마지막 값 입력 : 20
2 4 6 8 10 12 14 16 18 20
1부터 20까지의 짝수들의 합 : 110
1부터 20까지의 홀수들의 합 : 100

예시 5. 학생 수를 입력받고, 학생 수 만큼 for문을 순환하며 해당 학생의 점수를 입력받아 60점 이상일 시 "합격입니다"를, 60점 미만일 시 "불합격입니다"를 출력해보자.

Scanner sc = new Scanner(System.in);
		
System.out.print("학생 수를 입력 : ");
int studentNum = sc.nextInt();
		
for (int i = 1; i <= studentNum; i++) {
	System.out.print(i + "번 학생의 점수 : ");
	int score = sc.nextInt();
			
	if (score >= 60) {
		System.out.println("합격입니다.");
	} else {
		System.out.println("불합격입니다.");
	}
}


학생 수를 입력 : 5
1번 학생의 점수 : 60
합격입니다.
2번 학생의 점수 : 61
합격입니다.
3번 학생의 점수 : 59
불합격입니다.
4번 학생의 점수 : 40
불합격입니다.
5번 학생의 점수 : 70
합격입니다.



2중 for문

for (int i = 1; i <= 9; i++) {
	for (int j = 1; j <= 9; j++) {
    	System.out.println("i = " + i + ", j = " + j);
    }
}

2중 for문 실습하기

예시 1. 구구단 출력하기

for (int i = 2; i <= 9; i++) {
			
	for (int j = 1; j <= 9; j++) {
				
		System.out.print(i + "x" + j + "=" + (i * j) + "\t");
			
	}
	System.out.println();
}


2x1=2 2x2=4 2x3=6 2x4=8 2x5=10 2x6=12 2x7=14 2x8=16 2x9=18
3x1=3 3x2=6 3x3=9 3x4=12 3x5=15 3x6=18 3x7=21 3x8=24 3x9=27
...



while문

while (반복조건) {실행문;}
while문의 실행문은, 반복조건이 true일 때만 실행된다.

while문 실습하기

예시 1. 1~10까지 출력해보기

int num = 0;
while (num < 10) {
	++num;
	System.out.println(num);
}


1
2
3 ...
10

예시 2. 1~10까지의 총합을 출력해보기

int num = 0;
int sum = 0;

while (num < 10) {
	++num;
	sum += num;
}	
System.out.println("1~10까지의 총합 : " + sum);


1~10까지의 총합 : 55

예시 3. 1~6까지의 눈을 가진 주사위가 있다고 치자. 이 주사위를 던져 발생하는 눈의 값을 출력하고, 만약 주사위의 눈이 5가 됐을 경우엔 종료하도록 해 보자.

int dice = 0;

while (dice != 5) {
	dice = (int)(Math.random() * 6) + 1;
	System.out.println("주사위의 눈은 " + dice + "입니다.");
}


주사위의 눈은 3입니다.
주사위의 눈은 1입니다.
주사위의 눈은 6입니다.
주사위의 눈은 5입니다.

예시 4. 증속, 감속, 종료 세 가지의 메뉴를 띄우고, 증속을 선택하면 속도를 1 올리고, 감속을 선택하면 속도를 1 내리고, 종료를 선택하면 반복문이 종료되도록 만들어보자.

Scanner sc = new Scanner(System.in);
boolean flag = true;
int speed = 0;
		
while(flag == true) {
			
	System.out.println("=========================");
	System.out.println("1. 증속 || 2. 감속 || 3. 종료");
	System.out.println("=========================");
	System.out.print("메뉴 선택 : ");
	int choice = sc.nextInt();
			
	switch(choice) {
	case 1:
		++speed;
		break;
	case 2:
		--speed;
		break;
	case 3:
		flag = false;
		break;
	default:
			System.out.println("잘못된 선택입니다.");
	}
			
	System.out.println("현재 속도는 " + speed + " 입니다.");
}
		
System.out.println("프로그램 종료.");


=========================
1. 증속 || 2. 감속 || 3. 종료
=========================
메뉴 선택 : 1
현재 속도는 1 입니다.
=========================
1. 증속 || 2. 감속 || 3. 종료
=========================
메뉴 선택 : 1
현재 속도는 2 입니다.
=========================
1. 증속 || 2. 감속 || 3. 종료
=========================
메뉴 선택 : 1
현재 속도는 3 입니다.
=========================
1. 증속 || 2. 감속 || 3. 종료
=========================
메뉴 선택 : 3
현재 속도는 3 입니다.
프로그램 종료.

0개의 댓글

관련 채용 정보