본문 바로가기
JAVA개념 시작하기

Java 5일차 - 1주일 치 정리 (변수~메소드)

by 가므로 2022. 10. 31.
1.별 3종류를 출력하시오 (이중 for문 2종류, 이중 for문 + if + else 조건문 1종류)
// 파일이름 : Assignment2_for1
// 작성자 : 박지인
// 작성일 : 2022년 10월 28일
// 목 적 : 3종류의 별을 출력하는 프로그램을 만드시오.

public class Assignment2_for1 {

	public static void main(String[] args) {
		System.out.println("<1>");
		for (int i = 1; i <= 5; i++) {
			for (int j = 1; j <= 5; j++) {
				System.out.print("*");
			}
			System.out.println();
		}

		System.out.println("<2>");
		for (int i = 1; i <= 5; i++) {
			for (int j = 1; j <= i; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
		System.out.println("<3>");
		for (int i = 1; i <= 4; i++) {
			for (int j = 1; j <= 4 + i; j++) {
				if (j <= 5 - i) {
					System.out.print(" ");
				} else {
					System.out.print("*");
				}
			}
			System.out.println();
		}

	}
}

// 결과
//<1>
//*****
//*****

//<2>
//*
//**

//<3>
// *
//***

 

2. '₩n'가 출력이 안되는 이유에 대해 설명하시오.

유니코드의 표

char ch = '가';
System.out.println(ch + '₩n')

'₩n'은 char로 취급이되므로, '가' 의 유니코드 값과 'n'의 유니코드 값이 덧셈으로 연산된 후,

자동형변환규칙에따라서 int 값으로 변환되어 출력된다.

 

이를 실행하기 위해서는 'n'을 "\n" 로 입력하여 string으로 인식하도록해야한다.

 

3.변수의 scope는?

 

변수의 scope

* 기본적인 설명

scope란 해당 변수가 접근할 수 있는 변수, 객체 그리고 함수의 집합을 의미한다.

 

* 강사님 설명

scope란 변수가 선언된 후 작동할 수 있는 블록으로, 해당 변수가 선언되어 있는 중괄호 내부영역이다. 자바에서는 클래스 밖에서의 변수선언, 동일한 영역 내에서의 동일한 변수의 중복선언이 불가능하다.

 

4.지역변수란? 

지역변수 설명 1
지역변수 설명2
변수 영역에 대한 설명

지역변수란 이름에서 느끼듯이 한 지역 내에서만 사용할 수 있는 변수다.

여기서 지역이란, 중괄호에 의해 만들어지는 영역을 뜻한다.

 

5.인스턴스 변수란?

 

변수 영역에 대한 설명 2

인스턴스 변수는 클래스 영역 내에 선언이 되고, 인스턴스를 생성할 때 만들어진다.

그렇기 때문에 인스턴스 변수의 값을 읽어 오거나 저장하기 위해서는 먼저 인스턴스를 생성해야한다.

인스턴스는 독립적인 저장공간을 가지므로 서로 다른 값을 가질 수 있다. 

인스턴스마다 고유한 상태를 유지해야하는 속성의 경우, 인스턴스변수로 선언한다.

 

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

클래스의 구성
클래스의 구성요소

* 기본적인 설명

자바에서 클래스는 멤버(member)로 속성을 표현하는 필드(field)와 기능을 표현하는 메소드(method)를 가진다.

또한, 클래스는 생성된 객체의 필드를 초기화해주는 특별한 메소드인 생성자(constructor)를 가집니다.

 

* 강사님 설명

클래스의 구성 : 변수(데이터)와 함수(기능: 변수 컨트롤)

클래스 의미

1) 클래스명.java (반드시 클래스명 이어야 한다.) 코딩 상에서의 클래스

2) 클래스명.class (컴파일 된 파일)

 

7. 원클래스를 만들고 메인 메소드를 가진 다른 클래스에서 원 객체를 생성하기. (객체 2개 생성)
// 파일이름 : Circle.java
// 작성자 : 박지인
// 작성일 : 2022년 10월 28일
// 목 적 :-원클래스를 만들것 -메인 메소드를 가진 다른 클래스에서 원 객체를 생성할것.


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

}

