[1주차] 자바 기초 문법

4240 단어 TILJavaSpringJava

반복문

for문 기본구조

for (시작조건; 반복을 계속할 조건; 더하기) {
      반복할 명령
    }
    

1번

for (int i=0; i<13; i++) {
      String fruit = fruits.get(i);
      System.out.println(fruit);
    }

2번

for (int i=0; i<fruits.size(); i++) {
      String fruit = fruits.get(i);
      System.out.println(fruit);

1번과 2번 코드의 차이점이 있다.
fruits.size(); 가 들어간 것인데

1번에서 i <13 이 fruits.size();가 된 것이다.
size()를 그 동안 100% 이해하고 있지는 못했는데 강의를 통해 제대로 알게 되었다.
i < 13 으로 쓸 경우에는 안의 배열 개수가 변경될 때마다 13의 자리에 개수를 항상 세어 주어야하지만, size()를 쓰게 되면 개수를 세지 않고 변경되는 값이 계속 들어와서
굳이 개수를 셀 수고를 덜어준다.

연습퀴즈

package com.sparta.week01.prac;

import java.util.ArrayList;
import java.util.List;

public class prac {
  public static void main(String[] args) {

    List<String> celebs = new ArrayList<>();
    celebs.add("아이유");
    celebs.add("린다G");
    celebs.add("은비");
    celebs.add("금비");
    celebs.add("비");
    celebs.add("차은우");
    celebs.add("남주혁");
    celebs.add("수지");
    celebs.add("정우성");
    celebs.add("제니");
    celebs.add("정국");

    for (int idx =0; idx < celebs.size(); idx++){
      System.out.println(celebs.get(idx));
    }
  }
}

List에 있는 연예인을 반복 출력한다.

조건문

조건문을 생각하면서 이렇게 하면 되겠지? 라고 생각하면 잘만 될 것 같은데
꼭 그렇지만도 않았던 것 같다.
자주 쓰고, 보고 했지만, 결국 계속 하지 않으면 잊어버리는 것 같다...

예제를 풀어보자

미성년자 여부 판별하기!

package com.sparta.week01.prac;

import java.util.ArrayList;
import java.util.List;

public class prac {
  public static void main(String[] args) {
    int age = 20;
    if (age > 19) {
      System.out.println("성인입니다.");
    } else {
      System.out.println("미성년자입니다.");
    }

  }
}

int age = 20 이라는 변수로 기준을 두고
만약 age가 19보다 크면 "성인입니다" 로 출력한다.
그게 아니면 "미성년자입니다."를 출력한다.

이렇게 코드를 보고 해석하는건 간단한 것도 같고, 쉬워보이지만
막상 직접 작성하려면 아직까지 약간 헤매는 기분...

연습퀴즈

package com.sparta.week01.prac;

import java.util.ArrayList;
import java.util.List;

public class prac {
  public static void main(String[] args) {
    public static int countFruit(String fruit) {
      List<String> fruits = new ArrayList<>();
      fruits.add("감");
      fruits.add("배");
      fruits.add("감");
      fruits.add("딸기");
      fruits.add("수박");
      fruits.add("메론");
      fruits.add("수박");
      fruits.add("딸기");
      fruits.add("메론");
      fruits.add("수박");
      fruits.add("메론");
      fruits.add("수박");
      fruits.add("감");
    }

  }
}

과일 개수 세는 반복문 만들기

package com.sparta.week01.prac;

import java.util.ArrayList;
import java.util.List;

public class prac {
  public static int countFruit(String fruit) {
    List<String> fruits = new ArrayList<>();
    fruits.add("감");
    fruits.add("배");
    fruits.add("감");
    fruits.add("딸기");
    fruits.add("수박");
    fruits.add("메론");
    fruits.add("수박");
    fruits.add("딸기");
    fruits.add("메론");
    fruits.add("수박");
    fruits.add("메론");
    fruits.add("수박");
    fruits.add("감");

    int count = 0;

    for (int i = 0; i < fruits.size(); i++) {
      String f = fruits.get(i);
      if (f == fruit) {
        count++;
      }
    }
    return count;
  }

  public static void main(String[] args) {
    int gam = countFruit("감");
    int subak = countFruit("수박");
    int straw = countFruit("딸기");

    System.out.println(gam);
    System.out.println(subak);
    System.out.println(straw);
  }
}

for문 예제문제에 사용하는 거의 모든 방법을 한꺼번에 적용한 듯 했다.
순간 이해가 잘 가지 않았는데 다행이 풀어냈다
아무래도 조건문과 반복문을 함께 쓰는 예제를 여러개를 풀어봐야겠다.

좋은 웹페이지 즐겨찾기