
초기값;
while(최종조건식) {
	반복시킬 명령어(들);
    증감식;
}
초기값;
do {
	반복시킬 명령어(들);
    증감식;
} while(최종조건식); //하나의 덩어리
for (int i=1; i<=5; i++) {
	명령1;
    명령2;
    if(조건)
    	continue;
    명령3; //continue를 만나면 i++인 증감식을 다음으로 실행하고, 명령 3,4는 실행되지 않는다.
    명령4;
}
사용자에게 임의의 수 n을 받아 다음과 같이 n!을 구하여 출력하는 프로그램
n을 입력하세요: 5
5*4*3*2*1 = __
import java.util.Scanner;
public class FactorialPractice {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n;
		int sum=1;
		
		System.out.print("n을 입력하세요: ");
		n = sc.nextInt();
		
		int i=n; //i의 초기값이 n부터 시작
		while(i>=1) { //i가 1보다 크거나 같을때에
			sum *= i; //i를 곱한 값을 누적
			System.out.print(i);
			if(i != 1) {
				System.out.print("*");
			}
			i--;
			
		}
		System.out.print("=" + sum);
	}
}
중첩 while문을 이용하여 다음과 같이 동작하는 프로그램을 작성하세요.
줄 수를 입력하세요: 3
칸 수를 입력하세요: 5
*****
*****
*****
import java.util.Scanner;
public class StarPractice {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int a, b;
		System.out.print("줄 수를 입력하세요: ");
		a = sc.nextInt();
		System.out.print("칸 수를 입력하세요: ");
		b = sc.nextInt();
		int i = 1;
		while (i <= a) { //1부터 입력받은 줄 수 a만큼 실행
			int j = 1;
			while (j <= b) { //1부터 입력받은 칸 수 b만큼 실행
				System.out.print("*"); 
				j++;
			}
			System.out.println("");// 위쪽 while문을 탈출하면 다음 줄로 넘어감.
			i++;
		}
	}
}
do~while문을 이용하여 2단부터 9단까지의 구구단을 모두 출력
public class GugudanAllDoWhilePractice {
	public static void main(String[] args) {
		int i = 2;
		do {
			System.out.println(i + "단");
			int j = 1;
			do {
				System.out.println(i + "*" + j + "=" + (i * j));
				j++;
			} while (j <= 9);
			i++;
			System.out.println("------------------------------------------------");
		} while (i <= 9);
	}
}
자신이 선택한 로또번호 6개를 배열에 저장하고 출력하는 프로그램을 작성
(1~45 숫자 중 6개 선택)
package day0331;
public class LottoPractice {
	public static void main(String[] args) {
		
		int []n = {6, 10, 21, 24, 35, 43};
		
		for(int i=0; i<n.length; i++) {
			System.out.print(n[i] + " ");
		}
		
	}
}
{1.0, 2.0, 3.0, 4.0}과 같은 초기값을 가지는 double형의 배열을 생성한다. 모든 배열 요소를 출력한 후에 모든 요소를 더하여 합을 출력하고 요소 중에서 가장 큰 값을 찾아서 출력하는 프로그램을 작성하라.
public class Practice129_10 {
	public static void main(String[] args) {
		double []data = {1.0, 2.0, 3.0, 4.0};
		double sum=0, max=0;
		
		for(int i=0; i<data.length; i++) {
			System.out.print(data[i] + " ");
			sum += data[i];  //i값을 누적
			
			if(data[i] > max) { //최대값 출력
				max = data[i];
			}
		}
		System.out.println();
		System.out.println("합은 " + sum);
		System.out.println("최대값은 " + max);
	}
}
"Hello", "Java", "World"를 가지고 있는 문자열의 배열을 생성해보자. 화면에 배열 요소를 출력하는 프로그램을 작성해본다.
public class Practice130_11 {
	public static void main(String[] args) {
		String []data = {"Hello", "Java", "World"};
		
		for(int i=0; i<data.length; i++) {
			System.out.println(data[i]);
		}
	}
}
다음과 같이 학생들의 성적을 받아서 배열에 저장했다가 합계와 평균을 구하는 프로그램을 작성하라. -1이 입력되면 반복을 종료한다.
성적을 입력하세요: 10
성적을 입력하세요: 20
성적을 입력하세요: 30
성적을 입력하세요: -1
합계: 60
평균: 20.0
package day0331;
import java.util.Scanner;
public class Practice130_12 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int []data = new int[4];
		
		int total=0;
		
		for(int i=0; i<data.length;) {
			System.out.print("성적을 입력하세요: ");
			 int n = sc.nextInt(); //입력 값을 n에 저장
			 
			 if(n == -1) { //n이 -1이되면 반복을 종료
				 break;
			 } else { //n이 -1이 아니면 n에 값을 넣고 i를 증감
				 data[i]=n;
				 i++;
			 }
		}
		
		for(int i=0; i<data.length; i++) {
			total += data[i]; //data[i]의 총합
		}
		double avg = total / (double)data.length; //data[i]값의 평균값
		
		System.out.println("합계: " + total);
		System.out.println("평균: " + avg);
	}
}
3 6 9 게임을 만들어보자. 369게임은 숫자에 3,6,9가 포함되어 있으면 3,6,9의 개수만큼 박수를 치는 게임이다. 1부터 50까지의 정수에 대하여 369게임을 실행한다.
1 2 짝 4 5 짝 7 8 짝 10 11 12 짝 ...
public class Practice128_03 {
	// 단순히 3의 배수에 짝을 출력하는 것이 아니라 10의 자리 수와 1의 자리의 각각이 3의 배수인지 판별하여 짝을 출력해야함.
	// 만약, i가 한 자리 숫자라면 그 수가 3의 배수인지 판별하여 짝을 출력하거나 아니면 그 숫자를 출력한다.
	// 만약, i가 두 자리 숫자라면 10의자리와 1의자리를 각각 구하여
	// 10의 자리가 3의 배수이고 1의 자리도 3의 배수라면 '짝짝' 출력
	// 그렇지 않고, 10의자리만 3의 배수이거나 1의자리만 3의 배수라면 '짝' 출력
	// 10의자리도 3의 배수가 아니고 1의자리도 3의 배수가 아니라면 그 수를 출력
	
