for문
- for문은 특정 조건에 따라 일정 횟수만큼 실행문을 반복하는 기능을 제공합니다.
- for문의 기본 구조
for( 초기화식; 조건식; 증감식 ) {
조건식이 참일 경우 실행할 명령 코드 블럭;
(반복 실행되는 영역)
}
- for문의 동작 방식
- 초기화식이 가장 먼저 실행되며, 조건식을 평가하여 true일 경우 실행문을 실행합니다.
- 실행문이 실행되면 증감식이 실행되고, 다시 조건식을 평가하여 반복 실행 여부를 평가합니다.
- 만약 증감식 실행 결과로 조건식이 false가 될 경우 for문을 종료하고 블록을 건너뜁니다.
(처음부터 조건식이 false일 경우 for문은 실행되지 않음)
for문 사용 예시1
// 1부터 100까지 반복하여 더하는 프로그램
// "1부터 100까지의 합은 5,050입니다." 출력
public class SumOneToHundred1 {
public static void main(String[] args) {
int sum = 0;
for(int i = 1; i <= 100; i++) {
sum = sum + i;
}
System.out.println("1부터 100까지의 합은 " + sum + "입니다.")
}
}
for문 사용 예시2
// 1부터 100까지 합계를 계산하는 프로그램
// "1부터 100까지의 합은 5050입니다" 출력
public class SumOneToHundred2 {
public static void main(String[] args) {
int sum = 0;
// for의 초기화 변수를 for문 밖에서 선언
int i;
for(i = 1; i <= 100; i++) {
sum += i;
}
// 초기화식에 사용되었던 변수를 for문 밖에서도 사용 가능
System.out.println("1부터 " + (i - 1) + "까지의 합은 " + sum + "입니다.")
}
}
for문 사용 예시3
// i와 j가 같아질 때까지 1씩 더하고 빼는 프로그램
public class BecomeSameValue {
public static void main(String[] args) {
for(int i = 0, j = 100; i <= 50 && j >= 50; i++, j--) {
System.out.println(i + ", " + j);
}
// System.out.println(i + ", " + j);
// for문이 종료되었기 때문에 변수 값이 저장되지 않아 오류 발생
}
}
- for문의 응용
- 필요에 따라 초기화식, 조건식, 증감식은 생략되거나 2개 이상 사용될 수 있습니다.
- 초기화식에 사용되는 변수는 for문 안에서만 유효하며 for문이 종료되면 변수값도 사라집니다.
(예시2 사례처럼 변수값을 활용하고 싶으면 for문 밖에서 선언하여 활용) - for문에서 초기화식은 되도록 정수 타입으로 선언하여 사용하는 것이 좋습니다.
(실수 타입은 부동소수점 방식을 사용하기 때문에 수치 증감이 정확하지 않음) - for문 내에서 또 다른 for문을 사용할 수 있으며, 안쪽의 for문의 반복이 종료되면 밖깥의 for문이 실행됩니다.
- 필요에 따라 초기화식, 조건식, 증감식은 생략되거나 2개 이상 사용될 수 있습니다.
for문 중첩 활용 예시
// 구구단을 출력하는 프로그램
public class NestedForStatementsExample {
public static void main(String[] args) {
for(int i = 2; i <= 9; i++) {
System.out.println("------ " + i + "단 ------")
for(int j = 1; j <= 9; j++) {
System.out.println(i + " x " + j + " = " + (i * j));
}
}
}
}
while문
- while문은 조건식이 true일 경우 실행문을 계속해서 반복하는 기능을 제공합니다.
- while문의 기본 구조
while( 조건식 ) {
조건식이 참일 경우 실행할 명령 코드 블럭
}
- while문의 동작 방식
- while문이 시작될 때 조건식을 평가하고 평가 결과가 true면 실행문이 실행됩니다.
- 실행문이 모두 실행되면 다시 조건식으로 돌아가 조건식을 평가합니다.
- 실행문 실행 결과에 따라 조건식이 변경되어 평가 결과가 false가 되면 while문을 빠져나가게 됩니다.
(처음부터 조건식이 false일 경우 while문은 실행되지 않음) - 조건식에 true를 직접 입력하여 사용할 경우 실행문을 무한히 반복하게 됩니다.
(이 경우 무한 반복을 빠져나가기 위해서는 실행문에 별도의 코드 필요)
while문 사용 예시1
// 1부터 10까지 출력하는 프로그램
// 1 ~ 10 까지 한 줄씩 출력
public class PrintOntToTen {
public static void main(String[] args) {
int i = 1;
while(i <= 10) {
System.out.println(i);
i++;
}
}
}
while문 사용 예시2
// 1 ~ 4를 출력하는 프로그램
// 1 ~ 4까지 한 줄씩 출력
public class WhileTrue {
public static void main(String[] args) {
int i = 1;
boolean run = true;
while(run) {
System.out.println(i);
i++;
// while문을 빠져나가기 위한 코드
// i가 5가 되면 run 변수가 false로 바뀌면서 while문 종료
if(i == 5) {
run = false;
}
}
}
}
do-while문
- do-while문은 while문과 동일한 작동 방식을 가지고 있지만, 조건식을 판단하기 전에 do{ ... } 코드 블럭이 최초로 한번 실행된다는 점에서 차이가 있습니다.
- do-while문의 기본 구조
do {
조건식이 참일 경우 실행되는 명령 코드 블럭;
(반복되는 영역이며 while과 달리 최초 1회는 반드시 실행)
}
while ( 조건식 );
- do-while문의 동작 방식
- do-while문이 시작될 때 do{ ... } 부분의 실행문을 실행한 뒤에 조건식을 평가합니다.
- 조건식의 평가 결과가 true면 실행문이 반복 실행되며 이후 while문과 동일하게 동작합니다.
- (조건식이 false여도 최초 do부분은 실행)
- while() 뒤에는 반드시 세미콜론(;)을 붙여 구문의 끝을 알려야 합니다.
do-while문 사용 예시
// 1부터 10까지 더하는 프로그램
// "1부터 10까지의 합은 55입니다." 출력
public class DoWhileExample {
public static void main(String[] args) {
int num = 1;
int sum = 0;
do {
sum += num;
num++;
}
while (num <= 10);
System.out.println("1부터 10까지의 합은 " + sum + "입니다.")
}
}
'Programing Language > Java' 카테고리의 다른 글
[Java] 자바 기본 문법(Java Basic Syntax) (0) | 2022.05.19 |
---|---|
[Java] 자바 개발 환경(Java Development Environment) (0) | 2022.05.16 |
[Java] 자바의 조건문(Conditional Statements) (0) | 2022.05.16 |
[Java] 자바의 제어문(Control Statement) (0) | 2022.05.16 |
[Java] 비트 연산자(Bitwise Operators) (0) | 2022.05.13 |