[Java] ch4 제어문 정리

으닝·2023년 8월 31일
0

Study

목록 보기
14/14

01 if문

기본 구조

if (조건문) {
    <수행할 문장1>;
    <수행할 문장2>;
    ...
} else {
    <수행할 문장A>;
    <수행할 문장B>;
    ...
}

조건문을 테스트해서 참이면 if 문에 속한 문장들(수행할 문장1, 수행할 문장2)을 수행

거짓이면 else 문에 속한 문장들(수행할 문장A, 수행할 문장B)을 수행

비교연산자

비교 연산자설명
x < yx가 y보다 작다
x > yx가 y보다 크다
x == yx와 y가 같다
x != yx와 y가 같지 않다
x >= yx가 y보다 크거나 같다
x <= yx가 y보다 작거나 같다

조건연산자

연산자설명
x && yx와 y 모두 참이어야 참이다(and)
x
!xx가 거짓이면 참이다(not)

contains 메서드

  • list에 해당 item이 있는지 조사
  • list이름.contsains(item명) 형태로 사용

else if문

if (조건문) {
    <수행할 문장1> 
    <수행할 문장2>
    ...
}else if (조건문) {
    <수행할 문장1>
    <수행할 문장2>
    ...
} else {
   <수행할 문장1>
   <수행할 문장2>
   ... 
}

02 switch/case문

기본구조

switch(입력변수) { 
    case 입력값1: 수행문
         break;
    case 입력값2: 수행문
         break;
    ...
    default: 수행문
         break;
}
  • 입력변수의 값과 일치하는 case 입력값이 있다면 해당 case문에 속한 문장들이 실행
  • 입력 변수의 자료형은 byte, short, char, int, enum, String만 가능
  • break는 해당 case문을 실행한 뒤 switch문을 빠져나가기 위함
  • break문이 없으면 다음 case문에 속한 문장들이 실행됨
  • case가 하나도 실행되지 않으면 default문장이 실행됨

03 while문

while (조건문) {
    <수행할 문장1>;
    <수행할 문장2>;
    <수행할 문장3>;
    ...
}
  • 조건문이 참인 동안 while안의 문장을 수행

무한루프

  • 조건문 안을 true로

break

  • while문을 강제로 멈춰야 할 때 사용

continue

  • while 문의 맨 처음, 조건문으로 다시 돌아가게 하고 싶을 때
int a = 0;
while (a < 10) {
    a++;
    if (a % 2 == 0) {
        continue;  // 짝수인 경우 출력을 하지 않고 조건문으로 돌아간다.
    }
    System.out.println(a);  // 홀수만 출력된다.
}

04 for문

기본 구조

for (초기치; 조건문; 증가치) {
    ...
}
  • continue 동일하게 사용 가능 (for문의 처음으로 돌아감)
  • break 동일하게 사용 가능(for문을 벗어남)

이중 for문

구구단 출력 예시

  • System.out.print - 줄바꿈 문자를 포함하지 않고 출력
  • System.out.println - 마지막에 줄바꿈 문자를 포함하여 출력

05 for each문

기본 구조

for (type 변수명: iterate) {
    body-of-loop
}
  • iterate : 루프를 돌릴 객체, iterate 객체에서 한 개씩 순차적으로 변수명에 대입되어 for 문이 수행된
  • iterate에 사용할 수 있는 자료형은 루프를 돌릴 수 있는 자료형(배열이나 ArrayList 등)만 가능
  • 변수명의 type(자료형)은 iterate 객체에 포함된 자료형과 일치해야 함

예제

import java.util.ArrayList;
import java.util.Arrays;

public class Sample {
    public static void main(String[] args) {
        ArrayList<String> numbers = new ArrayList<>(Arrays.asList("one", "two", "three"));
        for (String number : numbers) {
            System.out.println(number);
        }
    }
}
  • 루프를 돌릴 객체 → ArrayList인 numbers (iterate)
  • string을 요소로 가진 ArrayList를 string인 number 변수에 순차적으로 대입
  • 따로 반복 횟수를 부여할 수 없고, 한 단계씩 순차적으로만 사용 가능
profile
아이쿠

0개의 댓글