nueijeel
[Java 이론 ] 0427 조건문과 반복문 본문
2023.04.27
1. 조건문
- if 문
: 특정 조건에 만족할 때만 수행해야하는 경우에 사용하는 제어문. 주어진 수식의 결과가 true인 경우 해당 블록의 코드가 수행되고 그렇지 않은 경우에는 수행되지 않는다.
if (조건식) { 수행할 코드 }
if (조건식) { 수행할 코드 } else { 수행할 코드 }
if (조건식) { 수행할 코드 } else if (조건식) { 수행할 코드 } else { 수행할 코드 }
< if문 >
int a = 0;
if(a==0)
System.out.println("a는 0입니다.");
if(a!=0)
System.out.println("a는 0이 아닙니다.");
< if - else문 >
int a = 10;
if(a==0)
System.out.println("a는 0입니다.");
else
System.out.println("a는 0이 아닙니다.");
if문의 조건에 만족하지 않을 때 수행해야할 코드가 있을 경우 else문을 사용한다.
< if - else if - else문 >
int score = 95;
if(score==100){
System.out.println("A+");
} else if(score > 90){
System.out.println("A");
} else if(score > 80){
System.out.println("B");
} else if(score > 70){
System.out.println("C");
} else if(score > 60){
System.out.println("D");
} else{
System.out.println("F");
}
다양한 조건이 있을 경우 else if문을 사용해 추가적으로 조건을 설정해준다. 제어문이 실행할 코드가 여러 줄이면 해당 범위를 괄호로 묶어줘야함.
- switch문
: 수식이나 변수의 값을 확인하여 수행될 부분으로 바로 이동하는 경우
switch(변수) {
case 값 : 수행할 코드
}
switch(변수) {
case 값 : 수행할 코드
default : 수행할 코드
}
< switch - case 문 >
String season = "봄";
switch(s){
case "봄":
System.out.println("봄 입니다.");
break;
case "여름":
System.out.println("여름 입니다.");
break;
case "가을" :
System.out.println("가을 입니다.");
break;
case "겨울":
System.out.println("겨울 입니다.");
break;
{
코드를 수행하다가 break문을 만나면 속해있는 조건문을 탈출한다. 만약 위 코드에서 case문 내에 break문이 없다면 수행될 코드에서 시작해 switch문이 종료될 때 까지 모든 코드를 거치고 종료될 것이다.
< switch - case - default 문 >
int month = 5;
switch(month){
case 3,4,5 :
System.out.println("봄 입니다.");
break;
case 6,7,8 :
System.out.println("여름 입니다.");
break;
case 9, 10, 11 :
System.out.println("가을 입니다.");
break;
case 12, 1, 2 :
System.out.println("겨울 입니다.");
break;
default :
System.out.println("1월부터 12월까지만 있습니다.");
break;
}
default 문에는 case 문이 하나도 수행되지 않을 때 작동할 코드를 작성해주면 된다. if문의 else구문 같은 역할이라고 생각하면 된다.
2. 반복문
- for 문
: 조건식을 만족하지 않을 때 까지 초기식을 증감하면서 코드를 수행하는 반복문
for ( 초기식 ; 조건식 ; 증감식 ) { 수행할 코드 }
int sum = 0;
for( int i = 1; i <= 10; i++){
sum += i;
}
1부터 10까지를 더하는 과정을 for문으로 구현해 봤다. 초기 식에서 설정한 변수 i가 10보다 작거나 같을 동안, i의 값을 sum 변수에 더해주고 i를 증가시키는 과정을 반복한다. i가 11이 됐을 때 설정한 조건식에 위배되므로 반복문이 종료된다.
< for문을 이용한 구구단 출력 >
for(int i = 2; i < 10; i ++){
for(int j = 1; j < 10; j++){
System.out.printf("%d x %d = %d\n",i, j, i*j);
}
}
중첩 for문을 사용해 구구단 2단부터 9단까지 출력하는 코드를 작성해 보았다.
- while 문
: 반복 횟수가 결정되지 않고, 반복이나 종료에 대한 조건만 결정된 경우에 사용하는 반복문이다. 조건식의 결과가 true인 동안 코드 수행을 반복한다.
while ( 조건식 ) { 수행할 코드 }
< while 문 >
int a = 1;
while(a<=10){
System.out.printf("%d\n", a++);
}
while문을 통해 a의 값을 증가시키면서 1부터 10까지의 수를 출력하는 코드를 작성해보았다.
< while 문 특징 >
int a = 10;
while(a<10){
System.out.println("a : %d\n", a);
}
while문은 조건식이 수행될 코드보다 먼저 작성되어 있기 때문에, 처음 실행했을 때 조건을 만족하지 않으면 한 번도 수행되지 않는다.
- do-while 문
: while문과 달리 조건식이 수행될 코드 이후에 위치해있어, 조건을 만족하지 않을 경우에도 코드가 최초 한 번은 수행되는 구조의 반복문이다.
do { 수행할 코드 } while ( 조건식 ) ;
< do-while문 >
int a = 10;
do{
System.out.printf("a : %d\n", a);
}while(a++>10);
a 값을 출력하는 do-while 반복문인데, a값이 비교연산이 이루어진 후 증감연산자에 의해 증가되는 구조이므로 조건식을 만족하지 않아서 한 번만 출력되고 종료된다.
'Java' 카테고리의 다른 글
[Java 이론] 0504 스레드와 동기화 (0) | 2023.05.05 |
---|---|
[Java 이론] 0428 객체 지향 프로그래밍과 클래스 (0) | 2023.05.04 |
[Java 이론] 0426 변수와 자료형, 연산자 (0) | 2023.05.04 |
[Java 이론] 0425 자바 실행 구조와 식별자 (2) | 2023.05.04 |