선택문

  1. if
  • 만일 조건식이 참이면 괄호안의 문장들을 실행하라

if (true) { System.out.println(true); } if (조건식) 조건식이 true이면 {} block안의 내용을 실행하라

  • 조건식은 일반적으로 비교연산자와 논리연산자로 구성된다.

  • 조건식의 결과가 true 나 false가 되지 않는다면 에러가 발생한다.

  • 문장이 하나일경우 {} block을 생략할수 있다.

  1. if - else 문
  • if문의 변형으로 if문의 조건이 false일 경우 else {} 블럭이 실행된다.

if (true) { System.out.println(true); } else { System.out.println(false); } if (조건식) 조건식이 false일 경우 else { } block안의 내용을 실행하라

  • 문장이 하나일경우 {} block을 생략할수 있다.
  1. if - else if 문
  • 처리해야할 경우의 수가 3가지 이상일 때 사용된다.

if (true) { System.out.println(true); } else if (true){ System.out.println("else if True"); } else { System.out.println(false); } if (조건식) 조건식false 일 경우 else if (조건식) 의 조건식이 true 일 경우 else if {} block 안의 내용을 실행하라. else if (조건식) 의 조건식이 false 일 경우 else {} block 안의 내용을 실행하라.

  1. 중첩 if 문
  • if문안에 if문을 사용 할 수 있다.

if (true) { if (true) { System.out.println(true) } } if문의 조건식이 true 이고 block 안에 있는 if문의 조건식이 true 이면 {} 블록 안에 있는 System.out.println(true)을 실행하라.

  1. switch문
  • if문은 조건식의 결과가 참과 거짓 두가지 뿐이지만 switch문은 단하나의 조건으로 여러 경우의수를 처리 할 수 있다.

Switch (1) { case 1: System.out.println(1); break; case 2: System.out.println(2); break; default: System.out.println(3) } switch문의 조건식의 결과와 일치하는 case 문을 실행한다. case 값 과 같은 방식으로 이루어져 있으며 결과값은 값과 비교한다. 일치하는 결과값이 없을 경우 default문이 실행된다.

  • case문 내부에 break문을 빼먹는다면 switch {} 블럭의 모든 case들을 실행한다.

  • switch문의 제약조건

    1. switch문의 조건식 결과는 정수 또는 문자열 이어야 한다.
    2. case문의 값은 정수 상수만 가능하며, 중복되지 않아야 한다.

반복문

  • 반복문은 어떤 작업을 반복적으로 수행되도록 할 때 사용된다.
  • for문이나 while문에 속한 문장은 조건에 따라 한번 도 수행되지 않을 수 있지만
  • do while은 무조건 한번은 수행되는것이 보장된다.
  1. for문

    • for문은 반복 횟수를 알고 있을 때 적합하다.
    for (int i=1; i<=5; i++) { System.out.println("Print Number " + i); } 위의 조건문은 1부터 5까지 1씩 증가되는 for문 이며 1씩 증가될때 마다 {} block안의 내용을 실행한다. int i=1; 은 초기화 하는 부분 i<=5; 는 조건식이며 i++ 는 증감식이다. 두가지 변수 초기화 for (int i=1,j=0; i<=5; i++) { }
    • 초기화

      • 반복문에 사용될 변수를 초기화 하는 부분이며 한번만 실행된다.
      • 보통 1개만 사용되지만 2개를 사용하고 싶다면 , (콤마) 를 구분자로 변수를 초기화하면 된다.
        • 단 두 변수의 타입은 같아야 한다.
    • 조건식

      • 조건식 값이 참 이면 반복문을 계속하고 거짓이면 반복문을 중단하고 for문을 벗어난다.
    • 증감식

      • 반복문을 제어하는 변수의 값을 증가 또는 감소시키는 식
      for (int i=0; i<=10; i++) {} // i가 1씩 증가 for (int i=0; i<=10; i--) {} // i가 1씩 감소 for (int i=0; i<=10; i+=2) {} // i가 2씩 증가 for (int i=0; i<=10; i+=3) {} // i가 3씩 증가 for (int i=1, j=10; i<=10; i++, j--) // i는 1씩 증가 // j는 1씩 감소 for (; ;) // 초기화 , 조건식 , 증감식은 모두 생략 조건식은 참이되므로 무한반복된다.
    • for문 역시 중첩으로도 사용 가능하다.

  2. 향상된 for문 ( enhanced for statement)

for ( 타입 변수명 : 배열 또는 컬렉션) { //반복할 문장 } int[] arr = new int[10]; for (int a : arr) { //반복할 문장 }

  • 간결하지만 배열이나 컬렉션에 저장된 요소들을 읽어오는 용도로만 사용하는 제약이 있다.
  1. while문
  • 조건식이 참인 동안만 {} block 내의 문장을 실행하라

while (조건식) { // 조건식의 연산결과가 참인 경우만 실행 }

  • while문의 조건식은 생략 불가하다.
  1. do - while 문
  • do while문은 while문의 변형으로 while문과 구조는 같지만 앞에 do와 {} block이 붙어있어 이 block이 먼저 한번은 무조건 수행된다.

do { } while (조건식);

  • 한번은 수행되지만 그 이후로는 조건식이 참이여야 수행된다.
  1. break문
  • 자신이 포함된 가장 가까운 반복문을 벗어난다.
  • 주로 while에서 if문과 함께 while문을 탈출할때 많이 사용한다.

while (true) { System.out.println(true); if (true) { break; } }

  1. continue 문
  • continue문은 반복문 내에서만 사용될 수 있으며 반복이 진행되는 도중 continue문을 만나면 반복문의 끝으로 이동되어 다음 반복으로 넘어간다.
  • for문의 경우 증감식으로 이동되며
  • while과 do-while문은 조건식으로 이동한다.

while (true) { System.out.println(true); if (true) { continue; } } continue;를 만나면 다시 while의 조건문으로 이동한다. for (int i=0; i<10; i++) { System.out.println(true); if (true) { continue; } } continue를 만나면 증감식으로 이동한다.

출처

java의 정석

'백선생님 온라인스터디' 카테고리의 다른 글

7주차 - 패키지  (0) 2021.01.12
6주차 상속  (0) 2021.01.10
3주차 연산자  (0) 2021.01.07
연산자  (0) 2020.11.28
스터디 2주차 - 자바 데이터타입, 변수 그리고 배열  (0) 2020.11.21

+ Recent posts