IT 개발노트
조건문과 반복문 본문
1. 조건문
1.1 조건문 - if, switch
- 조건문과 조건식은 실행될 하나의 문장 또는 블럭{}으로 구성 // if(조건식) { 문장들 }
- Java에서 조건문은 if문과 switch문 두 가지 뿐이다.
- if문이 주로 사용되며, 경우의 수가 많은 경우 switch문을 사용할 것을 고려한다.
- 모든 switch문은 if문으로 변경이 가능하지만, if문은 switch문으로 변경 할 수 없는 경우가 많다.
(switch문의 제약조건이 더 많기 때문이다.)
1.2 if문
- if문은 if, if-else, if-else if의 세가지 형태가 있다.
- 조건식의 결과는 반드시 true 또는 false이어야 한다.
if문 - 조건식의 예
int i = 0;
char ch = '';
String str = "";
if(i%2==0) { } // i가 2의 배수인지 판별할 때 사용
if(ch=='c' || ch=='C') { } // ch가 c혹은 C인지 판별할 때 사용
if(str.equals("c") || str.equals("C")) { } // 문자열은 ==이 아닌 equals를 사용해야 한다.
if(str.equalsIgnoreCase("c")) { } // equalsIgnoreCare는 대소문자를 구분하지 않고 구별한다.
문자열 -> 문자로 변환
str="3"; // "3" -> '3'
if(str!=null && !str.equals("")) {
ch = str.charAt(0);
}
boolean powerOn = false;
if(!powerOn) {
// 전원이 꺼져있으면...
}
1.3 중첩 if문
- if문 안에 또 다른 if문을 중첩해서 넣을 수 있다.
- if문의 중첩횟수에는 거의 제한이 없다. (1100번까지 중첩 가능)
1.4 switch문
- if문의 조건식과 달리, 조건식의 계산결과가 int범위 이하의 정수만 가능
- 조건식이 계산결과와 일치하는 case문으로 이동 후 break문을 만날 때까지 문장들을 수행한다.
(break문이 없으면 switch문의 끝까지 진행한다.)
- case문의 값으로 변수를 사용할 수 없다.(리터럴, 상수만 가능, JDK7부터 문자열도 사용 가능)
switch문 - 사용예
-> break문이 없기 때문에 case 3, case 2, case 1을 모두 수행하고 switch문을 빠져나간다.
- switch문에는값의 범위를 지정할 수 없어서 많은 case문을 적어줘야 한다.
- 위의 예시를 간단하게 바꿀 수 도 있다.
1.5 중첩 switch문
- switch문 안에 또 다른 switch문을 중첩해서 넣을 수 있다.
- switch문의 중첩횟수에는 거의 제한이 없다.
- 잘 사용되지 않는다.
1.6 if문과 switch문의 비교
- if문이 주로 사용되며, 경우의 수가 많은 경우 switch문을 사용할 것을 고려한다.
- 모든 switch문은 if문으로 변경이 가능하지만, if문은 switch문으로 변경 할 수 없는 경우가 많다.
- if문 보다 switch문이 더 간결하고 효율적이다.
-> if문의 경우 값을 하나씩 비교하며 결과를 출력하지만, switch문의 경우 매칭되는 값으로 바로 이동하기 때문에 같은 코드라면 switch문이 더 효율적이다.
2. 반복문
2.1 반복문 - for, while, do-while
- 문장 또는 문장들을 반복해서 수행할 때 사용
- 조건식과 수행할 블럭 { } 또는 문장으로 구성
- 반복횟수가 중요한 경우에 for문을 그 외에는 while문을 사용한다.
- for문과 while문은 서로 변경가능하다.
- do-while문은 while문의 변형으로 블럭 { }이 최소한 한번은 수행될 것을 보장한다.
2.2 for문
- 초기화, 조건식, 증감식 그리고 수행할 블럭 { } 또는 문장으로 구성
-> 반복하려는 문장이 단 하나일 때는 중괄호{ }를 생략할 수 있다.
for문 - 작성예
-> 변수 i가 for문 안에 선언되었기 때문에 for문 밖에서 사용이 불가능하다.
--> 위에 식처럼 사용하고 싶으면 i를 for문 밖에 선언해야한다.
2.3 중첩for문
- for문 안에 또 다른 for문을 포함시킬 수 있다.
- for문의 중첩횟수에는 거의 제한이 없다.
2.4 while문
- 조건식과 수행할 블럭 { } 또는 문장으로 구성
2.5 중첩 while문
- while문 안에 또 다른 while문을 포함시킬 수 있다.
- while문의 중첩횟수에는 거의 제한이 없다.
2.6 do-while문
- while문의 변형. 블럭 { }을 먼저 수행한 다음에 조건식을 계산한다.
- 블럭 { }이 최소한 1번 이상 수행될 것을 보장한다.
2.7 break문
- 자신이 포함된 하나의 반복문 또는 switch문을 빠져 나온다.
- 주로 if문과 함께 사용해서 특정 조건을 만족하면 반복문을 벗어나게 한다.
2.8 continue문
- 자신이 포함된 반복문의 끝으로 이동한다. (다음 반복으로 넘어간다)
2.9 이름 붙은 반복문과 break, continue
- 반복문 앞에 이름을 붙이고, 그이름을 break, continue와 같이 사용함으로써 둘 이상의 반복문을 벗어나거나 반복을 건너뛰는 것이 가능하다.
'기초튼튼 > JAVA' 카테고리의 다른 글
객체지향언어란? (0) | 2019.06.03 |
---|---|
배열 (0) | 2019.06.02 |
연산자(Operator) (0) | 2019.05.30 |
형식화된 출력과 화면 입력(printf() 와 Scanner) (0) | 2019.05.29 |
변수의 타입 (0) | 2019.05.28 |