
🔗 복습하기
연산자란, 값 계산에 사용되는 기호문자를 의미함.
'실수'로 연산하지 않는 것이 좋음.
제어문(cotrol)이란, 개발자가 코드의 정상적인 흐름은 제어하기 위해 사용하는 것.
제어문(cotrol)에는 if문 switch문 for문 while문 do-while문 break문 continue문 중첩제어문이 있음.
특정 명령어 집합을 반복 수행할 때 사용하는 지시신호(command)를 보내 프로그램을 제어함.
while문 do-while문 for문이 있음.
for문은 while문 do-while문으로 쓸 수 있음.
1️⃣while문
조건에 따라 반복을 계속할지 결정할 때 사용.
while ( boolean ){ A; } 의 형식
boolean이 true인 동안에 A명령어 반복수행 함.초기값과 while문 조건식, 조건 증감 명령어를 꼼꼼히 살펴볼 필요 있음.
💡 : while문은 내부 명령어는 한 번도 실행 안 할 수 있음.
✍️ 같은 내용 반복 출력하는 방법들 (실습)
⌨️ coding ⤵️
		System.out.println("java 존경합니다");	
		System.out.println("java 존경합니다");	
		System.out.println("java 존경합니다");	
		System.out.println("java 존경합니다");	
		// 같은 내용 5번 반복
        
        int count =0; 
        // 조건식 : count<5
		while (count<5) {
			System.out.println("java");
			count++; // while문에서 조건식 결과를 false로 만들어 줄 수 있음.
        } // 같은 내용 5번 미만 반복
        
        count = 1;	//반복문의 초기화
		int endValue =5;
		while (count <=endValue) {
			System.out.println("java");
			count++;
		} // 같은 내용 5번 미만 반복
count++; 조건 증감 명령어✍️ 0에서 10까지의 합 구하기의 다양한 방법(실습)
⌨️ coding ⤵️
		int sum=0;
		int num =1;
		
		while (num <=10) {
			sum += num; // sum = sum + num; 
			num++; 		// --> sum =0+1+2+3+,,+10
		}
		
		System.out.println("1~10까지 합: "+sum);
	
✍️ 반복합 응용하기(홀수 합, 짝수 합)(실습)
⌨️ coding ⤵️
int sum = 0;
		int num = 1;
		// 1~10사이의 짝수의 합(2+4+6+8+10)
		while (num <= 10) {
			if ((num % 2) == 0) {
				sum += num;
				System.out.println("sum = " + sum);
			}
			num++;
		}
		System.out.println("1~10사이의 짝수의 합 :" + sum);
		
//-----------------------------------------------------------
		
		sum = 0;// 초기화 필수
		num = 1;// 초기화 필수
		// 1~10사이의 홀수의 합
		while (num <= 10) {
			if ((num % 2) == 1) {
				sum += num;
			}
			num++;
		}
		System.out.println("1~10사이의 홀수의 합 :" + sum);
✍️ Math.random() 이용해 퀴즈 프로그램 만들기(실습)
⌨️ coding ⤵️
int num1 = (int) (Math.random()*10);
		int num2 = (int) (Math.random()*10);
		
		Scanner input =new Scanner(System.in);
		System.out.println(num1 +"과"+num2+"의 합계는?");
		
		int answer=input.nextInt();
		
		
		// while문 내부 조건 : 정답이 틀리면 while문 반복수행
		while ((num1+num2) != answer) {
			System.out.println("정답이 아닙니다. 다시 시도하세요.");
			System.out.println(num1 +"과"+num2+"의 합계는?");
			answer = input.nextInt();
		}
		
		System.out.println("정답입니다.");
2️⃣do-while문
조건 따라 계속 반복할지 결정할 때 사용하는 것은 while문과 동일함.
do -while문은 내부 명령어를 무조건 1번 실행
💡 : while문은 내부 명령어는 한 번도 실행 안 할 수 있음.
do { A; } while (조건식)
조건식이 true인 동안 A를 반복 실행do -while 의 대표적인 사례
✍️
do -while문은 내부 명령어를 무조건 한 번은 실행함.(실습)
⌨️ coding ⤵️
int count = 0;
		do {
			System.out.println("java");
			count++;
		} while (count < 10);
//--------------------------------------------
		
		count = 0;
		do {
			System.out.println("java!!!!!!!!!!!!!!!");
		} while (count > 10);
		
		
//------------------------------------------------
		
		// while문은 조건이 안 맞으면 실행하지 않음
		while (count > 10) {
			System.out.println("java!!!!!!!!!!!!!!!");
			count++;
		}
✍️ do -while문 코드 while문으로 작성하기.(실습)
⌨️ coding ⤵️
		int sum = 0;
		int input_num;
		Scanner input = new Scanner(System.in);
		
        // do -while문 작성함.
		do {
			System.out.println("덧셈할 숫자를 입력하세요. 단, 입력한 숫자가 0이면 덧셈이 종료됩니다.");
			input_num = input.nextInt();
			sum += input_num;
		} while (input_num != 0); // 0을 입력하면 프로그램 종료
		System.out.println("sum = " + sum);
// -------------------------------------------------
		// while문으로 같은 프로그램 작성하기.
		System.out.println("덧셈할 숫자를 입력하세요. 단, 입력한 숫자가 0이면 덧셈이 종료됩니다.");
		input_num = input.nextInt();
		while (input_num != 0) { // 0을 입력하면 프로그램 종료
			sum += input_num;
			System.out.println("덧셈할 숫자를 입력하세요. 단, 입력한 숫자가 0이면 덧셈이 종료됩니다.");
			input_num = input.nextInt();
		}
		System.out.println("sum = " + sum);
