본문 바로가기

전체 글

(149)
Day05_loop_Test02 : 5개의 숫자를 입력으로 받기 (for문과 Scanner 활용) (★) (Q) 사용자에게 5개의 숫자를 입력 받기 package day05; import java.util.Scanner; public class Day05_loop_Test02 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); for(int i = 0 ; i < 5 ; i ++) { int a = sc.nextInt(); } sc.close(); } } - for 반복문을 이용하여 5번 입력받는 코드를 반복 - Scanner 끝에 sc.close(); 를 반드시 입력하기
day10 - 0804 생성자 (constructor) 생성자는 인스턴스가 생성될 때 호출되는 인스턴트 초기화 메서드이다. 인스턴스의 변수 초기화 또는 인스턴스 생성시 실행되어야 하는 작업을 위해서 사용된다 클래스명 (타입변수1, 타입변수2, ...) { // 인스턴스 생성시 초기화할 변수 또는 인스턴스 생성시 수행될 코드 } - 생성자의 이름은 클래스 이름과 같아야 한다 - 생성자는 리턴값이 없다 (void같은 반환형을 적을 수 없음) 1) 기본 생성자 - Java에서 생성자를 입력하지 않을 경우 기본 생성자가 자동으로 제공된다 클래스명() {}; 2) 매개변수가 있는 생성자 - 필드값을 매개하는 매개변수가 있는 생성자는 매개변수에 해당하는 값을 입력하지 않으면 객체를 생성할 수 없다 클래스명(매개변수1, 매개변수2, .....
day9 - 0803 객체 지향 프로그래밍 (OOP, Object-Oriented Programming) 실제에 존재하는 사물이나 개념을 객체라고 하며 객체를 프로그래밍 상으로 구현한 것을 인스턴스, 인스턴스를 만들기 위한 설계도를 클래스라고 한다 객체 (Object) 소프트웨어로 구현할 실제의 대상 (객체는 실제적 존재이며 프로그래밍에서의 어떤 존재가 아님) - 속성(property) - 기능(method) 클래스 (Class) 객체를 만들기 위해 객체의 속성(property)와 기능(function)를 사전에 정의해 놓은 것 (객체 생성틀) - 멤버 필드(member field) : 객체의 속성을 정의해 놓은 것 (멤버 변수(member variable)라고도 한다) - 메소드(method) : 객체의 기능을 정의해 놓은..
day8 - 0802 2차원 배열의 생성 자료형[][] 변수명 = new 자료형[2차원 배열 크기][1차원 배열 크기] - 2차원 배열의 크기 : 행렬의 행(row)과 같다 - 1차원 배열의 크기 : 행렬의 열(column)과 같다 1) 배열의 길이만 아는 경우 int[][] array = new array[3][5]; 2) 배열 내 데이터값을 아는 경우 int[][] array = new array[][] {{10, 20, 30, 40, 50}, {10, 20, 30, 40, 50}. {10, 20, 30, 40, 50}}; int[][] array = new array[][] { {10, 20, 30, 40, 50}, {10, 20, 30, 40, 50}. {10, 20, 30, 40, 50} }; 2차원 배열의 출력 -..
day7 - 0801 배열의 생성 변수종류[] 변수명 = new 변수종류[크기]; - 자료형 : int, double 등의 자료형 입력 - 변수명 : 변수 이름 입력 - 크기 : 배열의 크기 설정 1) 배열만 생성 (배열의 크기만 아는 경우) int[] array = new array[5]; - 크기 5인 배열 생성 2) 배열에 생성 후 값을 대입 (배열의 데이터를 아는 경우) int[] array = new array[] {50, 30, 10, 20, 40}; - 배열 생성 후 정수형 데이터 50, 30, 10, 20, 40을 대입 day07_array_Test01 : 배열의 필요성 (변수의 문제점) day07_array_Test02 : 배열의 생성 배열의 인덱스 int[] score = new int[] {55, 75, ..
Day6 - 0730 중첩 반복문 - for 구문을 여러번 사용하여 반복문을 만들 수 있다 - 반복문의 중첩은 2개까지 허용하며 그 이상은 비효율적이다 for(int j = 0 ; j < 60 ; j++) { for(int i = 0 ; i < 60 ; i++) { } } 1) 먼저 가장 안쪽에 있는 for 반복문에서 반복수 i가 0부터 60이 될 때까지 1씩 증가하며 반복한다 2) 반복수 i가 60이 되면 밖의 for 반복문에서 반복수 j가 1 증가한다 3) 이 과정을 반복하여 반복수 j가 0부터 60이 될 때까지 1씩 증가하며 반복한다 ** 중첩 반복문 응용 : 하루를 [sec] 단위로 매 초 전부 다 표시하는 방법 for(int hour = 0; hour < 24 ; hour++) { for(int min = 0; mi..
Day04_condition2_Test04 : 윤년 계산 (★) (Q) 사용자에게 연도와 월을 입력받아서 날짜 수를 구하는 프로그램을 구현 윤년 실제 지구가 태양을 공전하여 시작점으로 회귀하는데 걸리는 시간은 약 365일 + 6시간 4년동안 지구가 태양을 공전하는데 걸리는 실제 시간은 약 365*4일 + 1일 2월을 28일로 정할 때 4년마다 실제 지구가 태양을 공전한 시간과 율리우스력 사이의 오차를 보정하기 위해 2월에 1일을 추가해야 하는 년도 - 평년 : 2월의 날짜가 28일인 해 - 윤년 : 2월의 날짜가 29일인 해 정리하면 1. 연도가 4의 배수이면 윤년이다 (ex : 2020, 2024, 2028년은 윤년) 2. 4의 배수이지만 100의 배수이면 윤년이 아니다 (ex : 2100년은 윤년이 아니다) 3. 2번에 해당되더라도 400의 배수이면 윤년이다 (e..
Day04_condition2_Test03 : 해당 월의 마지막 날짜 출력 (switch ~ case 조건문) (Q) 사용자에게 월을 입력받아 해당 월의 마지막 날짜를 구하여 출력하는 프로그램을 구현하세요 - 2월은 28일까지 있다고 가정합니다 (윤년은 고려하지 않습니다) - 4, 6, 9, 11월은 30일까지 있습니다 -1. 3, 5, 7, 8, 10, 12월은 31일까지 있습니다 package day04; import java.lang.*; public class Day04_condition2_Test03 { public static void main(String[] args) { int month = 12; switch(month) { case 2: System.out.println("28"); break; case 4: case 6: case 9: case 11: System.out.println("30"..