본문 바로가기

JAVA/변수 및 객체, 기타

JAVA메모리구조 와 출력 메소드

 1.메모리구조

 

         RAM구조

Static

Static 예약어로 선정된 필드, 메소드가 저장되는 공간

HEAP

new 연산자(생성자)에

의해  동적으로 할당되고 저장되는 공간

STACK

메소드를 호출하면

자동생성,

메소드가 끝나면 자동 소멸

 

 

Static : 프로그램이 실행시 Static 예약어로 선정된 필드, 메소드가 메모리에 올라간다. 그렇기 때문에 접근제한자가 public일 경우 패키지의 모든 클래스에서 별도의 객체를 생성하지 않아도 가져다 사용 할 수 있다. 

사용시에는 클래스명.메소드() 또는 클래스명.변수 로 사용한다.

 

HEAP : new연산자에 의해 생성된 객체, 배열 등의 실제 값이 있는 공간이다. 자바에서는 사용을 안하게 되면 가비지 콜렉터가 자동으로 공간을 정리해준다.

 

STACK : 변수의 실제 값, HEAP에 생성된 객체나 배열의 주소값이 저장되있는 공간이다. 지역변수, 매개변수, 메소드 호출 스택등이 올라간다.

 

2.출력메소드

System.out.print(); : ()안에 있는 변수, 문자, 숫자, 논리 값을 모니터에 출력해준다.

System.out.println(); : 위와 동일하나 출력후 줄바꿈을 해준다. 

System.out.printf('문장',변수,값,등); :  문장에 넣은 형식에 따라 값이나 변수를 넣으면 문장에 맞춰 출력해준다.

ex) System.out.printf("%s과 %d학년 %s의 기말고사 점수는 %.2f이고 %c학점이다","컴공",3,"홍길동",3.4,'b');

   -> 컴공과 3학년 홍길동의 기말고사 점수는 3.40이고 b학점이다.

printf 메소드 형식

 

%d :정수형

%o : 8진수

%x :  16진수

%f : 실수(소수점 6자리)

%e :  지수형태 표현

%g :  대입값 그대로

%A : 16진수 실수

%c : 문자

%s : 문자열

%b논리형

 

 

정렬방법

%숫자d : 숫자 만큼 확보하고 오른쪽 정렬

%-숫자d: 숫자만큼 확보하고 왼쪽 정렬

%.숫자f: 소수점 을 숫자만큼까지 자리만 표시

 

escape 문자

\t :tab : 정해진 공간만큼 띄어쓰기

\n : new line : 출력하고 다음 라인으로 옮김

 

\\ : 역슬래쉬

\'   :작은따옴표 : 특수문자(역슬래쉬, 작은 따옴표, 큰따옴표)  사용시 역슬러시를 넣고 특수문자 넣어야함.

\"  : 큰따옴표

 

\u :유니코드 : 유니코드를 표시할 때 사용

 

 

 

 

'JAVA > 변수 및 객체, 기타' 카테고리의 다른 글

클래스  (0) 2019.12.15
객체란  (0) 2019.12.15
연산자  (0) 2019.12.13
데이터 오버플로우와 형변환  (0) 2019.12.12
변수란 무엇인가.  (0) 2019.12.12