<if문> if(조건식){ 수행될 코드 } ------------------------------------------------------------------ if(num > 0){ System.out,println("양수입니다"); }
<if ~ else문> if(조건식){ true일 때 수행될 코드 } else { false일 때 수행될 코드 } ------------------------------------------------------------------ if(num % 2 == 0){ System.out,println("짝수 입니다."); } else { System.out,println("홀수 입니다"); }
<if ~ else if ~ else문> if(조건식1) { 조건식1 true일 때 수행 } else if(조건식2){ 조건식2 true일 때 수행 } else { 모두 false 일 때 수행 } ------------------------------------------------------------------ if(month == 1 || month == 2 || month == 12) { season = "겨울"; } else if(month >= 3 && month <= 5) { season = "봄"; } else if(month >= 6 && month <= 8) { season = "여름"; } else if(month >= 9 && month <= 11) { season = "가을"; } else { season = "해당하는 계절이 없습니다."; }
<중첩 if문> if (조건식1) { if (조건식2) { if (조건식3) { 수행될 코드; } else if (조건식4) { 수행될 코드; } else { 수행될 코드; } } else { 수행될 코드; } } else if (조건식5) { 수행될 코드; } else { 수행될 코드; } ------------------------------------------------------------------ if (month == 1 || month == 2 || month == 12) { season = "겨울"; if(temperature <= -15) { season += " 한파 경보"; } else if(temperature <= -12) { season += " 한파 주의보"; } } else if (month >= 3 && month <= 5) { season = "봄"; } else if (month >= 6 && month <= 8) { season = "여름"; if(temperature >= 35) { season += " 폭염 경보"; } else if(temperature >= 33) { season += " 폭염 주의보"; } } else if (month >= 9 && month <= 11) { season = "가을"; } else { season = "해당하는 계절이 없습니다."; }
👉 Tip
- 가독성을 위해 하위 코드들은 들여쓰기 또한 관련이 있는 코드끼리 붙여쓰고 한줄 띄우고 다른 코드 작성하기.
switch(조건식) { case 조건식 결과1 : 수행될 코드; break; case 조건식 결과2 : 수행될 코드; break; default : 수행될 코드; } ------------------------------------------------------------------ switch(num % 5) { case 1 : team = "1조"; break; case 2 : team = "2조"; break; case 3 : team = "3조"; break; case 4 : team = "4조"; break; default : team = "다시"; }
👉 Tip
- 대문자로 된 약어 혹은 고유명사여도 변수에서는 소문자로 쓰자.
- 조건문에서 각 조건에 따라 출력을 하지말고, 상위에 변수 하나 선언 후 변수에 값을 저장하는 형태로 하여 최종으로 출력하도록 하자.
<for문> for(초기식; 조건식; 증감식) { 수행될 코드; } ------------------------------------------------------------------ for(int i = 1; i <= 10; i++) { System.out.println(i + “ 출력"); }
=> 조건식인 i변수가 1부터 시작하여 증감식에 의해 1씩 증가, i가 11이되는 순간 조건식의 결과값이 false로 바뀌고, 반복문 탈출.
<중첩 for문> for(초기값1; 조건식1; 증감식1) { 수행될 코드1; for(초기값2; 조건식2; 증감식2) { 수행될 코드2; } 수행될 코드3; }
=>
① for문에 들어가면 수행될 코드1 실행
② 두번째 for문으로 진입 두번째 for문의 조건식이 거짓이 될때까지 코드2 반복 수행 후 탈출
③ 코드3 시행
④ 첫번째 for문의 증감식 수행. 그 후 위의 과정 반복.
while(조건식) { 수행될 코드; [증감식 or 분기문]; } ------------------------------------------------------------------ int i = 1; while(i <= 10) { System.out.println(i + " 출력"); i++; }
do { 수행될 코드; [증감식 or 분기문]; } while(조건식); ------------------------------------------------------------------ int i = 1; do { System.out.println(i + "출력"); i++; } while(i <= 10);
=>
① 수행될 코드인 출력이 한번 시행되고, 증감수행.
② 조건식 확인
③ true면 코드 실행, false면 탈출.
for(int i = 1;; i++) { System.out.println(i + " 출력"); if(i >= 10) { break; } }
=>
① for문 중에 조건식이 비었음 -> 무한루프
② 변수 i가 증감식에 의해 1씩 증가.
③ i가 10이되는 순간 조건식인 if문 조건 충족하여 if문 안의 코드 수행
④ break를 만나며 반복문 탈출
for(초기값1; 조건식1; 증감식1) { 수행될 코드1; for(초기값2; 조건식2; 증감식2) { 수행될 코드2; break; } 수행될 코드3; }
=>
① 코드1 수행 후 두번째 반복문 진입.
② 두번째 반복문 안에서 break 만나서 실행.
③ 반복문을 탈출하는데 두번째 반복문 안에 있었으므로 두번째 반복문 탈출
④ 코드3 수행
for(int i = 1; i <= 10; i++) { if(i % 2 == 0) { continue; } System.out.println(i + " 출력"); }
=>
① 변수 i가 1로 시작. 조건문 만나서 조건식 수행. false 이므로 if문 실행 X
② 출력 실행 후 증감식에 의해 i 값 1 증가
③ 조건문 시행. 참이므로 if문 안의 수행코드 시행. continue 만남.
④ 출력 코드를 수행하지 않고 조건식으로 넘어감
⑤ 결과적으로 홀수만 출력됨