반복문중 for문을 배워보자
for (초기식; 조건식; 증감식) {
for 와 if 를 사용하여 연습해보자
import java.util.Scanner;
public class ForExample {
Scanner sc = new Scanner(System.in);
/* for 문
* - 끝이 정해져 있는(횟수가 지정되어 있는) 반복문
*
* [작성법]
*
* for (초기식; 조건식; 증감식) {
* 반복 수행할 코드
* }
*
* - 초기식 : for문을 제어하는 용도의 변수 선언
*
* - 조건식 : for문의 반복 여부를 지정하는 식.
* 보통 초기식에 사용된 변수를 이용하여 조건식을 작성한다.
*
* - 증감식 : 초기식에 사용된 변수르
* for문이 끝날 때 마다 증가 또는 감소시켜
* 조건시의 결과를 변하게 하는 식
*/
public void ex1() {
// for 문 기초 사용법1
// 1~10 출력하기
// 1부터 10까지 1씩 증가하며 출력
// * 반복문은 조건식이 true일 때만 반복한다.
for (int i = 1 ; i <= 10; i++) {
System.out.println(i);
}
}
public void ex2() {
// 3에서 7까지 1씩 증가하며 출력
for (int i = 3; i <= 7; i++) {
System.out.println(i);
}
}
public void ex3() {
// 2 부터 15까지 1씩 증가하며 출력
for (int i = 2; i <= 15; i++) {
System.out.println(i);
}
}
public void ex4() {
// 1부터 입력받은 수까지 1씩 증가하며 출력
Scanner sc = new Scanner(System.in);
System.out.print("숫자 입력 : ");
int input = sc.nextInt();
for (int i = 1; i <= input; i++) {
System.out.println(i);
}
}
public void ex5() {
// 1 부터 입력 받은 수 가지 2씩 증가하며 출력
System.out.print("숫자 입력 : ");
int input = sc.nextInt();
for (int i = 1; i <= input; i +=2 ) {
System.out.println(i);
}
}
public void ex6() {
// 1.0부터 입력 받은 실수 까지 0.5씩 증가하며 출력
System.out.print("숫자 입력 : ");
double input = sc.nextDouble();
for (double i = 1.0 ; i <= input; i += 0.5) {
System.out.println(i);
}
}
public void ex7() {
// 영어 알파벳 A 부터 Z 까지 한줄로 출력
// ABCDEF....Z
// * char 자료형은 문자형이지만 실제로 정수를 저장한다.
for (int i = 'A'; i <= 'Z'; i++) {
System.out.print( (char)i );
}
System.out.println("\n---------------------------");
for(char i = 'A'; i <= 'Z'; i++) {
System.out.print(i);
}
}
public void ex8() {
// 10에서 1까지 1씩 감소하며 출력
for (int i = 10; i >= 0; i--) {
System.out.println(i);
}
}
public void ex9() {
// for문 응용 1: 반복문을 이용한 값의 누적
// 1부터 10까지 모든 정수의 합 구하기
int sum = 0; // 반복되어 증가되는 i의 값을 합계를 저장할 변수
// 0으로 시작하는 이유 : 아무것도 더하지 않음으로
// 정확한 결과를 도출할 수 있기때문
for (int i = 1; i <= 10; i++) {
// sum = sum + i
sum += i;
}
System.out.println(sum);
}
public void ex10() {
// for문 응용 2: 정수 5개를 입력 받아서 합계 구하기
int sum = 0;
for (int i = 1; i <= 5; i++) {
System.out.printf("입력 %d : ", i);
int input = sc.nextInt();
sum += input; // sum에 입력받은 input값 누적
}
System.out.println(sum);
}
public void ex11() {
// 정수를 몇 번 입력 받을지 먼저 입력 받고
// 입력된 정수의 합계를 출력
int sum = 0;
System.out.print("입력 받을 정수의 개수 : ");
int input1 = sc.nextInt();
for (int i = 1; i <= input1; i++) {
System.out.print("입력 "+ i + " : ");
int input2 = sc.nextInt();
sum += input2;
}
System.out.println("합계 : " + sum);
}
public void ex12() {
// 1부터 20까지 1씩 증가하면서 출력
// 단, 5의 배수 () 를 붙여서 출력
for (int i = 0; i <= 20; i++) {
if (i % 5 ==0) {
System.out.print("(" + i + ") ");
} else {
System.out.print(i + " ");
}
}
}
public void ex13() {
// 1부터 20까지 1씩 증가하면서 출력
// 단, 입력 받은 수의 배수는 () 표시
System.out.print("괄호를 표시할 배수 : ");
int input = sc.nextInt();
for (int i = 1; i <= 20; i++) {
if (i % input == 0) {
System.out.print("(" + i + ") ");
} else {
System.out.print(i + " ");
}
}
}
public void ex14() {
// [구구단 출력]
// 2~9 사이 수를 하나 입력받아
// 해당 단을 출력
// 닻, 입력받은수가 2~9 사이 숫자가 아니면 "잘못입력하셨습니다." 출력
System.out.print("출력할 구구단의 단수 : ");
int num = sc.nextInt();
if (num <= 9 && num >= 2) {
for (int i = 1; i <=9; i++) {
int num2 = num * i;
System.out.println(num + " X " + i + " = " + num2);
}
} else {
System.out.print("잘못입력하셨습니다.");
}
}
public void ex15() {
// [19단 출력기]
System.out.print("단 : ");
int dan = sc.nextInt();
if (dan <=19 && dan >=2) {
for (int i = 1; i <= 19; i++) {
int num = dan * i;
System.out.printf("%d X %d = %d\n", dan, i, num);
}
} else {
System.out.println("잘못입력하셨습니다.");
}
}