선택문과 반복문

한꼬북·2021년 7월 23일
0

Java

목록 보기
6/7
post-thumbnail

제어문 🤖

Java는 위에서 부터 아래로, 왼쪽에서 오른쪽으로 코드가 실행되는데,
상황에 따라서 특정 코드를 실행하지 않거나 반복하는 등 실행 흐름을 변경해야 하는 경우가 있다. 제어문을 사용해서 코드의 흐름을 제어하고,
제어문은 선택문과(if, if else, switch)
반복문으로(for, for each, while, do while) 나눌 수 있다.


선택문 🤨

if문

Boolean result1 = true;
Boolean result2 = false;
// 1
if(result1) System.out.println("선택문");
// 2
if(result1){
	if(result1) System.out.println("선택문");
}
// 3
if(result1){
	if(result2) System.out.println("선택문");
        else System.out.println("else 실행");
}
// 4
if(result1){
	if(result2) System.out.println("선택문");
        else if (result1) System.out.println("else if 실행");
        else System.out.println("else 실행");
}
  • if 문의 기본 형태는 1번 처럼if (조건) {실행코드}이며 실행코드가 1줄일 경우 {}를 생략할 수 있다.
  • 2번처럼 if문을 중첩해서 사용할 수 있으며
  • 3번은 2번에서 else를 추가해서 if(result2)가 거짓이기 때문에 System.out.println("else 실행");이 실행된다
  • 4번은 else if 를 사용해서 다른 조건을 붙였다 첫번째 블럭 if(result1)가 참이기 때문에 안에 코드가 실행되며 처음 만난 if(result2)는 거짓, else if (result1)가 참이기 때문에 System.out.println("else if 실행");가 실행된다.
    if문에서 (조건)에는 반드시 참, 거짓으로 판별할 수 있는 값이 들어와야 한다.

swich문

int result = 7;

switch(result){
    case 1: System.out.println("result = 1");
    break;
    case 5: System.out.println("result = 5");
    break;
    case 7: System.out.println("result = 7");
    break;
    default : System.out.println("result = ?");
    break;
}
  • switch문의 기본 형태는 switch(조건) case 값 : 실행코드로 이루어져 있다. 각 case 마다 break;를 해주지 않으면 switch문에서 빠져나오지 않고 아래 코드가 전부 실행되므로 꼭 써줘야 한다.
  • deault : 는 case들의 조건이 다 맞지 않았을 경우 실행됩니다.
  • 위 코드의 경우는 case 7:System.out.println("result = 7");가 실행되고 break;를 만나 switch문이 종료된다.

반복문 🎡

for, for each문

int[] arr = {1, 2, 3, 4, 5};
int length = arr.length;
// 1
for(int i = 0; i < length; i++){
    System.out.println(arr[i]);
}
// 2
for(int i: arr){
    System.out.println(arr[i]);
}
  • 1번째 for문의 기본 형태는 for(변수 초기화; 조건; 증감) {반복 실행 코드}로 이루어져 있다. 사용할 변수는 for문이 처음 시작될 때 한번만 초기화 되며 이후 조건을 거친 뒤 조건이 참일 경우 변수가 증감 되며 {}안에 코드들이 반복된다.
  • 사용할 변수는 여러개가 될 수 있으며 for문 밖에서 선언동시에 초기화를 시켜 사용하거나 할 수 있으며 변수 초기화나, 증감 부분을 생략 가능하다.
  • 2번째 for each문의 기본 형태는 for(변수 초기화 : 배열, ArrayList){반복 실행 코드} 이며 변수의 타입을 var로 지정하여 사용할 수 있다.(컴파일러가 변수의 타입을 대입된 리터럴로 추론함)

while문

int a = 10;
while(a>0){
    // 반복할 코드 구현
    return null;
}
  • while, do while로 나눌 수 있으며 while다음에 오는 ()안에는 조건이 들어가는데 이 조건이 참일 경우 반복된다. do while에 경우에는 최초 한번은 무조건 코드가 실행되고 조건을 확인한다.
  • while의 경우 for문에 비해 무한 루프에 빠지기 쉽기 때문에 반복을 멈출 return을 잘 작성해줘야 한다.

for each문

String[] stringArr = {"apple", "banana", "strawberry" ,"blueberry"};
for(String i : stringArr){
    System.out.println(i);
    // stringArr에 들어있는 value가 하나식 출력
}
  • 기존에 쓰던 for문의 형태와 비슷하지만 for(변수타입 변수명 : 객체)의 형태로 이루어져 있으며 객체는 반복을 할 수 있는 형태인 Array, Collections 형태여야 한다.
profile
오히려 좋아, 자 가보자고!

0개의 댓글