
조건문
✅ 자바에서 특정 조건에 따라 다른 연산을 수행하고 싶을 때 사용한다
if 문
특정 조건에 따라 다른 연산을 수행할 때 사용하고 if ( 조건 ) 소괄호 안의 조건이 참(true) 이면 연산을 수행
// 조건문
boolean flag = true;
if (flag) {
System.out.println("flag 값은 true 입니다."); // flag 값은 true 입니다. 출력
}
if ~ else 문
if ( 조건 ) 소괄호 안의 조건이 거짓(false) 이면 else 안의 연산을 수행
// 조건문 with else
flag = false;
if (flag) {
System.out.println("flag 값은 true 입니다."); // 미출력
} else {
System.out.println("flag 값은 false 입니다."); // flag 값은 false 입니다. 출력
}
if ~ else if ~ else 문
if ( 조건 ) 소괄호 안의 조건이 거짓(false) 이면 else if 의 조건을 수행하고 else if의 조건이 거짓이면 else 연산을 수행
// 조건문 with else if
int number = 2;
if (number == 1) {
System.out.println("number 값은 1 입니다."); // 미출력
} else if (number == 2) {
System.out.println("number 값은 2 입니다."); // number 값은 2 입니다. 출력
} else {
System.out.println("number 값은 모르는 값입니다."); // 미출력
}
중첩 if 문
// 중첩 조건문
flag = true;
number = 2;
if (flag) {
if (number == 1) {
System.out.println("flag 값은 true, number 값은 1 입니다."); // 미출력
} else if (number == 2) {
System.out.println("flag 값은 true, number 값은 2 입니다."); // flag 값은 true, number 값은 2 입니다. 출력
}
} else {
if (number == 1) {
System.out.println("flag 값은 false, number 값은 1 입니다."); // 미출력
} else if (number == 2) {
System.out.println("flag 값은 false, number 값은 2 입니다."); // 미출력
}
}
switch 문
✅ switch 문은 case와 함께 사용하며 if문보다 가독성이 좋다
➡️ 모든 조건을 한 줄로 나열하면서 수행하는 역할이 한 눈에 보인다
✅ case 조건을 만족하면 case 뒤에 있는 연산 수행한다. case 조건은 여러 개를 설정할 수 있고
각 case 연산문 마지막에는 break; 를 꼭 넣어준다.
break : 해당 case 문의 연산이 끝났다는 것을 알려줘서 switch 문을 종료한다.
⁉️ break 문을 case 문 연산에 안 넣어주면 어떻게 될까?
➡️ case 연산문이 안 끝났기 때문에 switch 문 블럭이 끝날 때까지 계속 연산 수행
default : switch 문 제일 마지막 default : { 연산 } 을 명시해 조건이 모두 만족하지 않을 때를 수행한다.
👇 swich 문 코드
package week02_Condition;
public class SwitchTest {
public static void main(String[] args) {
// switch 조건문
int week = 7; // 7번째 case문 실행 -> Sunday
String weekString = "";
switch (week) {
case 1:
weekString = "Monday";
break;
case 2:
weekString = "Tuesday";
break;
case 3:
weekString = "Wednesday";
break;
case 4:
weekString = "Thursday";
break;
case 5:
weekString = "Friday";
break;
case 6:
weekString = "Saturday";
break;
case 7:
weekString = "Sunday";
break;
default:
weekString = "모르겠다 ";
}
System.out.println(weekString);
}
}
if 문과 switch 문의 차이
1. 복합 조건
✓ if 문은 복합 조건을 지원해서 조건 괄호 안에 여러 조건을 지정해 조건문을 수행
✓ switch 문은 피연산자 한 개에 대한 조건만 지원
2. 코드 중복
✓ if 문은 상대적으로 코드 중복이 많지만 switch 문은 적다.
if 문으로 가위바위보 만들기
반복문
✅ 자바에서 특정 조건에 따라 동일한 연산을 반복해서 수행하고 싶을 때 사용한다.
for 문
특정 조건에 따라 연산을 반복해서 수행하고 싶을 때 사용하는 문맥이다.
반복할 때 마다 값을 증가시키려면 증가연산을 조건을 만족할 때 회차마다 연산을 수행하고 조건이 만족하지 않으면 종료한다.
for 문 구성
for (초기값, 조건문, 증가연산) { 반복할 연산 }
for(int i=0; i < 4; i++) { // 변수 i 값은 0 ~ 3 까지 반복
System.out.println(i + "번째 출력"); // i 변수와 문자열 합치기
}
향상된 for 문
옵션. 보틍은 일반 for문을 사용하는데 나중에 공부하는 배열 [ ] 의 모든 요소를 순회하기 좋다.
기존 : for문 안에 3개의 조건, (초기값, 조건문, 증가연산)
향상된 for문 : 2개로 줄여줌
// 향상된 for 문
int[] numbers = {3,6,9,12,15};
for(int number: numbers) {
System.out.print(number + " ");
}
// 출력
3 6 9 12 15
while 문
for 문과 동일하게 특정 조건에 따라 연산을 반복해서 수행하고 싶을 때 사용하는 문맥.
다만, 초기값 없이 조건문만 명시하여 반복한다.
// while 문
int number = 0;
while(number < 3) {
number++;
System.out.println(number + "출력");
}
// 출력
1출력
2출력
3출력
☝️
위처럼 while 문으로 사용하면 조건문을 만족해야지만 연산이 반복 수행
한번 반복할 때마다 조건문을 체크해서 조건문이 불만족(false) 이면 반복을 중단
do - while 문
do { (연산) } while(조건문) 형태로도 사용
// do-while 문
int number = 4;
do {
System.out.println(number + "출력");
} while(number < 3); // 연산을 한번 수행 후 조건문 체크
// 출력
4출력
☝️
위처럼 do-while 문으로 사용하면 최초 1회 연산 수행 후 조건문을 체크하여 더 반복할지 결정
반복하게 된다면 이후에는 한번 반복할 때마다 조건문을 체크해서 조건문이 불만족(false) 이면 반복을 중단
break / continue
break : 반복문, switch 조건문 호출 시 중단
continue : for, while 에서 해당 순서를 패스하고 싶을 때
for (int i = 0; i < 10; i++) {
System.out.println("i: " + i);
if (i == 2) {
break; // i 가 2일때 가장 바깥 반복문이 종료됩니다.
}
for (int j = 0; j < 10; j++) {
System.out.println("j: " + j);
if (j == 2) {
break; // j 가 2일때 가장 안쪽 반복문이 종료됩니다.
}
// 출력
i: 0 // 바깥 반복문 부터 수행 시작
j: 0 // 안쪽 반복문 1회차 수행
j: 1
j: 2 // j 가 2일때 안쪽 반복문 break;
i: 1 // 바깥 반복문은 아직 break; 호출이 안됬으므로 다음 반복수행
j: 0 // 안쪽 반복문 2회차 수행
j: 1
j: 2 // j 가 2일때 안쪽 반복문 두번째 break;
i: 2 // i 가 2일때 바깥 반복문도 break; 호출되어 종료
⭐ 느낀점과 다음 할 일
자바의 핵심 문법인 조건문, 반복문을 배웠기 때문에 앞으로도 많이 사용하고 복습해야 한다.
배열과 다차원 배열을 배우면 자바의 핵심인 자료 구조에 대해 한 발짝을 내딛을 수 있다
'내배캠_Java 6기 > Java 문법 종합반' 카테고리의 다른 글
20240729_캠프 3주차 1일_컬렉션 (0) | 2024.07.29 |
---|---|
20240726_TIL_캠프 2주차 5일_자료구조 배열 (0) | 2024.07.26 |
20240725_캠프 2주차 4일_연산자 (0) | 2024.07.25 |
20240723_TIL_캠프 2주차 2일_변수의 종류, 형변환, 강의 과제 (8) | 2024.07.23 |
20240722_TIL_ 캠프 2주차 1일_자바 첫 프로젝트 생성과 변수에 대해 알아보기 (0) | 2024.07.22 |