Skip to content

Latest commit

 

History

History
192 lines (164 loc) · 4.5 KB

File metadata and controls

192 lines (164 loc) · 4.5 KB

04 제어문

04-01 if 문

1. if 문의 기본 구조

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

2. 조건문이란 무엇인가?

  • 참과 거짓을 판단하는 문장이다.
boolean money = true; 
if (money) { 
...
}

3. 비교 연산자

  • 우리가 아는 그것

4. and(&&), or(||), not(!)

  • 우리가 아는 그것

5. contains

  • List 자료형에는 해당 아이템이 있는지 조사하는 contains 메소드가 존재한다. if 조건문에 활용이 가능하다.
ArrayList<String> packet = new ArrayList<String>();
packet.add("paper");
packet.add("headphone");
packet.add("money");

if (packet.contains("money")) { // boolean 타입을 반환한다. 
	System.out.println("택시를 타고 가라");
} else {
	System.out.println("걸어가라");
}

6. else if (다중 조건 판단)

  • 우리가 아는 그것

04-02 switch/case 문

switch(입력변수) {
    case 입력값1: ...
         break;
    case 입력값2: ...
         break;
    ...
    default: ...
         break;
}
public class Sample {
    public static void main(String[] args) {
        int month = 8;
        String monthString = "";
        switch (month) {
            case 1:  monthString = "January";
                     break;
            case 2:  monthString = "February";
                     break;
            case 3:  monthString = "March";
                     break;
            case 4:  monthString = "April";
                     break;
            case 5:  monthString = "May";
                     break;
            case 6:  monthString = "June";
                     break;
            case 7:  monthString = "July";
                     break;
            case 8:  monthString = "August";
                     break;
            case 9:  monthString = "September";
                     break;
            case 10: monthString = "October";
                     break;
            case 11: monthString = "November";
                     break;
            case 12: monthString = "December";
                     break;
            default: monthString = "Invalid month";
                     break;
        }
        System.out.println(monthString);
    }
}

04-03 while 문

1. while문의 기본 구조

while (조건문) { 
	<수행할 문장1>; 
	<수행할 문장2>; 
	<수행할 문장3>; 
	... 
}

2. 무한루프(Loop)

  • 우리가 아는 그것!

3. while문 빠져 나가기(break)

  • 우리가 아는 그것!

4. while문 조건문으로 돌아가기(continue)

  • 우리가 아는 그것!

04-04 for 문

1. for 문의 구조

  • 우리가 아는 그것

2. for 문의 예제

  • 우리가 아는 그것

3. for과 continue

  • continue , break 모두 while 문과 동일하게 사용할 수 있다.

4. 이중 for 문

  • 우리가 아는 그것

04-05 for each 문

  • J2SE 5.0 부터 추가된 기능, 조건식 문법이 다소 다르고 for문을 활용한다.
// 기존의 forans 
String[] numbers = {"one", "two", "three"};
for (int i = 0; i < numbers.length; i++) {\
	System.out.println(numbers[i]);
}
//for each 문 
String[] numbers = {"one", "two", "three"};
for (String number:numbers) {
	System.out.println(number);
}
  • 해당 구문의 구조는 다음처럼 되어 있다.
for (type var: iterate) { 
	body-of-loop 
}
  • iterate 루프를 돌릴 객체가 var 에 들어가며, iterate 객체에서 순차로 대입하여 for문을 수행한다. 즉, 반복자가 구현된 자료형(배열 및 ArrayList 등)만 사용이 가능하다.
  • 단 반복회수를 명시해주는 것은 불가능, 1스텝씩의 순차적 반복에서만 사용이 가능하다.

04장 연습문제

Q5 ) A 학급에 총 10명의 학생이 있다. 이 학생들의 중간고사 점수는 다음과 같다.

int[] marks = {70, 60, 55, 75, 95, 90, 80, 80, 85, 100};

for each 문을 사용하여 A 학급의 평균 점수를 구해 보자.

public class Sample {  
    public static void main(String[] args) {
	    int[] marks = {70, 60, 55, 75, 95, 90, 80, 80, 85, 100};     
		ArrayList<Integer> newMarks = new ArrayList<>();  
		
		for (int i = 0; i < marks.length; i++) {
			newMarks.add(marks[i]);
		}
		System.out.println(newMarks);
		Integer Avg = 0;
		for (Integer number:newMarks) {
			Avg += number;
		}
		Avg /= marks.length;
		System.out.print("평균 값 : ");
		System.out.println(Avg);
	}
}