for 문
for (초기문; 조건식; 반복 후 작업) {
..작업문..
}
- 반복 횟수를 아는 경우에 사용한다.
- 초기문은 시작할 때 한 번만 실행된다.
- 초기문에 ','를 사용하여 여러문장을 나열할 수 있다.
- 조건식에 true 가 있거나 비어 있으면 무한 반복된다.
- 작업문이 실행된 후, 반복 후 작업이 실행된다.
예시
for 문을 이용하여 1에서 10까지 덧셈으로 표시하고 합을 출력하라.
public class ForSample {
public static void main(String[] args) {
int sum = 0;
for(int i=1; i<=10; i++) {
sum += i;
System.out.print(i);
if(i<10)
System.out.print("+");
}
System.out.print("="+sum);
}
}
실행결과
1+2+3+4+5+6+7+8+9+10=55
for 문에서 1부터 10까지의 합을 sum변수에 대입하고 이를 출력한다.
while 문
whlie (조건식){
...작업문...
}
- 조건식이 true 를 만족하는 동안 작업문을 반복 실행한다.
- 조건식이 없으면 컴파일 오류가 발생한다.
예시
while 문을 이용하여 -1이 입력될 때까지 정수를 계속 입력받아 합을 구하고 평균을 출력하는 프로그램을 작성하라.
import java.util.Scanner;
public class WhileSample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int sum = 0;
double avg;
int count = 0;
int input = scanner.nextInt();
while(input!= -1) {
sum = sum + input;
count ++;
input = scanner.nextInt();
}
avg= (double)sum/count;
System.out.print("합:"+sum+", 평균:"+avg);
scanner.close();
}
}
실행결과
38
20
-33
29
15
-1
합:69, 평균:13.8
정수를 입력받기 위해서 Scanner클래스를 이용한다. 입력받은 정수를 저장하기 위해서 sum을 선언하고, 입력받은 값들의 평균을 구하기 위해서 avg를 선언한다. 입력받은 값이 -1이 아닐동안에 값을 반복 입력받고 sum변수에 값을 계속 누적한다. 입력받은 값이 -1이라면, 이때까지 입력받은 값들의 합을 입력받은 횟수로 나누어서 평균을 구한다. 그리고 합과 평균을 출력한다.
조건식이 만족할 동안에 반복실행하기 때문에 scanner 메소드가 반복문 안에 있어야 한다.
do-whlie 문
do {
..작업문..
} while(조건식);
- 작업문 실행 후 조건식을 검사하므로 작업문은 최초 한 번은 반드시 실행된다.
- 조건식 뒤에 세미콜론을 빠뜨리지 않도록 한다.
예시
do-while 문을 이용하여 'a'부터 'z'까지 출력하는 프로그램을 작성하라.
public class DoWhileSample {
public static void main(String[] args) {
char c = 'a';
do {
System.out.print(c);
c = (char)(c+1);
}while(c<='z');
}
}
실행결과
abcdefghijklmnopqrstuvwxyz
char 변수c 를 선언하고 문자리터럴 'a'로 초기화한다. do-while 문에서 일단 c 를 출력하고 c에 1만큼 더한 뒤(내부적으로는 c에 일대일대응되는 숫자값과 1을 더한 뒤 다시 char형으로 변환한다.), 이를 c가 'z'보다 작거나 같을 때가지 반복한다.
do-while 문을 활용하여 문자 리터럴과 문자열 사이의 개념을 다진 좋은 예제였다. 이 부분에 대해서는 나중에 추가적인 공부가 필요하리라 생각된다.
'Java > 기본 프로그래밍' 카테고리의 다른 글
[JAVA] 배열 ( 배열 기초, length필드, for-each 문 ) (1) | 2024.01.29 |
---|---|
[JAVA] 반복문 ( 중첩반복문, continue 문, break 문 ) (1) | 2024.01.26 |
[JAVA] 조건문 ( if 문, if-else 문, switch 문 ) (1) | 2024.01.24 |
[JAVA] 자바에서 키 입력 ( Scanner 객체 ) (0) | 2024.01.23 |
[JAVA] 화면 출력 ( System.out.print(), System.out.println(), String에 대한 간단한 이해 ) (0) | 2024.01.22 |