ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Day 1 자바 기본 문법 학습
    코딩 테스트 2024. 12. 19. 20:06

     

     

     

     

     

     

    1. 자바 기초 문법

    1-1. 변수와 자료형

    * 변수: 데이터를 저장하는 공간.

    * 자료형: 변수의 데이터 타입을 나타냄.

     

    자료형 크기 예시
    int 4 bytes 정수형 (1, 2, 100)
    double 8 bytes 실수형 (3.14, 2.71)
    char 2 bytes 문자 ('A', 'b')
    String N/A 문자열 ("Hello")
    boolean 1 bit 논리형 (true/false)

     

     

     

     

    (예제: 변수 선언과 초기화)

    int age = 25;          // 정수형 변수
    double pi = 3.14;      // 실수형 변수
    char initial = 'J';    // 문자형 변수
    String name = "Java";  // 문자열 변수
    boolean isTrue = true; // 논리형 변수

     

     

     

     

     

     

     

     

     

    1-2. 조건문

    - 조건에 따라 실행 흐름을 제어하는 구조이다. 

     

    * if-else 조건문

    int score = 85;
    
    if (score >= 90) {
        System.out.println("A학점");
    } else if (score >= 80) {
        System.out.println("B학점");
    } else {
        System.out.println("C학점");
    }

     

     

     

    * switch 문

    - 특정 값에 따라 여러 경로 중 하나를 선택.

    int month = 3;
    
    switch (month) {
        case 1:
            System.out.println("January");
            break;
        case 2:
            System.out.println("February");
            break;
        case 3:
            System.out.println("March");
            break;
        default:
            System.out.println("Invalid month");
    }

     

     

     

     

     

     

    1.3 반복문

    - 코드 블록을 여러 번 실행하는 구조.

     

    * for 문

    for (int i = 1; i <= 5; i++) {
        System.out.println("Count: " + i);
    }

     

     

    * while 문

    int count = 1;
    while (count <= 5) {
        System.out.println("Count: " + count);
        count++;
    }

     

     

     

     

     

     

     

     

     

     

     

    2. 간단한 연산자

    - 자바에서 제공하는 기본 연산자들이다. 

     

    연산자 기능 예시
    + 덧셈 a+b
    - 뺄셈 a-b
    * 곱셈 a*b
    / 나눗셈 (몫) a/b
    % 나머지 a%b
    == 같음 비교 a==b
    != 같지 않음 a!=b
    && 논리 AND a&&b
    `   `

     

     

     

    (예제: 덧셈 계산기)

    int num1 = 10;
    int num2 = 20;
    int sum = num1 + num2;
    
    System.out.println("Sum: " + sum); // 출력: Sum: 30

     

     

     

     

     

     

     

     

     

     

     

     

    3. 간단한 실습 문제

     

    * 문제 1: 두 수의 합 계산

    - 두 정수를 입력받아 합을 출력하는 프로그램을 작성하세요.

     

    (입력 예시)

    10
    20

     

    (출력 예시)

    30

     

     

     

    (코드)

    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
    
            System.out.print("Enter first number: ");
            int num1 = sc.nextInt();
            System.out.print("Enter second number: ");
            int num2 = sc.nextInt();
    
            int sum = num1 + num2;
            System.out.println("Sum: " + sum);
        }
    }

     

     

     

     

     

     

     

     

     

     

     

     

     

    4. 백준 문제 도전

     

    * 문제: 두 수 비교하기 (백준 1330)

    * 문제 설명

    - 두 정수 A와 B가 주어졌을 때, 다음 세 가지 결과 중 하나를 출력하세요.

     

    • A > B → ">"
    • A < B → "<"
    • A == B → "=="

     

    (입력 예시)

    10 20

     

     

    (출력 예시)

    <

     

     

     

     

    (코드)

    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
    
            int A = sc.nextInt();
            int B = sc.nextInt();
    
            if (A > B) {
                System.out.println(">");
            } else if (A < B) {
                System.out.println("<");
            } else {
                System.out.println("==");
            }
        }
    }

     

     

     

     

     

     

     

     

     

    5. 추가 실습 문제

    * 문제 1: 홀수 / 짝수 판별

    * 문제 설명

    - 사용자로부터 정수를 입력받아, 해당 정수가 홀수인지 짝수인지 출력하는 프로그램을 작성하세요.

     

    (입력 예시)

    10

     

    (출력 예시)

    짝수입니다.

     

     

     

     

    (코드)

    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
    
            System.out.print("숫자를 입력하세요: ");
            int num = sc.nextInt();
    
            if (num % 2 == 0) {
                System.out.println("짝수입니다.");
            } else {
                System.out.println("홀수입니다.");
            }
        }
    }

     

     

     

     

     

     

     

     

     

     

    * 문제 2: 구구단 출력

    * 문제 설명

    - 사용자로부터 입력받은 숫자에 대한 구구단을 출력하는 프로그램을 작성하세요.

     

    (입력 예시)

    5

     

    (출력 예시)

    5 * 1 = 5
    5 * 2 = 10
    5 * 3 = 15
    ...
    5 * 9 = 45

     

     

     

     

    (코드)

    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
    
            System.out.print("출력할 구구단 단수를 입력하세요: ");
            int n = sc.nextInt();
    
            for (int i = 1; i <= 9; i++) {
                System.out.println(n + " * " + i + " = " + (n * i));
            }
        }
    }

     

     

     

     

     

     

     

     

    * 문제 3: 점수에 따른 학점 계산

    * 문제 설명

    - 사용자가 입력한 점수에 따라 학점을 계산하는 프로그램을 작성하세요.

     

    - 조건

    • 90점 이상: A
    • 80점 이상 90점 미만: B
    • 70점 이상 80점 미만: C
    • 60점 이상 70점 미만: D
    • 60점 미만: F

    (입력 예시)

    85

     

    (출력 예시)

    B

     

     

     

     

    (코드)

    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
    
            System.out.print("점수를 입력하세요: ");
            int score = sc.nextInt();
    
            if (score >= 90) {
                System.out.println("A");
            } else if (score >= 80) {
                System.out.println("B");
            } else if (score >= 70) {
                System.out.println("C");
            } else if (score >= 60) {
                System.out.println("D");
            } else {
                System.out.println("F");
            }
        }
    }

     

     

     

     

     

     

     

     

     

     

    * 문제 4: 최소/최대값 찾기

    * 문제 설명

    - 사용자로부터 입력받은 3개의 숫자 중 최소값과 최대값을 출력하는 프로그램을 작성하세요.

     

    (입력 예시)

    12 7 15

     

    (출력 예시)

    최소값: 7
    최대값: 15

     

     

     

     

    (코드)

    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
    
            System.out.print("세 개의 숫자를 입력하세요: ");
            int num1 = sc.nextInt();
            int num2 = sc.nextInt();
            int num3 = sc.nextInt();
    
            int min = Math.min(num1, Math.min(num2, num3));
            int max = Math.max(num1, Math.max(num2, num3));
    
            System.out.println("최소값: " + min);
            System.out.println("최대값: " + max);
        }
    }

     

     

     

     

     

     

     

     

     

     

    * 문제 5: 특정 범위의 합 구하기

    * 문제 설명

    - 사용자로부터 두 개의 숫자를 입력받아, 해당 범위에 있는 모든 정수의 합을 구하세요.

    (작은 수부터 큰 수까지의 합)

     

    (입력 예시)

    1 5

     

    (출력 예시)

    범위의 합: 15

     

     

     

     

    (코드)

    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
    
            System.out.print("두 숫자를 입력하세요: ");
            int num1 = sc.nextInt();
            int num2 = sc.nextInt();
    
            int start = Math.min(num1, num2);
            int end = Math.max(num1, num2);
            int sum = 0;
    
            for (int i = start; i <= end; i++) {
                sum += i;
            }
    
            System.out.println("범위의 합: " + sum);
        }
    }

     

     

     

     

     

     

     

     

     

     

     

     

    * 문제 6: 삼각형 출력

    * 문제 설명

    - 사용자로부터 숫자를 입력받아, 해당 숫자만큼의 높이를 가진 왼쪽 정렬된 삼각형을 출력하세요.

     

    (입력 예시)

    5

     

    (출력 예시)

    *
    **
    ***
    ****
    *****

     

     

    (코드)

    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
    
            System.out.print("삼각형의 높이를 입력하세요: ");
            int height = sc.nextInt();
    
            for (int i = 1; i <= height; i++) {
                for (int j = 1; j <= i; j++) {
                    System.out.print("*");
                }
                System.out.println();
            }
        }
    }

     

     

     

     

     

     

     

     

     

     

     

     

    * 문제 7: 팩토리얼 계산

    * 문제 설명

    - 사용자로부터 숫자를 입력받아 해당 숫자의 팩토리얼을 계산하는 프로그램을 작성하세요.

    (팩토리얼: n! = n x (n-1) x ... x 1)

     

    (입력 예시)

    5

     

    (출력 예시)

    5! = 120

     

     

    (코드)

    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
    
            System.out.print("팩토리얼을 계산할 숫자를 입력하세요: ");
            int num = sc.nextInt();
            int factorial = 1;
    
            for (int i = 1; i <= num; i++) {
                factorial *= i;
            }
    
            System.out.println(num + "! = " + factorial);
        }
    }

     

     

     

     

     

     

     

     

     

     

     

    * 문제 8: 피보나치 수열

    * 문제 설명

    - 사용자로부터 입력받은 숫자까지의 피보나치 수열을 출력하는 프로그램을 작성하세요.

    (피보나치 수열: 0, 1, 1, 2, 3, 5, 8, ...)

     

    (입력 예시)

    7

     

    (출력 예시)

    0 1 1 2 3 5 8

     

     

    (코드)

    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
    
            System.out.print("출력할 피보나치 수열 항의 개수를 입력하세요: ");
            int n = sc.nextInt();
    
            int a = 0, b = 1;
            System.out.print(a + " " + b + " ");
    
            for (int i = 3; i <= n; i++) {
                int next = a + b;
                System.out.print(next + " ");
                a = b;
                b = next;
            }
        }
    }

    '코딩 테스트' 카테고리의 다른 글

    Day 3 문자열 처리와 2차원 배열 강의  (0) 2024.12.22
    Day 2 함수와 배열  (2) 2024.12.20
Designed by Tistory.