ForEx01
package ch06_For;
/*
* for 문
* - for ( 초기식 ; 조건식 ; 증감식 ) {
* 실행 코드
* }
*
* > 초기식 : 반복 횟수를 카운트하는 변수의 선언(생성)과 초기값 설정
* for 문 실행과 동시에 최초 한번만 실행
* 조건식 : 반복문 실행 확인
* 증감식 : 반복 횟수를 카운트하는 변수의 값을 증가 or 감소
*/
public class ForEx01 {
public static void main(String[] args) {
// 1 2 4
for(int i=0 ; i<3 ; i++) {
// 3
System.out.println(i);
}
// 1(한번만 실행) -> 2(참) -> 3 -> 4
// 2(참) -> 3 -> 4
// 2(참) -> 3 -> 4
// 2(거짓) -> 종료
for(int i=2 ; i>=0 ; i--) {
System.out.println(i);
}
}
}
ForEx02
package ch06_For;
public class ForEx02 {
public static void main(String[] args) {
int n = 5;
for(int i=1 ; i<=30 ; i++) {
if(i%n == 0) {
System.out.println(i);
}
}
System.out.println();
for(int i=n ; i<=30 ; i+=n) {
System.out.println(i);
}
}
}
ForEx03
package ch06_For;
public class ForEx03 {
public static void main(String[] args) {
int last = 10;
int tot = 0;
for(int i=1 ; i<=last ; i++) {
tot += i;
}
System.out.println("1 ~ " + last + " 까지의 합 : " + tot);
tot = (last + 1) * last / 2;
System.out.println("1 ~ " + last + " 까지의 합 : " + tot);
}
}
ForEx04
package ch06_For;
public class ForEx04 {
public static void main(String[] args) {
int dan = 7;
System.out.println("- " + dan + " 단 -");
System.out.println();
for(int i=1 ; i<=9 ; i++) {
System.out.println(dan + " X " + i + " = " + (dan*i));
}
}
}
ForEx05
package ch06_For;
public class ForEx05 {
public static void main(String[] args) {
for(int out=0 ; out<5 ; out++) {
for(int i=1 ; i<=5 ; i++) {
System.out.print(i + " ");
}
System.out.println();
}
System.out.println();
for(int dan=2 ; dan<=9 ; ++dan) {
System.out.println("- " + dan + " 단 -");
for(int i=1 ; i<=9 ; i++) {
System.out.println(dan + " X " + i + " = " + (dan*i));
}
System.out.println();
}
}
}
QuizFor
package ch06_For;
import java.text.DecimalFormat;
public class QuizFor {
public static void main(String[] args) {
// 지정한 숫자 만큼의 '*' 을 출력하는 코드를 작성하세요
// - 횟수 : 7
// *******
// 1 ~ 50 사이의 3과 7의 배수를 출력하고, 각각의 배수의 합을 구하는 코드를 작성하세요
// 단, 3의 배수이면서 7의 배수도 되는 수는 한번만 출력되어야 합니다
// 알파벳 대문자 A ~ Z 까지를 출력하는 코드를 작성하세요
// for 문이 한번 회전 될 때마다 알파벳 하나씩 출력됩니다
for (int i=0;i<8;i++) {
System.out.print('*');
}
System.out.println(" ");
System.out.println(" ");
int three = 0;
int seven = 0;
for (int i=0;i<51;i++) {
if ((i%3==0) && (i%7==0)) {
System.out.println(i);
three += i;
seven += i;
}
else if (i%3 ==0) {
System.out.println(i);
three += i;
}
else if (i%7==0) {
System.out.println(i);
seven += i;
}
}
System.out.println("3의 배수의 합 : " + three);
System.out.println("7의 배수의 합 : " + seven);
System.out.println();
for (int i=0;i<26;i++) {
System.out.printf("알파벳 : %c \\n",(65+i));
}
for (char ch='A'; ch<='Z'; ch++) {
System.out.print(ch);
if (ch != 'Z') {
System.out.print(" ");
}
}
System.out.println(" ");
System.out.println(" ");
// 아래와 같은 출력을 진행하는 코드를 작성하세요
// 1 2 3 4 5
// 6 7 8 9 10
// 11 12 13 14 15
// 16 17 18 19 20
// 21 22 23 24 25
for (int i=1; i<26;i++) {
System.out.printf("%3d", i );
if (i%5 == 0) {
System.out.println();
}
}
System.out.println(" ");
System.out.println(" ");
// 구구단 값을 아래와 같은 형태로 출력하는 코드를 작성하세요
// - 2 * 1 = 2, 3 * 1 = 3, 4 * 1 = 4, ... 9 * 1 = 9
// 2 * 2 = 4, 3 * 2 = 6, 4 * 2 = 8, ... 9 * 2 = 18
// .............
// 2 * 9 = 18, 3 * 9 = 27, 4 * 9 = 36, ... 9 * 9 = 81
for (int i=1; i<10; i++) {
for (int j=2; j<10; j++) {
if (j == 9) {
System.out.print(j + " * " + i + " = " + (i*j) + '\\n');
}
else {
System.out.print(j + " * " + i + " = " + (i*j)+ ", ");
}
}
}
// 첫날에는 통장에 1원을 입금하고, 둘째날 부터는 전날 입금액의 2배를 입금합니다.
// 위와 같은 방식으로 30일동안 입금한 총 금액을 구하는 코드를 작성하세요.
DecimalFormat df = new DecimalFormat("###,###");
int cash = 0;
int now = 0;
for (int i=1; i<31; i++) {
if ( i == 1 ) {
cash = 1;
}
else {
cash *= 2;
}
now += cash;
String bf_n = df.format(now);
String bf_c = df.format(cash);
System.out.printf("%d일차 입금 : %s %d일차 잔고 : %s \\n", i, bf_c, i, bf_n);
if (i == 30) {
System.out.println();
System.out.printf(" 총 금액 : %s " , bf_n);
}
}
}
}