Java

    [Java] 생성자 constructor - 구슬치기 게임

    1. 생성자 constructor - 구슬치기 게임 (1) 문제 다음 조건을 만족하는 클래스를 정의해보자. * 어린아이가 소유하고 있는 구슬의 개수 정보를 담을 수 있다. * 놀이를 통한 구슬의 주고받음을 표현하는 메소드가 존재한다. * 어린이의 현재 보유자산(구슬의 수)을 출력하는 메소드가 존재한다. 위의 두 번째 조건은 두 아이가 구슬치기를 하는 과정에서 구슬의 잃고 얻음을 의미하는 것이다.(이 문제 마지막까지 읽어야 필요한 메소드가 무엇인지 정확히 파악할 수 있다.) 위의 조건을 만족하는 클래스를 정의하였다면, 다음 조건을 만족하는 인스턴스를 각각 생성하자. * 어린이1의 보유자산 -> 구슬 15개 * 어린이2의 보유자산 -> 구슬 9개 인스턴스의 생성이 완료되면 다음의 상황을 main 메소드 내에..

    [Java] 생성자 constructor

    1. 생성자 constructor 생성자는 인스턴스가 생성되는 순간에 자동으로 호출되는 특별한 메소드로 인스턴스에 필요한 공간을 만들고 초기화하는 역할을 한다. - 생성자명은 클래스명과 대소문자까지 동일해야 한다. - 생성자는 반환하는 값이 있어서도 안되고, 정의해서도 안된다. - 생성자 내에서는 상수의 초기화가 가능하다. 2. 생성자 예제 - 삼각형 클래스 (1) 내용 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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 class Triangle { int width; int height; int area; public void initTriang..

    [Java] class 클래스 (삼각형 클래스 & 원 클래스 & 사과장수 클래스)

    1. class 클래스 - 생성자명과 클래스명은 동일하게 준다. 2. 삼각형 클래스 (1) 문제 ① 삼각형 클래스 만들기. - 멤버 변수(인스턴스 변수) : 밑변, 높이, 넓이 - 멤버 메소드(인스턴스 메소드) : 삼각형 초기화 하는 메소드, 삼각형의 면적 구하는 메소드, 삼각형의 현재 상태 출력하는 메소드(밑변, 높이, 넓이 출력) ② 삼각형 인스턴스 3개 만들기 - 밑변 10, 높이 5 - 밑변 4, 높이 2 - 밑변 20 높이 10 ③ ②에서 만든 삼각형 인스턴스들의 상태값 출력하기(밑변, 높이, 면적) (2) 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 26 27 28 29 30 31 32 33 34 35 36 37 38 3..

    [Java] 재귀메소드

    1. 재귀메소드 (1) 팩토리얼을 재귀메소드로 나타내기 1 2 3 4 5 6 7 8 9 10 11 12 class Test { public static int fac(int num) { if(num==1) return 1; else return num * fac(num-1); } public static void main(String[] args) { System.out.println(fac(5)); } } Colored by Color Scripter cs - 출력값 120 (2) 1부터 n까지의 합을 재귀메소드로 구현. 1 2 3 4 5 6 7 8 9 10 11 12 class Test { public static int add(int num) { if(num==1) return 1; else ret..

    [Java] 사용자 정의 메소드 & 예문

    1. 사용자 정의 메소드 1 2 3 4 5 6 7 8 9 10 11 class Test { public static void main(String[] args) { hi(); } public static void hi() { System.out.println("Hi") } } Colored by Color Scripter cs (1) void : 반환 값 없음 (2) 매개변수 : parameter - 사용자 정의 메소드는 메인 메소드의 위, 아래 어디에 있던지 위치는 상관이 없다. - JVM에 의해서 항상 메인 메소드가 가장 먼저 호출이 되고 실행된다. - 메인 메소드에서 사용자 정의 메소드를 호출 할 때에는 매개변수의 갯수도 동일하게 주어야 한다. - 메인 메소드에 의해서 호출된 사용자 정의 메소드는 ..

    [Java] 삼항 연산자 & short circuit evaluation

    1. 삼항 연산자 - 항이 3개가 필요하여 삼항 연산자라고 하며, '조건 연산자'라고도 한다. 1 2 3 4 5 6 7 8 9 10 class Test { public static void main(String[] args) { int bigNum = 0; int num1 = 5, num2 = 3; bigNum = num1 > num2 ? num1 : num2; System.out.println(bigNum); } } Colored by Color Scripter cs - 출력값 5 - 항1 : num1 > num2 - 항2 : ? num1 - 항3 : : num2 - ? 앞에 있는 값이 참이면 num1이 bigNum에 들어가고, 거짓이면 num2가 들어간다. (2) 삼항 연산자 예문 - 삼항 연산자를 ..

    [Java] 비트 연산자

    1. 비트 연산자 1 2 3 4 5 6 7 8 9 10 class Test { public satic void main(String[] args) { System.out.println(5&3); // 비트 & 연산자 (이항연산자) System.out.println(5|3); // 비트 | 연산자 (이항연산자) System.out.println(5^3); // 비트 ^ 연산자 (이항연산자) System.out.println(~5); // 비트 ~ 연산자 (항이 1개. 단항연산자) } } Colored by Color Scripter cs (1) 비트 AND 연산자 (&) - 상위 비트와 하위 비트 둘 다 1일 때만 1이고 나머지는 다 0 0 ~~~~~~~~~~~~~~~ 0 0 0 0 0 1 0 1 0 ~~..

    [Java] 데이터 타입. 자료형에 따른 연산

    1. 데이터 타입. 자료형에 따른 연산 (1) 1 2 3 4 5 6 7 8 9 10 11 12 class DataTypeTest { public static void main(String[] args) { short num1 = 10; short num2 = 20; short result = num1 + num2; // ↑ short result = (short)(num1+num2) 아니면 // ↑ int result = num1+num2 라고 해준다. } } Colored by Color Scripter cs - short는 2바이트 - 큰 자료형에서 작은 자료형으로 자동 형변환이 일어나지는 않는다. 그렇기 때문에 int보다 자료형이 작은 short형으로 자동 형변환이 일어나지 않기 때문에 (short..

    [Java] switch case 구문

    1. switch case 구문 (1) 메뉴 입력받아 출력하기 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 26 27 28 29 30 31 32 33 import java.util.Scanner; class Test { public static void main(String[] args) { int menu=0; Scanner sc = new Scanner(System.in); System.out.println("Menu"); System.out.println("1.피자"); System.out.println("2.스파게티"); System.out.println("3.햄버거"); System.out.println("4.스프"); S..

    [Java] 중첩 반복문

    1. 중첩 반복문 (1) 출력값 예상해보기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 package For; public class ForTest1 { public static void main(String[] args) { int i=0, j=0; for(i=0; i