[자바의 정석] Chapter 4 조건문과 반복문
1. 조건문 if , switch
모든 switch문은 if문을 변경이 가능하지만, 모든 if문이 switch문으로 변경가능한 것은 아니다.
1.1 if문
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
if (조건식) { //조건식이 true일 때 수행될 문장들을 적는다. }
또는
if (조건식) 문장; //수행될 문장이 단 하나일 경우 {}대신 문장을 사용할 수 있다.
------------------------------------------------------------------
if (조건식){ //조건식이 true일 때 수행될 문장들을 적는다. } else{ //조건식이 false일 때 수행될 문장들을 적는다. }
또는
if (조건식) 문장; //조건식이 true일때 수행될 문장 하나를 적는다. else 문장; //조건식이 false일때 수행딜 문장 하나를 적는다.
------------------------------------------------------------------------ if (조건식1){ //조건식1의 연산결과가 true일 때 수행될 문장들을 적는다. }else if (조건식2){ //조건식2의 연산경과가 true일 때 수행될 문장들을 적는다. }else if (조건식3){ //조건식3의 연산결과가 true일때 수행될 문장들을 적는다. // .... }else{ //마지막에는 보통 else블럭으로 끝나며, else블럭은 생략가능하다 //위의 어느 조건식도 만족하지 않을 때 수행될 문장들을 적는다. } |
1.2 중첩 if문
중첩의 횟수에는 거의 제한이 없다.
1 2 3 4 5 6 7 8 9 10 11 12 |
if (조건식1){ //조건식1의 연산결과가 true일 때 수행될 문장들을 적는다.
if(조건식2){ //조건식1과 조건식2가 모두 true일 때 수행될 문장들 }else{ //조건식1이 true이고 조건식2가 false일 때 수행될 문장들 }
} else{ //조건식1이 false일 때 수행될 문장들을 적는다. } |
1.3 switch문
switch문의 조건식은 연산결과가 int형 범위의 정수값이어야 한다. Byte, short, char, int타입의 변수나 리터럴을 사용할 수 있다.
case문에는 오로지 리터럴이나 상수만들 허용. 변수는 허용되지 않는다.
break문을 만나면 전체 switch문을 빠져나간다. 만일, case문 아래에 break문을 생략하면 다른 break문을 만나거나 switch문 블록{}의 끝을 만날 때까지 나오는 모든 문장들을 수행
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
switch (조건식) { case 값1 : //조건식의 결과가 값1과 같을 경우 수행될 문장들 //... break;
case 값2 : //조건식의 결과가 값2과 같을 경우 수행될 문장들 //... break; //....
default : //조건식의 결과와 일치하는 case문이 없을 때 수행될 문장들 //.. } |
2. 반복문 for , while , do-while
for문은 주로 반복횟수를 알고 있을 때, 카운터가 반복문 내에 필요한 경우에 사용되고, 단순히 조건에 따른 반복만이 필요한 경우 while문이 사용된다.
2.1 for문
1 2 3 4 |
for (초기화;조건식;증감식) { //조건식이 true일 때 수행될 문장들을 적는다. } *반복하려는 문장이 단 하나일 때는 중괄호{}를 생략할 수 있다. |
2.2 while문
1 2 3 |
while (조건식) { //조건식의 연산결과가 true일 때 수행될 문장들을 적는다. } |
2.3 do-while문
while문은 조건식의 결과에 따라 블록{}이 한번도 수행되지 않을 수 있지만,. Do-while문은 최소한 한번은 수행될 것을 보장한다.
1 2 3 |
do{ //조건식의 연상결과가 true일 때 수행될 문장들을 적는다. } while(조건식); |
2.4 break문
2.5 continue문
반복문 내에서만 사용될 수 있으며, 반복이 진행되는 도중에 continue문을 만나면 반복문의 끝으로 이동하여 다음 반복으로 넘어간다. for문의 경우 증감식으로 이동하며, while문과 do-while문의 경우 조건식으로 이동한다.
continue문은 반복문 전체를 벗어나지 않고 다음 반복을 계속 수행한다는 점이 break문과 다르다.
주로 if문과 함께 사용되어 특정 조건을 만족하는 경우에 continue문 이후의 문장들을 수행하지 않고 다음 반복으로 넘어가서 계속 진행하도록 한다.
전체 반복 중에 특정조건을 만족하는 경우를 제외하고자 할 때 유용하다.
1 2 3 4 5 6 7 8 9 10 |
[예제 4-26] clss FlowEx26{ public static void main (String[] args){ for(int i=0; i<=10; i++){ if (i%3==0) continue; system.out.println(i); } } } |
2.6 이름붙은 반복문
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
[예제4-27] class FlowEx27 { public static void main(String[] args) { //for문에 Loop1이라는 이름을 붙였다. Loop1 : for(int i = 2; i <= 9; i++){ for(int j = 1; j <= 9; j++){ if(j == 5) break Loop1; break; continue Loop1; continue; System.out.println(i+"*"+j+"="+i*j); } //end of for i System.out.println(); }//end if Loop1 } } |
'공부해요 > JAVA' 카테고리의 다른 글
[ 자바의 정석 ] p2 ~ p15 (0) | 2014.07.26 |
---|---|
[ 자바의 정석 ] p18 ~ p38 (0) | 2014.07.26 |
[ 자바의 정석 ] p44 ~ p78 (0) | 2014.07.26 |
[ 자바의 정석 ] ch2 (0) | 2014.07.26 |
[ 자바의 정석 ] ch3-1 (0) | 2014.07.26 |