JAVA

JAVA for, do~for, while, for each

짱코딩러 2022. 7. 9. 17:18

for

반복횟수를 알때.

for(;;)  ->무한반복

for(;true;)

+증감식 콤마로 구분해서 한개 이상 사용 가능

  for(int i =0; i<10; sum+=i, i++)

package ch03;

public class ForEx01 {

	public static void main(String[] args) {
		int sum = 0;
		for(int i=0; i<=100; i++)
			sum +=i;
		System.out.println(sum);
	}

}
for (int i=1, j=10; i<=10; i++, j--) {
			System.out.println("i=" +i+ ",j=" +j);
		}
        
//변수 2개 사용할 수 있음.(대신 타입 같아야 됨)

 

중첩 for문

package ch03;

public class NestedLoop {

	public static void main(String[] args) {
		for(int i=1; i<10; i++) { //1단에서 9단
			for(int j=1; j<10; j++) { //각 단의 구구셈 출력
				System.out.print(i + "*" +j+ "=" +i*j); //구구셈 출력
				System.out.print('\t'); //하나씩 탭으로 띄기
			}
			System.out.println(); //한 단이 끝나면 다음 줄로 커서 이동
		}
	}
}

 

 

do~while

:블럭{}을 먼저 수행한 다음에 조건식을 계산한다.

import java.util.Scanner;

//숫자 맞추기
public class NumberEx {

	public static void main(String[] args) {
		int input, answer;
		answer = (int) (Math.random() * 100 + 1); // Math클래스는 double값을 받는다. random 메소드는 0.0~0.9999까지 리턴해줌.
		// 1~100까지 나오게 하기 위해 *100하고 +1해준다
		Scanner s = new Scanner(System.in);

		do {
			System.out.println("1~100사이의 정수를 입력하시오.");
			input = s.nextInt();
			if (input > answer)
				System.out.println("더 작은 수를 입력해서 맞춰보세요.");
			else if (input < answer)
				System.out.println("더 큰 수를 입력해서 맞춰보세요.");
		} while (input != answer);
		System.out.println("정답입니다!");

		s.close();
	}

}

 

while

:반복횟수를 모를 때 사용

  while (true)  ->무한반복

 

import java.util.Scanner;

public class NumberEx2 {

	public static void main(String[] args) {
		int num=0 , sum=0;
		
		Scanner s = new Scanner(System.in);
		System.out.println("숫자를 입력하세요.(ex : 12345)>> ");
		
		num = s.nextInt();
		while(num != 0) {  //횟수를 내가 정하는게 아니라 사용자가 원하는 숫자 만큼 돌게 함
			sum += num%10;  //마지막자리 숫자를 누적
			System.out.printf("sum = %3d num = %d%n", sum, num);
			num /= 10;   //마지막자리 빼고 나옴.
		}
		System.out.println("각 자리수의 합: " +sum);
		
		s.close();
	}

}

 

for each

for (int a :b)

:배열이나 나열의 각 원소를 순차적으로 접근하는데 유용한 for문

 // b에서 차례대로 객체를 꺼내 a에 넣겠다.

public class ForeachEx {
	enum Week {월, 화, 수, 목, 금, 토, 일}
	enum Fruit{사과, 배, 바나나, 체리, 딸기, 포도};

	public static void main(String[] args) {
		int [] n = {1, 2, 3, 4, 5};
		String[] names = {"사과", "배", "바나나", "체리", "딸기", "포도"};
		
		int sum = 0;
		for (int k :n){
			System.out.print(k+" ");
			sum += k;
		}
		System.out.println("합은 " +sum);
		
		for (String s :names)
			System.out.print(s+ " ");
			System.out.println();
		
		for(Week day:Week.values())
			System.out.print(day +"요일 ");
			System.out.println();
	}

}

 

'JAVA' 카테고리의 다른 글

JAVA 배열  (0) 2022.07.09
JAVA break, continue, return, Loop  (0) 2022.07.09
JAVA if문, if else문, switch문  (0) 2022.07.09
JAVA Scanner, BufferedReader  (0) 2022.07.09
JAVA 아스키코드표  (0) 2022.07.09