
for 반복문
for 반복문 없이 10번 반복해서 출력 하려면 아래와 같이 코드가 쓰여진다.
System.out.println("1 - 헬로우 월드");
System.out.println("2 - 헬로우 월드");
System.out.println("헬로우 월드");
System.out.println("헬로우 월드");
System.out.println("헬로우 월드");
System.out.println("헬로우 월드"); ==>비효율적이다.
System.out.println("헬로우 월드"); ->만번 헬로우월드 출력 사실상 불가
System.out.println("헬로우 월드");
System.out.println("헬로우 월드");
System.out.println("10 - 헬로우 월드");
for 반복문 기본형식
for ( 초기식 ㄱ ; 조건식 ㄴ ; 증감식 ㄷ) {//반복문
System.out.println("헬로우 월드");
}
for (int i = 1; i <= 10; i++) {
System.out.println(i + "-헬로우 월드");
}
ㄱ -> ㄴ(0<10) 조건 참인지 거짓인지 판별해서 true이면 -> {}블럭실행 -> ㄷ 으로 인해 i가 1이됨
ㄴ(1<10) 조건 참인지 거짓인지 판별해서 true이면 -> {}블럭실행 -> ㄷ 으로 인해 i가 2가됨
ㄴ(2<10) 조건 참인지 거짓인지 판별해서 true이면 -> {}블럭실행 -> ㄷ 으로 인해 i가 3이됨
:
:
ㄴ(9<10) 조건 참인지 거짓인지 판별해서 true이면 -> {}블럭실행 -> ㄷ 으로 인해 i가 10이됨
ㄴ(10<10) false
//헬로우 월드

for문에서 조건식 자리가 없다면 무한루프가 발생한다.

for문에서 i를 선언할때 블록의 범위를 확인하고 선언해야한다.
블록의 범위에 따라 지역변수가 선언되는 범위가 달라져
코드의 에러가 발생할 수 도 있다.

조건에 따른 출력결과 확인해 봐야한다.

while문
for - 반복하는 횟수가 정해져 있을때
while - 반복 조건이 정해져 있을때
while문 기본형식
while (condition) {
//조건이 참일동안 반복해서 { }블록을 처리
}


while 조건식에 ++증감 연산자가 사용될때 결과
(6가지 예시)
[1] 2+3+4+5+6+7+8+9+10+=54
int i = 1, sum = 0;
while( ++i <=10) {
sum+=i;
System.out.print( i +"+");
}
System.out.println("="+sum);
[2] 2+3+4+5+6+7+8+9+10+11+=65
int i = 1, sum = 0;
while( i++ <=10) {
sum+=i;
System.out.print( i +"+");
}
System.out.println("="+sum);
[3] 2+3+4+5+6+7+8+9+10+11+=55 전위형
int i = 1, sum = 0;
while( i <=10) {
sum+=i;
System.out.print( ++i +"+");
}
System.out.println("="+sum);
[4] 1+2+3+4+5+6+7+8+9+10+=55 후위형
int i = 1, sum = 0;
while(++i <=10) {
sum+=i;
System.out.print( i++ +"+");
}
System.out.println("="+sum);
[5] 1+2+3+4+5+6+7+8+9+10+=55
int i = 1, sum = 0;
while(i <=10) {
sum+= i++;
System.out.print( i++ +"+");
}
System.out.println("="+sum);
[6] 2+2+3+4+5+6+7+8+9+11+=65
int i = 1, sum = 0;
while(i <=10) {
sum+= ++i;
System.out.print( i++ +"+");
}
System.out.println("="+sum);
do ~ while문
do~while 문은 조건식의 참 거짓을 판단하기 전에 '최소한 한 번'은 무조건 {}블록을 처리한 후에 조건식을 묻는다.
int i = 1, sum = 0;
System.out.print("i 값을 입력?");
Scanner sc = new Scanner(System.in);
i = sc.nextInt();
do {
System.out.println("헬로우 월드");
i++;
} while ( i<=10 ); //12 <=10 거짓
continue문
int sum = 0;
for (int i = 1; i <= 10; i++) {
if( i%2 ==0 ) continue; //=> continue문을 만나면 sum+=i; 밑에 코딩을 실행하지 않고 바로 증감식으로 넘어간다.
System.out.print(i+"+");
} //for