코드의 실행흐름은 무조건 위에서 아래로 한 문장씩 진행된다.
하지만 때로는 조건에 따라 문장을 건너뛰거나, 같은 문장을 반복해서 수행해야할 때가 있다.
이럴때 사용하는 프로그램의 흐름을 바꾸는 역할을 하는 문장을 제어문이라고한다,
제어문에는 조건문과 반복문이 있다.
조건문 - if, switch
1. if문
class HelloWorld {
public static void main(String[] args) {
if (5 > 3){
System.out.println("hello world");
}
}
}
가장 기본적인 조건문.
조건식 + {} 괄호 로 구성되어 있다.
if (5 > 3) // 가능
if (a == 1) // 가능
if (1) // 에러
if (int b = 1) // 에러
if ("hi") // 에러
파이썬, js와는 다르게 조건식의 결과는 반드시 boolean 형식이어야한다.
보통 비교연산자 혹은 논리연산자로 구성된다.
class HelloWorld {
public static void main(String[] args) {
char grade = 'A';
if(grade == 'A') System.out.println("GRADE : A");
else if (grade == 'B') System.out.println("GRADE : B");
else System.out.println("GRADE : F");
}
}
만약 블럭 내의 문장이 하나일 경우, {} 괄호를 생략할 수 있다.
if - else, if - else if 문 등으로 조건을 추가할 수 있다.
2. switch문
if 문의 조건식은 결과가 참 혹은 거짓 두가지 밖에 없다.
경우의 수가 많아질 수록 조건식이 많아지고 복잡해진다.
class HelloWorld {
public static void main(String[] args) {
char grade = 'A';
switch (grade){
case 'A' :
System.out.println("GRADE : A");
break;
case 'B' :
System.out.println("GRADE : B");
break;
default :
System.out.println("GRADE : F");
}
}
}
switch문은 단 하나의 조건식을 제시하고 그 결과와 일치하는 case 문으로 이동한다.
이동한 case문 아래의 문장들을 수행하며, break문을 만나면 전체 switch 문을 빠져나가게 된다.
final int A = 5;
int a = 1;
case 'A': // 가능
case 1: // 가능
case "hello": // 가능
case A // 가능
case a // 불가능
case 1.0 // 불가능
switch문의 조건식은 결과값이 반드시 정수 또는 문자열이어야한다.
case문의 값은 정수 상수 혹은 문자열 리터럴이어야만한다. (변수, 실수 불가능)
반복문 - for, while, do-while
1. for문
반복 횟수를 알고 있을때 적합.
for문의 구조와 수행순서
for (초기화; 조건식; 증감식){
수행문
}
- 초기화
- 조건식
- 수행문
- 증감식
- 2-4 반복
for(;;){
// 무한 반복문
}
int[] arr = {1,2,3,4,5};
for (int n : arr){
System.out.print(n);
//12345
}
for(;;)시 무한 반복문
for ( 타입 변수 : 배열 또는 컬렉션) -> 파이썬 in처럼 동작
배열의 모든 요소를 한 번씩 가져옴
2. while 문
class HelloWorld {
public static void main(String[] args) {
int i = 0;
while (i < 5){
System.out.println("loop");
i ++;
}
while (true) //무한반복문
//do - while문
do {
System.out.println("loop");
i ++;
}
while (i < 5);
}
}
조건식 + {} 구조
조건식이 참이면 {}안의 문장을 반복한다.
for문과 달리 조건식을 생략할 수 없다.
무한 반복문을 만드려면 whilie(true)를 사용해야한다.
3. do-while 문
while문과 똑같은데 do 뒤의 문장 먼저 시작하고 조건문 확인
최소 1번은 실행을 보장하는 반복문
break : 가장 가까운 반복문을 벗어난다.
continue : 다음 반복으로 넘어간다. (증감식, 다음 조건식)
'JAVA' 카테고리의 다른 글
JAVA의 정석 정독하기 #6 - Class (1) | 2023.11.11 |
---|---|
JAVA의 정석 정독하기 #5 - 배열(Array) (0) | 2023.10.29 |
JAVA의 정석 정독하기 #3 - 연산자 (0) | 2023.10.07 |
JAVA의 정석 정독하기 #2 - 변수 (0) | 2023.10.03 |
JAVA의 정석 정독하기 #1 - JVM이란? (0) | 2023.10.02 |