728x90
조건문/반복문
@2024.03.13
프로그래밍하면서 필수로 쓰이는 조건문과 반복문에 대해서 알아보자
특히 이걸 배울 때 과제로 별 찍기, 피라미드/마름모 만들기 등..
정말 많이 고통받았던 기억이 생각난다.
if문
💡
제어문 중에 하나로, 순차적인 흐름 안에서 조건에 따라 제어할 필요가 있을 경우 사용
첫번째 사용법
if(조건문){
실행문;
}
- 조건문이 true일시, 실행문을 수행
두번째 사용법
if(조건문){
실행문 1;
} else{
실행문 2;
}
- 조건문이 true일시, 실행문 1을 수행하고, false일시 실행문 2를 수행
세번째 사용법
if(조건문 1){
실행문 1;
}
else if(조건문 2){
실행문 2;
}
else{
실행문 3;
}
- 조건문 1이 true일 시 실행문 1을 수행
- 조건문 2가 true일 시 실행문 2를 수행
- 두 조건문 모두 false일 시 실행문 3을 수행
switch문
제어문 중 하나로, 해당 경우에 맞는 경우, 그쪽으로 전환시키는 명령어
if문보다 가독성을 높일 수 있다.
switch(변수){
case 값1 :
실행문;
break;
case 값2 :
실행문;
break;
....
default:
실행문;
}
- 변수와 값이 동일하면 해당 아래 실행문을 실행시키며, default는 변수 값이 어떤 case에도 해당되지 않을 경우 실행된다.
- 여러 개의 case와 하나의 default가 올 수 있다.
- default문은 생략이 가능
//여러개의 case문 switch(변수){ case 1: case 2: System.out.println("A학점입니다!"); breakl ..... //변수의 값이 1이거나 2일시 "A학점입니다" 출력
- JDK 7 이상에서는 switch에서 String 타입을 사용할 수 있다.
- switch와 관련된 새로운 문법이 추가됨
JDK 14 → 표현식 확장
- switch 표현식을 확장하여 값을 반환할 수 있게 만듦
// Java 14의 Switch Expressions 예시 int day = 3; String dayType = switch (day) { case 1, 2, 3, 4, 5 -> "Weekday"; // 1에서 5 사이인 경우 case 6, 7 -> "Weekend"; // 6 또는 7인 경우 default -> "Invalid day"; // 위의 모든 case에 맞지 않는 경우 }; System.out.println("Day type: " + dayType); // 출력: Day type: Weekday
JDK 17 → 패턴 매칭
- switch문을 패턴 매칭과 함께 사용할 수 있도록 개선되었다.
- 이를 통해 더 다양한 패턴을 사용하여, 코드를 간결하고 가독성 있게 사용할 수 있다.
// Java 17의 Switch Pattern Matching 예시 Object obj = "Hello"; String result = switch (obj) { case String s -> s + " World"; // obj가 String일 경우 default -> "Unknown"; // 위의 case에 맞지 않는 경우 }; System.out.println("Result: " + result); // 출력: Result: Hello World
while문
- 해당 조건문은 앞 전에 미리 정리 해놨었다.
While문 (tistory.com)
for문
반복문중에 하나로, 주로 반복 횟수를 정확히 알고 있을 경우 사용
for(초기화; 조건식; 증감식){
실행문;
}
초기화
: 반복문에 사용할 변수를 초기화- for문 실행 시 ‘한번’만 실행함
조건식
: 조선식이 참일 때까지 계속 반복해라.
증감식
: 변수를 증가, 감소시키는 부분
향상된 for문(for each)
배열과 컬렉션의 모든 요소에 대해 순서대로 접근하는 방법
요소를 수정하지 않고 읽기만 할 때 가장 효율적
for(자료형 변수명 : 루프형 객체){
실행문;
}
- 루프형 객체에는 배열, 리스트 등이 들어간다.
- JDK5부터 지원
- 간편하고, 가독성이 좋은 코드
- ArrayIndexOutOFBoundException 회피
728x90