국비 교육 내용 정리

2023년 06월 01일 수업내용 정리

jinpark1992 2023. 6. 1. 15:41

<quiz>

[ 배열을 통한 숫자 출력]

 

[코드값]

package ch05.array;

import java.util.Scanner;

public class numMakeQuiz {

public static void main(String[] args) {

String neonNumber[][] = {

{ "*****", "* *", "* *", "* *", "*****" },

{ " ** ", " * ", " * ", " * ", " *** " },

{ "*****", " *", "*****", "* ", "*****" },

{ "*****", " *", "*****", " *", "*****" },

{ " ** ", " * * ", "* * ", "*****", " * " },

{ "*****", "* ", "*****", " *", "*****" },

{ "*****", "* ", "*****", "* *", "*****" },

{ "*****", "* *", "* *", " *", " *" },

{ "*****", "* *", "*****", "* *", "*****" },

{ "*****", "* *", "*****", " *", " *" } };

String temp = " ";

Scanner scan = new Scanner(System.in);

while (true) {

System.out.println("1 에서 9 까지의 숫자를 입력하세요." + " 끝내려면 -1 입력하세요.");

temp = scan.next();

if (temp.equals("-1")) {

System.out.println("end");

break;

}

System.out.println("입력값 : " + temp);

 

for (int i =0; i < 5; i++) { //각 네온숫자 배열은 5칸으로 구성

for (int j = 0; j < temp.length(); j++) { //본격 네온사인 출력문

char ch = temp.charAt(j);

System.out.println(neonNumber[ch - 48][i] + "\t");

}

System.out.println();

}

}

}

}

[출력값]

1 에서 9 까지의 숫자를 입력하세요. 끝내려면 -1 입력하세요.

9

입력값 : 9

*****

* *

*****

*

*

1 에서 9 까지의 숫자를 입력하세요. 끝내려면 -1 입력하세요.

 

 

* Class 의 static 과 method 의 차이!

 

package ch06.obj1;

public class PhoneEx1 {

public static void main(String[] args) {

// Phone p1; => 참조변수 선언

// new phone () => 객체 생성, 객체화, 인스턴스화

// new 예약어 : 객체 생성 기능, 메모리 할당함.

// String을 제외한 모든 클래스의 객체 생성은 new 연산자로 가능함

Phone p1 = new Phone(); //100

p1.color = "검정"; p1.power = true; p1.no = "01012345678";

System.out.println(p1.color+","+p1.power+"," + p1.no);

p1.send("01043214321"); p1.receive("01043214321");

Phone p2 = new Phone(); //200

/* new 예약어 기능

* 1. 힙영역에 메모리 할당.

* 2. 멤버변수를 기본값으로 초기화 기본값 : 숫자 : 0, boolean : false, 그외 : null

* 3. 생성자 호출 기능

*/

System.out.println(p2.color +","+ p2.power + "," + p2.no);

 

p2 = p1; // p2 =100

/*

* p1 객체와 p2 객체는 같은 객체임(instance 동일).

* 하나의 객체는 두개의 참조변수가 참조가 가능함.

* 하나의 참조변수가 두개의 객체는 참조 불가능함.

*

*/

}

}

class Phone {

String color; boolean power; String no; //instance 변수

void power() { power = !power;} // instance method

void send(String no) { System.out.println(no + "로 전화 송신 중~~");}

void receive(String no){System.out.println(no + "전화 수신 중~~");}

}

package ch06.obj1;

// call stack 영역

// 재귀 메서드(함수) : 자신이 자신메서드를 다시 호출하는 메서드

// => 스텍 영역이 존재하므로 가능함.

public class FactorialEx {

public static void main(String[] args) {

System.out.println("4! =" + factorial(4));

//4*3*2*1

}

public static int factorial(int i) {

System.out.println(" i"+i);

return (i==1)?1:i*factorial(i-1);

 

}

}