Software Development/Java

[Java] for/while 반복문

Mei99 2024. 5. 31. 12:27

while(종료조건){반복작업}

for(초기화; 종료조건; 반복실행){반복작업}

 

 

for 문 CPU 순서

1. int i = 0  : 초기화(메모리 할당과 저장)

2. i < 5 : 종료조건(이때까지 반복)

3. System.out.println()

4. i++ : 반복실행(변수 값 변경)

2~4번 반복하다가 반복(i<5) 조건이 False가 되면 반복문 종료.  

* i++ => i = i+1

public class Loop {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		// 1
		// 2
		// 3
		// 4
		// 5
 		for(int i = 0 ; i < 5 ; i++ ) {
 			System.out.println(i+1);			
		}
 		
    }

}

 

 

 

while 문 CPU 순서

1. i <= 5 : 종료조건

2.  System.out.println()

1번이 True이면 계속 찍어내는데, 이것을 무한루프라 한다. (ex. 게임(미사일발사,이동), 키오스크)

public class Loop {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		
 		// for 반복문 안의 int i=1과는 다름.
 		int i = 1;
 		while(i <= 5){
 			System.out.println(i)
            }
 		
 		int i = 1;
 		while(i <= 5){
 			System.out.println(i);
 			i = i+1;  // i = i+1 또는 i++
		}		

	}

}

 

 

1부터 100까지의 홀수를 다 더한 값을 구하세요.

public class Loop {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

 		int total = 0;
 		for(int i=1; i<=100 ; i = i+2 ) {
 			total = total + i;
 		}
 		System.out.println(total);
 		
 		total = 0;
 		for(int i=1; i<=100 ; i++ ) {
 			if(i % 2 ==1) {
 				total = total +i; 				
 			}
 		}
 		System.out.println(total);
        
        	// while을 이용해서 1부터 100 사이의 홀수를 전부 더한값을 구하시오.
 		int k = 1;
 		int sum = 0;
 		while(k <= 100) {
 			sum = sum +k;
 			k = k+2;
 		}
 		System.out.println(sum);
 		
 		
	}

}

 

 

break : 반복문을 강제로 종료

public class Loop {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		 		
 		//1부터 100까지 다 더하는데
 		//합이 78보다 크면, 멈추고, 그때까지의 합한 값을 출력.
 		total = 0;
 		for( int j = 1; j <= 100; j++) {
 			
 			total = total +j;
 			if(total > 78) {
 				break;  //반복문 밖으로 나가기
 			}
 			
 		}
 		System.out.println(total);
        
        
	        int t = 1;
 		int plus = 0;
 		while(t <= 100) 
		plus = plus + t;
			if(plus>78) {
				break;
	 			t++;
 				
		}
 		System.out.println(plus); 	

	}

}