IT 개발노트
제어문과 루프란? 본문
1. 제어문과 루프란?
1.1 제어문
: 어떤 상황을 판단하여 결과를 true 또는 false를 반환함
1.2 루프문
: 반복적으로 일어나는 행위
2. if문, switch문, for문, while문 의 이해
2.1 if문
: 만일 ~ 한다면... 으로 조건을 만족하는 경우에 해당 프로그램이 수행된다.
예시1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public static void main(String[] args) { int i = 10; int j = 20; int h = 10; if(i > j) { System.out.println("i가 j보다 큽니다."); } if(i == h) { System.out.println("i와 h는 같습니다."); } } |
2.2 if ~ else문
: true or false를 판단하여 해당 프로그램을 수행한다.
예시2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | public static void main(String[] args) { int i = 10; int j = 20; int h = 30; int k = 10; if(i > j) { System.out.println("i는 j보다 " + (i - j) + "만큼 더 큽니다."); } else { System.out.println("j는 i보다 " + (j - i) + "만큼 더 큽니다."); } if((i + j) == h){ System.out.println("i와 j의 합은 h와 같습니다."); } else { System.out.println("i와 j의 합은 h와 같지 않습니다."); } } |
2.3 if ~ else if문
: 다양한 조건 중 한가지를 선택해야 할 경우 사용한다.
예시3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public static void main(String[] args) { int seoulLunchPrice = 5000; if(seoulLunchPrice >= 9000) { System.out.println("서울 물가 많이 비싸네요."); } else if(seoulLunchPrice >= 7000) { System.out.println("서울 물가 조금 비싸네요."); } else if(seoulLunchPrice >= 5000) { System.out.println("서울 물가 적당 하네요."); } else { System.out.println("서울 물가 저렴 하네요."); } } |
예제1
: 사용자로부터 국어, 영어, 수학 점수를 입력 받아, 각 과목별 점수가 평균 이상인지 이하인지 구해보자.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("국어 점수를 입력하세요. "); int kor = scanner.nextInt(); // 국어 점수 System.out.println("영어 점수를 입력하세요. "); int eng = scanner.nextInt(); // 영어 점수 System.out.println("수학 점수를 입력하세요. "); int met = scanner.nextInt(); // 수학 점수 double ave = (kor + eng + met) / 3; System.out.println("평균 점수는 " + ave + "점 입니다."); if(kor > ave) { System.out.println("국어 점수는 평균보다 높습니다."); } else if (kor < ave){ System.out.println("국어 점수는 평균보다 낮습니다."); } else { System.out.println("국어 점수는 평균입니다."); } if(eng > ave) { System.out.println("영어 점수는 평균보다 높습니다."); } else if (eng < ave){ System.out.println("영어 점수는 평균보다 낮습니다."); } else { System.out.println("영어 점수는 평균입니다."); } if(met > ave) { System.out.println("수학 점수는 평균보다 높습니다."); } else if (met < ave){ System.out.println("수학 점수는 평균보다 낮습니다."); } else { System.out.println("수학 점수는 평균입니다."); } } |
2.4 switch문
: 어떤 변수의 값에 따라서 문장을 실행한다.
예시4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int i = scanner.nextInt(); int result = i % 2; switch (result) { case 0: System.out.println("입력하신 숫자는 짝수 입니다."); break; case 1: System.out.println("입력하신 숫자는 홀수 입니다."); break; default: System.out.println("잘 모르겠습니다.ㅎㅎ"); break; } } |
2.5 for문
: 미리 설정된 횟수만큼 반복적으로 수행
예시5
1 2 3 4 5 6 7 8 | public static void main(String[] args) { for (int i = 0; i < 5; i++) { int result = i + 10; System.out.println("i는 " + i + "입니다. \n" + "10 + i = " + result ); } } |
2.6 for문에서 break 활용
: 반복적으로 작업을 수행중에 break문을 만나면 switch문에서와 동일하게 for문을 빠져나옴
예시6
1 2 3 4 5 6 7 8 9 | public static void main(String[] args) { for (int i = 0; i < 5; i++) { System.out.println("i는 " + i + "입니다."); if (i >= 3) { break; } } } |
예제2
: 1에서 10까지의 합을 구해보자
1 2 3 4 5 6 7 8 9 10 11 | public static void main(String[] args) { int j = 11; int sum = 0; for (int i = 1; i < j; i++) { sum = sum + i; } System.out.println(sum); } |
예제3
: 1에서 10까지의 숫자 중 짝수들의 합을 구해보자
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public static void main(String[] args) { int j = 11; int sum = 0; for (int i = 1; i < j; i++) { int h = i % 2; if(h == 0) { sum = sum + i; } } System.out.println(sum); } |
예제4
: 구구단을 만들어 보자
1 2 3 4 5 6 7 8 9 10 11 | public static void main(String[] args) { for (int i = 1; i < 10; i++) { for (int j = 2; j < 10; j++) { System.out.print(j + " * " + i + " = " + ( j * i ) + "\t"); } System.out.println(""); } } |
2.7 while문
: 조건 하나만 이용하여 반복적인 작업을 할때 사용
예시7
1 2 3 4 5 6 7 8 9 10 | public static void main(String[] args) { int i = 0; while (i <= 5) { System.out.println("i는 " + i + "입니다."); i++; } } |
'기초튼튼 > JAVA' 카테고리의 다른 글
객체지향의 등장 배경과 이해 (0) | 2019.01.18 |
---|---|
배열이란? (1) | 2019.01.17 |
연산자란? (0) | 2019.01.15 |
기본 자료형과 객체 자료형의 이해 (0) | 2019.01.15 |
변수란? (0) | 2019.01.15 |