'Code'에 해당되는 글 161건

Code/JAVA

참조 타입

반응형


데이터 타입 : 기본타입(정수타입, 실수타입, 논리타입) + 참조타입 (배열타입, 열거타입, 클래스, 인터페이스)

* 참조 : reference ,  참조 타입은 선언된 변수는 메모리 번지를 값으로 가짐, 즉 번지를 통해 객체 참조
* 변수 : 스택 영역에 생성, 객체는 heap영역에 생성

 





메모리 사용 영역
-운영체제에서 할당받은 메모리 영역 : 메소드 영역, 힙 영역, 스레드

1. 메소드 영역 : 클래스(.class)들을 클래스 로더로 읽어 클래스별 런타임 상수풀, 필드 데이터, 메소드 데이터, 메소드 코드, 생성자 코드 등을 분류해서 저장,  JVM이 시작할 때 생성되고 모든 스레드가 공유하는 영역


2. 힙(Heap) 영역 : 객체와 배열이 생성되는 영역, 힙 영역에서 생성된 객체와 배열은 JVM 스택 영역의 변수나 다른 객체 필드에서 참조


3. JVM 스택(Stack) 영역 : JVM 스택 영역은 각 스레드마다 하나씩 존재하며 스레드 시작할 때 할당


* 자바 프로그램에서 추가적으로 스레드를 생성하지 않았다면 main 스레드만 존재하므로 JVM 스택도 하나이다
 JVM 스택은 메소드 호출할 때마다 프레임(Frame)을 추가(push)하고 메소드 종료되면 해당 프레임을 제거(pop) 동작 수행
 예외 발생 시 printStackTrace() 메소드로 보여주는 stack Trace의 각 라인은 하나의 프레임을 표현


- Null : 참조 타입 변수에서 힙 영역의 객체를 참조하지 않는다. null로 초기화된 참조 변수는 스택 영역에 저장
- NullPointerExcepction :참조할 객체 없을 때 null 값 가지는 참조 타입 변수 사용 시 발생. arr 사용할 때 주로 발생


- String과 Char 차이 : Char 는 문자, '' 안에 2바이트 내 글자 허용 / String 은 문자열, "" 안에 사용 가능, 참조 변수

 

- <이것이 자바다1>. 한빛 미디어 

반응형

'Code > JAVA' 카테고리의 다른 글

열거 타입  (0) 2019.06.18
배열  (0) 2019.06.18
Scanner를 통한 데이터 입력하기  (0) 2019.06.18
반복문 예제_for문(별 그리기 ver.5)  (0) 2019.06.18
반복문 예제_for문(별 그리기 ver.4 )  (0) 2019.06.18
Code/JAVA

Scanner를 통한 데이터 입력하기

반응형

사용자에게 정보를 입력 받고 입력 받은 데이터로 처리하고 싶은 경우 사용할 수 있다.

 

Scanner 사용하

 

1. 스캐너 import 시키기 - 메인 클래스 상단에 추

import java.util.Scanner;

 

2. 스캐너 객체 생성 - Main() 메소드 안에 생성

Scanner sc = new Scanner(System.in)

- 숫자 입력 시 : int num = sc.nextInt();

- 문자 입력 시 : String str = sc.next();

 

3. 스캐너 닫기

sc.close();

 

 

다음은 스캐너로 입력 받는 예제이다.

 

 

 

 

 

해당 스캐너에 대한 정보는 API 에서 찾아보길 https://docs.oracle.com/javase/8/docs/api/

 

Java Platform SE 8

 

docs.oracle.com

 

 

반응형

'Code > JAVA' 카테고리의 다른 글

배열  (0) 2019.06.18
참조 타입  (0) 2019.06.18
반복문 예제_for문(별 그리기 ver.5)  (0) 2019.06.18
반복문 예제_for문(별 그리기 ver.4 )  (0) 2019.06.18
반복문 예제_for문(별 그리기 ver.3)  (0) 2019.06.18
Code/JAVA

반복문 예제_for문(별 그리기 ver.5)

반응형

