본문 바로가기

IT

6. 자바 - Enhanced for loop문, do~while문

do ~ while 문

while문과 다른점은 조건과 상관없이 무조건 한번은 실행시킨다.

putblic class DowhileExample {
	
    public static void main(String[] arge) {
    
    //정수를 입력받아 1부터 입력받은 숫자까지의 누적합을 구하는 코드
    Scanner scan = new Scanner(System.in);
    
    System.out.print("정수: ");
    int target = scan.nextInt();
    int sum = 0;
    int n = 1;
    
   /* 
    while ( n <= target) {
    	sum += n;
    	n++;
    }
    */
    
    do {
    	sum += n;
    	n++;
    }while(n <= target);
    
    System.out.print("1부터 " + n + "까지의 누적합은 ? " + sum);
    scan.close();
    
    //while의 결과는 0이 나오지만 do~while은 1이 나온다.

 

for문

public class ForExample {
	public static void main(String[] args) {
    
    	//7~100까지의 정수 중 7의 배수를 모두 가로로 출력
        int count = 0;
        for(int i=1; i <101; i++) {
        	if(i % 9 == 0)
        		count++;
       	}
        System.out.print(i);


		//1~100까지의 정수 중 8의 배수이면서 동시에 16의 배수가 아닌 수를 모두 가로로 출력
        for(int i = 1; i<=100; i++) {
        	if(i % 8 == 0 && i % 16 != 0) {
            	System.out.print(i + " ");
	}
}

    }
}

 

중첩 for문으로 구구단 만들기

public class MultiForEx {
	public static void main(String[] arge) {
    	
        for(int dan=2; dan<=9; dan++) {
        	System.out.println("구구단" + dan + "단");
            System.out.println("---------------------");
            for(int hang = 1; hang <= 9; hang++) {
            	System.out.printf("%d x %d = %d \n", dan, hang, dan * hang );
            }
            System.out.print("-------------------------")
        }
    }
}

 

Enhanced for loop문

java5버전부터 사용 가능.

for(엘리먼트 선언 : 배열 또는 컬렉션의 레퍼런스  { 실행문 };

// 요일을 반복해서 출력하는 코드
String[] weekDay = {"일", "월", "화", "수", "목", "금", "토"};

for(String day : weekDay) {
	System.out.println(day + "요일"};
    
//for문을 이용해 총점과 평균을 출력
int[] scores = {98, 71, 85, 67, 10, 68};

int sum = 0;
for(int score : scores) {
	sum += score;
}
System.out.println("점수 총점:" + sum + "점");

double avg =(double)sum / scores.length;
System.out.println("점수 평균:" + avg + "점");