	public static void main(String[] args) {
		int i = 1;
		int n10, n1;// n10은 10의자리를 저장할 변수, n1은 1의자리를 저장할 변수
		// 20 1의자리가 0일 때
		// 30
		do {
			n10 = i / 10;
			n1 = i % 10;
			if (i < 10) { // 1자리 숫자
				if (i % 3 != 0) { // 한자리 숫자일 때 3의 배수가 아닌 것은 i를 출력
					System.out.print(i + " ");
				} else {
					System.out.print("짝 ");
				}
			} else { // 두자리 숫자
				// 10의자리 처리
				if (n10 % 3 == 0) { // 10의자리가 3의 배수인가?
					if (n1 > 0 && n1 % 3 == 0) { // 1의자리도 3의 배수인가? (30도 출력되기때문에 n1>0이라는 조건을 넣어줌)
						System.out.print("짝짝 "); // 10의자리, 1의자리 모두 3의 배수일 때 짝짝
					} else {
						System.out.print("짝 "); // 10의자리만 3의 배수일 때 짝
					}
				} else { // 10의 자리가 3의 배수가 아닌 경우
					if (n1 > 0 && n1 % 3 == 0) { // 1의 자리가 0보다 크고, 1의 자리가 3의 배수일 때 짝
						System.out.print("짝 ");
					} else {
						System.out.print(i + " "); // 10의자리, 1의자리가 3의 배수가 아닌경우 i출력
					}
				}
				// 1의자리 처리
			}
			i++;
		} while (i <= 50);
	}
}