Day 10

·2023년 6월 20일
0

Global_2023_2

목록 보기
9/56

1. 아래 함수를 만드시오.

double area = getCircleArea(10);
System.out.println(area); //314.0

area = getRectangleArea(10,20);
System.out.println(area); //200.0
		
		area = getRectangleArea(40,20);
		System.out.println(area); //200.0
		
area = getTriangleArea(40,20);
System.out.println(area); //400.0
		
int code = getAscCode('A');
System.out.println(code); //65

double area = getCircleArea(10);
System.out.println(area); //314.0
}
public static double getCircleArea(double radius) {
final double pi = 3.14; // final 을 붙여서 상수로 만들기
return radius radius pi;
}
}

double area = getRectangleArea(10,20);
System.out.println(area); //200.0
}
public static double getRectangleArea(double width,double height) {
return width * height;
}

double area = getTriangleArea(40,20);
System.out.println(area); // 400.0
}
public static double getTriangleArea(double width,double height) {
return width * height / 2.0;
}

int code = getAscCode('A');
System.out.println(code); //65
}
public static int getAscCode(char ch) {
//char가 문자가 아니라 숫자라고 알려주는것
return (int) ch; // ()를 써주는게 좋은 표현
} // 스페이스 ' ' 는 32, '\n' 개행은 10
}


1.아래 메모리를 그리시오.

class Circle{
double radius;

public double getRadius() {
	return radius;
}

public void setRadius(double radius) {
	this.radius = radius;
}

public double getArea() {
	return radius * radius * Math.PI;
}	
}

=====
Circle circle = new Circle();

2. 아래의 메모리를 그리시오.

Rectangle rec = new Rectangle();

class Rectangle{
	double x,y;
    
	public double getArea() {
		return x * y;
	}	
}

3. 객체와 클래스의 차이는?

  • 클래스
class Student{
	int age;
}

와 객체

	Student kim = new Student();     

조합으로 사용

   
   class Student{
	int age;
	
	public void setAge(int age) {
		this.age = age;
	} // 세트 하는 것
	
	public int getAge() {
		return age;
	} // 가져 오는 것
}

1.클래스의 구성요소는 무엇인가?

필드
메소드
생성자

2.객체란 무엇인가?

  • 객체 :
    메모리의 2000~2008까지 데이터타입 공간
    (circle을 찾아가서 나머지 함수를 호출)
    ~2012 getRadius
    ~2016 setRadius
    ~2020 getArea

3.아래의 클래스를 작성하시오.

StraPrint strPrint = new StarPrint();
 
strPrint.printTriangle(3);
System.out.println();
strPrint.printReverseTriangle(3);
===============================
*
**
***
 
***
**
*
class StarPrint{
	void printTraiangle(int num) {
		for(int i=1;i<=num;i++) { 
		for(int j=1;j<=i;j++) { 
		System.out.print("*"); }
		System.out.println();	}
	}
	void printReverseTriangle(int num) {
		for(int i=1;i<=num;i++) { 
		for(int j=i;j<=num;j++) { 
		System.out.print("*"); }
		System.out.println();	}
	}}

4.아래의 프로그래밍을 작성하시오.

Gugudan gugudan = new Gugudan();
gugudan.printGugu(10); //1단부터 10단까지 출력
gugudan.printGugu(20); //1단부터 20단까지 출력

class Gugudan{
	void printGugu(int dan) {
		for(int i = 1; i <= dan; i++) {
			for(int j = 1; j < 10; j++) {
				System.out.println(i * j);
			}
		}
	}
	}

5. 아래 클래스를 작성하시오.

  • 클래스 Grade
  • 데이타멤버 : 국어, 영어,수학,총점,평균
  • 함수 : setGrade(......) //국어영어수학 세팅
  • getAvg() // 평균
  • getGrade() //평균에 따른 수우미양가

class Grade{
int kor, eng, math;
void setGrade(int kor, int eng, int math) {
this.kor = kor;
this.eng = eng;
this.math = math;
}
double getAvg(){
return (kor + eng + math) / 3.0; // double 이라서 .0을 붙여야 함
}
char getGrade() {
char ch = '가';
double avg = getAvg();
if(avg >= 90) {
ch = '수';
}
else if(avg >= 80) {
ch = '우';
}
else if(avg >= 70) {
ch = '미';
}
else if(avg >= 60) {
ch = '양';
}
else {
ch = '가';
}
return ch;}}
public class A230621 {
public static void main(String[] args) {
Grade kim = new Grade(); // new 가 메모리로 올리라는 뜻
kim.setGrade(90, 75, 60);
System.out.println(kim.getAvg());
System.out.println(kim.getGrade());
Grade park = new Grade();
park.setGrade(80, 50, 50);
System.out.println(park.getAvg());
System.out.println(park.getGrade());
Grade choi = new Grade();
choi.setGrade(100, 90, 100);
System.out.println(choi.getAvg());
System.out.println(choi.getGrade());} }

6. 아래의 클래스를 작성하시오.

	GetSum getsum = new GetSum(); // 1)객체 생성
	int num; // 2)num 변수 선언

	num = 100;

	getsum.setNum(num); // 3)getsum 객체의 setNum함수 호출, num값 50 저장

	num = getsum.sum(); // 4)getsum객체의 sum함수 호출, 1-50까지 합 구함
	System.out.println(num);

	getsum.setNum(1000);
	num = getsum.sum(); // 4)getsum객체의 sum함수 호출, 1-50까지 합 구함
	System.out.println(num);
    
   int num;
      void setNum(int num1) {
      num = num1;
   }   int sum() {
         int sum = 0;
      for(int i=1;i<=num;i++ ) {
         sum = sum +i;
      }
          return sum;      

오늘의 공부

  • 클래스 안, 함수밖에 넣는것

  • return; 은 메소드의 종료 혹은 값의 리턴을 의미

  • 중괄호 안에 있는 변수를 지역변수라고 한다

    • 매개변수 (함수안 변수)도 지역변수의 범위에 포함
    • 문법적으로 함수 안에 중괄호 넣을수는 있음 (실제로는 안씀)
      함수 안 중괄호 밖에 쓰려면 밑쪽에 (위쪽에 쓰면 겹쳐서 에러)
  • 아스키코드 스페이스 ' ' 는 32, '\n' 개행은 10

  • 함수 밖 변수는 인스턴스 변수

  • 데이터 = 변수 / 기능 = 함수

  • 객체 지향 언어 = 자바 = OOP(Object Oriented Programming)

  • 9번째 데이터타입 : 참조형 (4byte = 32bit, 타입은 클래스 자체)
    int num =
    circle circle = new circle();
    (클래스명) (변수명) (메모리로 올려라) (함수<생성자>)

0개의 댓글