// 결과
// 아무 기능 없음

 

원 클래스

// 파일이름 : CircleTest.java
// 작성자 : 박지인
// 작성일 : 2022년 10월 28일
// 목 적 :-원클래스를 만들것 -메인 메소드를 가진 다른 클래스에서 원 객체를 생성할것.



public class CircleTest {
	public static void main(String[]args) {
		
		Circle circle = new Circle();
		
		circle.radius = 10;
		System.out.println(circle.getArea());
	}
}

//결과
//314.1592653589793

원 객체

8.객체란 무엇인가?

객체의 위치

객체(Object)란 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신과 다른 것을 식별가능한 것을 말한다. 예를 들어 물리적으로 존재하는 학생, 회원 등과 추상적인 생산, 주문, 배송 등이 모두 객체가 될 수 있다.

 

9. 1부터 n까지의 합 : n 표시에서 n=10까지 나타내시오 (객체 2개 생성, for문+if문)
// 파일이름 : Assignment1_Method_if3
// 작성자 : 박지인
// 작성일 : 2022년 10월 28일
// 목 적 : 1부터 n까지의 합 : n 표시에서 n=10까지 나타내시오


public class Assignment1_Method_if3{
	public static void main(String[]args){
    	int n = 100;
        sum1(n);
    }
	public static void sum1(int n) {
    	int sum = 0;
        for (int i = 0; i <= n; i++) {
        	sum += i;
        	if (i % 10 == 0) {
            	System.out.println("1부터"+i+"까지의 합 : "+sum);
            }
        }
    }
}

// 결과
// 1부터0까지의 합 : 0
// 1부터10까지의 합 : 55 ..
// 1부터 100까지의 합 : 5050

 

10. 1+...+10 = 55 출력 함수를 만드시오. (객체 2개 생성, for문)
// 파일이름 : Assignment1_Mathod_for.java
// 작성자 : 박지인
// 작성일 : 2022년 10월 28일
// 목 적 :1+...+10 = 55 출력 함수를 만드시오.


public class Assignment1_Mathod_for{
	public static void main(String[]args){
    	int n = 10;
        sum2(n);
    }
    public static void sum2(int n) {
    	int sum = 0;
    	for(int i = 1; i <= 10; i++) {
        	sum += i;
        	System.out.print(i+"+");
        }
        System.out.print(n+" = "+sum);
    }
}
// 결과
// 1+2+3+4+5+6+7+8+9+10+10 = 55

 

11.숫자 역방향 석탑을 만드시오.  (2중 for문)
// 파일이름 : Assignment1_Mathod_for2
// 작성자 : 박지인
// 작성일 : 2022년 10월 28일
// 목 적 : 숫자 역방향 석탑을 만드시오. 

 
public class Assignment1_Mathod_for2{
	public static void main(String[]args) {
		for (int i = 9; i >= 1; i--) {
			for (int j = 1; j <= i; j++) {
				System.out.print(j);
			}
			System.out.println();
		}
    }
}

// 결과
// 123456789
// 12345678 ...
// 1

 

12.별 문자의 석탑와 (n)를 함께 표현하시오. (이 때, n은 1~7 사이의 홀수, 순서는 역방향) (2중 for문)
// 파일이름 : Assignment1_for4
// 작성자 : 박지인
// 작성일 : 2022년 10월 28일
// 목 적 :-원클래스를 만들것 -메인 메소드를 가진 다른 클래스에서 원 객체를 생성할것.


public class Assignment1_for4 {
	public static void main(String[] args) {
		for (int i = 1; i <= 4; i++) {
			int cnt = 0;
			for (int j = 1; j <= 2 * (4 - i) + 1; j++) {
				System.out.print("*");
				cnt++;
			}
			System.out.println("(" + cnt + ")");
		}
	}
}

// 결과
// *******(7)
// *****(5)
// ***(3)
// *(1)