✍️ a-z까지 출력하기(예제)(실습)
⌨️ coding ⤵️
char a = 'a';
		do {
			System.out.print(a);
			a = (char) (a + 1);
		} while (a <= 'z');
		System.out.println();
		a = 'A';
		do {
			System.out.print(a);
			a = (char) (a + 1);
		} while (a <= 'Z');

3️⃣for문
for (초기값; 조건식; 증감연산) {A} 형식
for문 실행--> 초기값 실행--> 조건식 실행--> A실행--> 증감연산--> A실행--> ...조건식 끝날 때까지 반복 후, 프로그램 종료.실행하는 방식이 while문과 비슷함.
for문 사용 예시
초기값과 마지막값이 결정되어 있는 경우 ✍️ for문으로 구간 합 구하기(실습)
⌨️ coding ⤵️
int sum = 0;
Scanner input = new Scanner(System.in);
System.out.println("합계를 구할 숫자 구간을 입력하세요.");
int startNum = input.nextInt();
int lastNum = input.nextInt();
for (int num = startNum; num <= lastNum; num++) {
	sum += num;
}
	System.out.println(startNum + " ~ " + lastNum + "합은 " + sum);
}
4️⃣for 문의 특이한 형태
for문에서 증감 단위가 소숫점이 경우도 사용 가능함💡 : 꼭 사용해야 한다면 , 정수로 형변환하여 for문에 사용한 후 마지막에 정수를 실수로 형변환
 
✍️ for문`에서 소숫점 단위 증감 실습(실습)
⌨️ coding ⤵️
	float fSum = 0.0f;
	for (float i = 0.01f; i <= 1.0f; i += 0.01f) {
		fSum += i;
	}
    
	System.out.println("fSum = " + fSum);
	double dSum = 0.0;
	for (double i = 0.01; i <= 1.0; i += 0.01) {
		dSum += i;
	}
    
	System.out.println("dSum = " + dSum);

5️⃣중첩 반복문
🔍중첩 반복문이란?
for{ for{ } } 형태
반복문이 다른 반복문을 내포하는 구조.
이론적으로는 몇 번이고 중첩 반복 가능.
너무 많은 중첩 반복은 프로그램 구조를 복잡하게 함.
💡 전체 실행 횟수가 주는 영향
✍️ 구구단 출력하기(실습)
⌨️ coding ⤵️
System.out.println("구구단은 다음과 같다.");
		for (int dan = 2; dan <= 9; dan++) {
			System.out.println(dan + "단 출력값");
			for (int num = 1; num <= 9; num++) {
				System.out.println(dan + "*" + num + "=" + (dan * num));
			}
			System.out.println();
		}
💡 println, print의 차이
println에서 'ln'은 'line'을 의미함. for (int i = 0; i < 5; i++) {
			int j = 0;
			while (j < i) {
				System.out.print(j + " "); 
				j++;
			}
			System.out.println();
		}
✍️ while문 안에 for문이 있는 경우(실습)
⌨️ coding ⤵️
int i = 0;
		while (i < 5) {
			// j는 0부터 , 1보다 크면 ,j 출력 후 j에서 -1 증감 ~
			for (int j = i; j > 1; j--) {
				System.out.print(j + " ");
			}
			System.out.println("*********************");
			i++;
		}

✍️ do -while문 안에 for문이 있는 경우(실습)
⌨️ coding ⤵️
int i = 1;
		do {
			int num = 1;
			for (int j = 1; j <= i; j++) {
				System.out.print(num + "G");
				num += 2;	// num = num +2;
			}
			System.out.println();
			i++;
		} while (i <= 5);
 
6️⃣break문
for문, while문, do-while문을 반복을 종료시킴.
switch문은 프로그램을 종료시킴.break문사용 예시
int error =0;		// 기계에서 발생한 에러
if (error !=0) {	// 기게어서 에러가 발생하면
	break;			// 종료
}
✍️ while문 if문에 break사용하기(실습)
⌨️ coding ⤵️
int num = 0;
		
		while (num != 6) {	// 무한 루프
			num = (int) (Math.random() * 6 + 1); // 1,2,3,4,5,6 중에 랜덤
			System.out.println("주사위번호 =" + num);
			}
		
//---------------------------------------------------------------
		
		// break 사용하기.
		while (true) {	// 무한 루프
			num = (int) (Math.random() * 6 + 1); // 1,2,3,4,5,6 중에 랜덤
			System.out.println("주사위번호 =" + num);
			if (num == 1) { // 조건식 역할
				break;
			}
		}
		System.out.println("주사위 게임 종료.");
       
✍️ '-1'이 입력될 때까지 입력된 숫자의 개수 출력(실습)
⌨️ coding ⤵️
Scanner in = new Scanner(System.in);
		int num = 0;
		while (true) { // 무한 루프
			if (in.nextInt() == -1)
				break;
			num++;
		}
		System.out.println("입력된 숫자 개수는 " + num);
 
7️⃣continue 문
for문, while문, do-while문에서 사용함.
for문에서는 증감식으로 이동함.while문 do -while문 조건식으로 이동함.✍️ 1부터 10까지 짝수의 합(실습)
⌨️ coding ⤵️
int sum = 0;
	for (int i = 1; i <= 10; i++) {
		if (i % 2 != 0) {	// 홀수인 경우
			continue;
		}
		sum += i;
	}
    
System.out.println("1~10 사이의  짝수의 합 = " + sum);