ver.5 마름모 형태의 별 그리기 (조건 : for 2개 사용하기)

 

여기서 힌트는 어떻게 위아래로 나눌 것인가?

 

 

윗 삼각형은 ver.4와 일치한데 어떻게 밑도 할 것인가 생각해보자

안되면 조건(for 2개 쓰기) 제외하고 작성해보도록

 

 

 

 

 

저는 절대값을 이용하여 층을 구분하였다.

-2 ~ 2를 이용하여 절댓값이 2인 층은 2칸이 띄어지기 때문에 사용하였다.

* Math.abs() : 절댓값 구해주는 메소드

반응형
Code/JAVA

반복문 예제_for문(별 그리기 ver.4 )

반응형

ver.4 트리 형태로 행이 증가할수록 별의 개수가 증가하도

 

ver.2 와 ver.3 이 합쳐진 그림이라 생각하면 된다.

 

 

 

 

힌트를 주자면 ver.3과 같이 앞에 여백을 신경쓰며, 행이 증가할 수록 별이 2씩 증가한다는 것을 신경쓰면 된다.

 

 

반응형
Code/JAVA

반복문 예제_for문(별 그리기 ver.3)

반응형

ver.3 오른쪽 직삼각형 출력 

 

앞 ver.2의 좌우 반전시킨 모양이다.

 

 

 

 

힌트를 주자면 빈칸을 생각하자

1행은 앞에 빈칸 2개, 2행은 빈칸 1개, 3행은 빈칸 0임을 생각하면 문제를 풀 수 있다.

 

 

반응형
Code/JAVA

반복문 예제_for문(별 그리기 ver.2)

반응형

ver.2 왼쪽 직삼각형 출력 

 

위와 같이 출력하기 위해 힌트를 주면

행이 증가할수록 별의 개수도 증가한다.

 

 

 

다음은 위의 결과를 도출하는 소스이다.

 

반응형
Code/JAVA

반복문 예제_for문(별 그리기 ver.1)

반응형

반복문 for를 배우면 제일 유명한 별 그리기를 할 것이다.

ver.1  for문을 이용하여 4행 4열짜리 별을 출력하도록 해라

 

 

위의 결과를 보여줄 수 있는 for문 사용한 소스코드이다.

반응형
Code/JAVA

반복문 예제_for문+Math.random() (로또 생성+중복확인 )

반응형

다음 예제는 로또 번호 생성하는 문제이다.

45까지 숫자 중에서 임의의 6자리를 뽑아 출력해야 하며, 중복이 되지 않아야 한다.

 

 

 

 

문제를 해결한 소스는 아래와 같다.

Math.random()*45 + 1 을 이용하여 1 ~ 45까지 무작위 난수를 받도록 하였으며,

for문을 이용하여 6개를 뽑도록 하였다.

반응형
Code/JAVA

반복문 예제_while문(구구단 )

반응형

다음 예제는 while문을 이용하여 2단부터 9단까지 출력하는 구구단이다.

for문으로 해결해도 상관은 없다. 결과는 같이 나오게 할 수 있다.

형태를 보면 세로로 같은 단이 나오고, 가로로 단이 증가한다. 

 

 

다음과 같은 실행결과가 나오도록 하는 구구단의 소스는 다음과 같다.

반응형
Code/JAVA

반복문 예제_for문(종이접기 사각형 )

반응형

다음 예제의 문제이다

종이를 1번 접으면 사각형이 2개가 된다.

2번 접으면 4개가 되고, 3번 접으면 8개가 된다.

즉 접는 횟수가 증가할 때마다 2배씩 증가한다.

 

 

 

문제를 for문을 이용해서 풀어보면 다음과 같다.

 

 

shift 연산자 : << 왼쪽 이동 시 2배씩 증가를 이용하기 위해 사용

반응형

푸터바

태그

알림

이 블로그는 구글에서 제공한 크롬에 최적화 되어있고, 네이버에서 제공한 나눔글꼴이 적용되어 있습니다.

카운터

  • Today :
  • Yesterday :
  • Total :