본문 바로가기

전체 글355

[JAVA] 백준 3052번: 나머지 / BufferedReader, HashSet 1. Scanner 이용 import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int[] arr = new int[10]; boolean bl; int cnt = 0; for(int i=0; i 2021. 12. 18.
[JAVA] 백준 2577번: 숫자의 개수 import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int sum = sc.nextInt() * sc.nextInt() * sc.nextInt(); int[] arr = new int[10]; while(sum > 0) { arr[sum % 10]++; sum /= 10; } for(int i=0; i < arr.length; i++) System.out.println(arr[i]); } } 2021. 12. 18.
객체지향 프로그래밍 Ⅱ 이 글은 남궁성 님의 Java의 정석 책을 바탕으로 정리한 글입니다. 상속 상속: 코드를 재사용하여 적은 양의 코드로 새로운 클래스를 작성하여 코드의 중복을 제거한다 포함: 클래스 멤버로 다른 클래스 타입의 참조변수를 선언한다 1. 생성자와 초기화 블럭은 상속되지 않는다. (멤버만 상속) 2. 단일 상속만 허용한다 (다중 상속 효과: 인터페이스) 3. Object 클래스: 모든 클래스의 조상 상속 관계 '~은 ~이다.(is-a)' : SportsCar는 Car이다 포함 관계 '~은 ~을 가지고 있다.(has-a)' : Empoyee는 Address를 가지고 있다 class TVCR extends TV { // 상속 VCR vcr = new VCR(); // VCR클래스를 포함 } 오버라이딩 조상 클래스로.. 2021. 12. 16.
객체지향 프로그래밍 Ⅰ 이 글은 남궁성 님의 Java의 정석 책을 바탕으로 정리한 글입니다. 클래스와 객체 인스턴스 · 클래스를 통해 생성된 객체 · 참조 변수를 통해서만 다룰 수 있다 둘 이상의 참조 변수가 인스턴스를 가리키는 것은 가능하지만 하나의 참조 변수가 여러 개의 인스턴스를 가리키는 것은 가능하지 않다 클래스 · 필드(field), 메서드(method), 생성자(constructor), 이너 클래스(inner class) → 멤버 public class ExampleClass { int x = 10; //필드: 속성 void printX() {...} //메서드: 기능 ExampleClass {...} //생성자: 클래스의 객체 생성 class ExampleClass2 {...} //이너 클래스 } · new 키워드.. 2021. 12. 2.
배열(array) 이 글은 남궁성 님의 Java의 정석 책을 바탕으로 정리한 글입니다. int[] score = new int[5]; // int형의 기본값인 0으로 초기화 int[] score = new int[] {50, 60, 70, 80, 90}; int[] score = {50, 60, 70, 80, 90}; int[] score; score = new int[] {50, 60, 70, 80, 90}; // score = {50, 60, 70, 80, 90}; 에러 int add(int[] arr) {/* 내용 생략 */} int result = add(new int[] {100, 90, 80, 70, 60}); // int result = add({100, 90, 80, 70, 60}); 에러 // 참조변수의 .. 2021. 11. 25.
연산자(Operator) 이 글은 남궁성 님의 Java의 정석 책을 바탕으로 정리한 글입니다. 우선 순위: 산술(사칙 연산, 나머지, 쉬프트) > 비교 > 논리 > 대입 > 기타(형변환, 삼항, instanceof) 정수형은 0을 나눌 수 없다. ArithmeticException 문자 '2(2가 아니어도 된다)'를 숫자로 변환하려면 문자 '0'을 빼 주면 된다 → 50 - 48 = 2 char c1 = 'a'; // char c2 = c1 + 1; 컴파일 에러, 문자형과 정수형 연산은 결과가 정수형이므로 char에 담을 수 없다 char c2 = 'a' + 1; // 'a' + 1이 리터럴 간의 연산이기 때문에 에러 발생하지 않음 System.out.println(c2); // b 상수 또는 리터럴 간의 연산은 실행 과정 동안.. 2021. 11. 16.