

2022.08.31 java 제어문java2022. 9. 4. 02:36
조건문
주어진 조건식의 결과에 따라 명령을 수행하도록 제어하는 명령문
if문
if(조건식){
조건식의 결과가 참일 경우 실행
}
ex)
int num = 1;
if(num == 1){
System.out.println(num); //1
}
- 실행하고자 하는 명령문이 한 줄이라면 중괄호{} 생략 가능
- 결과가 거짓일 경우 실행되지 않음
if ~ else문
if(조건식){
조건식의 결과가 참일 경우 실행
}
else{
조건식의 결과가 거짓일 경우 실행
}
ex)
int num = 1;
if(num == 1){
System.out.println(num); //1
}
else{
System.out.println("num = 1이 아닙니다."); //num = 1이 아닙니다.
}
- if의 조건식의 결과가 거짓일 경우 실행
if ~ else if ~ else문
if(조건식1){
조건식1의 결과가 참일 경우 실행
}
esle if(조건식2){
조건식2의 결과가 참일 경우 실행
}
else{
조건식의 결과가 거짓일 경우 실행
}
ex)
int num = 2;
if(num == 1){
System.out.println(num); //실행되지 않음
}
esle if(num ==2 ){
System.out.println(num); //2
}
else{
System.out.println("num = 1이 아닙니다."); //실행되지 않음
}
- else if는 여러 번 나와도 상관없음
switch문
if와 마찬가지로 조건 제어문이며 변수의 값에 따라 if보다 가독성이 좋을 수 있음
switch(조건식){
case 1:
조건값이 1일 때 실행
break;
case 2:
조건값이 2일 때 실행
break;
case 3:
조건값이 3일 때 실행
break;
default:
조건값이 case에 해당하지 않을 때 실행
break;
}
- default 생략 가능
- 정수형뿐만 아니라 char, String도 사용 가능 ex) case 'a': case "a":
- 각 case와 default는 break를 포함하고 있어야 함
switch문 - case마다 break를 사용하지 않았을 경우
char op = '+';
switch (op) {
case '+':
System.out.println("1번째 case 실행 op : " + op);
case '-':
System.out.println("2번째 case 실행 op :" + op);
case '/':
System.out.println("3번째 case 실행 op : " + op);
case '*':
System.out.println("4번째 case 실행 op : " + op);
break;
}
//출력값
1번째 case 실행 op : +
2번째 case 실행 op : +
3번째 case 실행 op : +
4번째 case 실행 op : +
- case 조건에 부합하더라도 break에 걸릴 때까지 다른 case를 거쳐감
- 이를 이용하여 or의 경우로 응용이 가능
반복문
for문
조건식이 참인 동안 주어진 횟수만큼 실행문을 반복적으로 실행
if(초기화; 조건식; 증감식){
조건식의 결과가 참인 동안 반복적으로 실행
}
ex)
int sum = 0;
for(int i = 1; i<=10; i++){
sum += i;
}
System.out.println(sum);
// 출력 값 55
i = 1 이고
i가 10 이하일 때 까지
실행문을 수행
한 번 수행 후 i를 1씩 더하면서 반복
- 초기화, 조건식, 증감식은 생략될 수 있음
- 초기화, 조건식, 증감식은 둘 이상이 될 수 있음
향상된 for문
String[] peng = {"펭귄", "황제펭귄", "아델리펭귄"}; //배열 선언
for(String name : peng}{ //자료형 변수명 : 배열명
System.out.println(name + "은 빙수 먹는 중");
}
//출력값
펭귄은 빙수 먹는 중
황제펭귄은 빙수 먹는 중
아델리펭귄은 빙수 먹는 중
- 여러 원소로 이루어진 집합의 모든 원소에 대해 작업을 반복하는 경우 사용
- 배열의 값을 사용할 수는 있으나 수정은 불가능
while문
조건식이 참일 경우 계속 반복
초기화
while(조건식){
조건식의 결과가 참인 동안 반복적으로 실행
증감식
}
- 조건식이 거짓인 경우 반복문 탈출
- 조건식에 true 또는 1을 사용할 경우 무한 루프
- 루프는 탈출하기 위해서 break; 사용
ex)
int sum = 0, num = 1;
while (true) { //무한 루프
sum += num; // sum = sum + num;
num++; //num을 1씩 증가
if (sum == 55) //sum이 55가 되었을 경우
break; //루프 탈출
}
System.out.println(sum); //55
do-while문
블록 내부의 실행문을 먼저 실행시킨 후 실행 결과에 따라 반복 실행 할지 결정
do{
실행문 //조건에 관계없이 무조건 한 번은 실행
} while(조건식)
- 실행문을 먼저 수행
- 이후 조건식 판별
- 조건식 true = 반복 false = 탈출
ex)
int input = 0, num = 7;
randNum = (int)(Maht.random()*10)+1;
Scanner sc = new Scanner(System.in);
do{
System.out.println("1과 10 사이의 정수 입력");
intput = sc.nextInt();
if(input > num)
System.out.println("더 작은 정수를 입력하세요");
else if(input < num)
System.out.println("더 큰 정수를 입력하세요");
}while(input != num)
System.out.println("정답입니다");
- 1과 10사이의 정수 입력
- 5 입력 했을 경우
- else if 실행
- while 조건식 판별 ( 5 != 7)
- 반복
break문
해당 반복문은 종료 시킨 후 반복 문 다음에 위치한 명령을 실행
int sum = 0, num = 1;
while (true) {
sum += num;
num++;
if (sum == 55) //sum이 55가 되었을 경우
break; //루프 탈출
}
System.out.println(sum); //55
- sum = 55가 되었을 경우 break 실행
- 반복문 다음인 print 실행
continue문
반복문을 종료하지 않고 다음 조건식 판단
for(int i = 1; i <=10; i+=){
if(i % 2 == 0) // i를 2로 나누었을 때 나머지가 0이라면
System.out.println(i + " = 짝수입니다");
else // 나머지가 0이 아니라면 for 수행
continue;
}
'java' 카테고리의 다른 글
비동기 처리 - @Async (2) | 2024.08.16 |
---|---|
Java의 병렬 처리를 알아보자 - Parallel Stream(병렬 스트림) (1) | 2024.08.02 |
2022.09.01 java 배열 (0) | 2022.09.04 |
2022.08.30 Java 변수 타입 문자열 (0) | 2022.09.04 |

@Han_5ung :: 한성 개인 기록장
IT
github : https://github.com/HanSungHyeon