🔗 복습하기
연산자란, 값 계산에 사용되는 기호문자를 의미함.
'실수'로 연산하지 않는 것이 좋음.
제어문(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);