본문 바로가기
JAVA

조건문/반복문

by 융디's 2024. 3. 31.
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문

for문

반복문중에 하나로, 주로 반복 횟수를 정확히 알고 있을 경우 사용
for(초기화; 조건식; 증감식){
		실행문;
}
  • 초기화 : 반복문에 사용할 변수를 초기화
    • for문 실행 시 ‘한번’만 실행함
  • 조건식 : 조선식이 참일 때까지 계속 반복해라.
  • 증감식 : 변수를 증가, 감소시키는 부분

향상된 for문(for each)

배열과 컬렉션의 모든 요소에 대해 순서대로 접근하는 방법
요소를 수정하지 않고 읽기만 할 때 가장 효율적
for(자료형 변수명 : 루프형 객체){
		실행문;
}
  • 루프형 객체에는 배열, 리스트 등이 들어간다.
  • JDK5부터 지원
  • 간편하고, 가독성이 좋은 코드
  • ArrayIndexOutOFBoundException 회피

728x90

'JAVA' 카테고리의 다른 글

배열  (1) 2024.03.31
Label  (0) 2024.03.31
삼항 연산자와 instanceof 연산자  (1) 2024.03.31
비트 연산자  (0) 2024.03.30
기본 타입 변환  (0) 2024.03.30