'Code'에 해당되는 글 161건
-
참조 타입2019.06.18
-
Scanner를 통한 데이터 입력하기2019.06.18 -
반복문 예제_for문(별 그리기 ver.5)2019.06.18 -
반복문 예제_for문(별 그리기 ver.4 )2019.06.18 -
반복문 예제_for문(별 그리기 ver.3)2019.06.18 -
반복문 예제_for문(별 그리기 ver.2)2019.06.18 -
반복문 예제_for문(별 그리기 ver.1)2019.06.18 -
반복문 예제_for문+Math.random() (로또 생성+중복확인 )2019.06.18 -
반복문 예제_while문(구구단 )2019.06.18 -
반복문 예제_for문(종이접기 사각형 )2019.06.18
참조 타입
데이터 타입 : 기본타입(정수타입, 실수타입, 논리타입) + 참조타입 (배열타입, 열거타입, 클래스, 인터페이스)
* 참조 : 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 |
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 |
반복문 예제_for문(별 그리기 ver.5)
ver.5 마름모 형태의 별 그리기 (조건 : for 2개 사용하기)

여기서 힌트는 어떻게 위아래로 나눌 것인가?
윗 삼각형은 ver.4와 일치한데 어떻게 밑도 할 것인가 생각해보자
안되면 조건(for 2개 쓰기) 제외하고 작성해보도록

저는 절대값을 이용하여 층을 구분하였다.
-2 ~ 2를 이용하여 절댓값이 2인 층은 2칸이 띄어지기 때문에 사용하였다.
* Math.abs() : 절댓값 구해주는 메소드
'Code > JAVA' 카테고리의 다른 글
| 참조 타입 (0) | 2019.06.18 |
|---|---|
| Scanner를 통한 데이터 입력하기 (0) | 2019.06.18 |
| 반복문 예제_for문(별 그리기 ver.4 ) (0) | 2019.06.18 |
| 반복문 예제_for문(별 그리기 ver.3) (0) | 2019.06.18 |
| 반복문 예제_for문(별 그리기 ver.2) (0) | 2019.06.18 |
반복문 예제_for문(별 그리기 ver.4 )
ver.4 트리 형태로 행이 증가할수록 별의 개수가 증가하도

ver.2 와 ver.3 이 합쳐진 그림이라 생각하면 된다.
힌트를 주자면 ver.3과 같이 앞에 여백을 신경쓰며, 행이 증가할 수록 별이 2씩 증가한다는 것을 신경쓰면 된다.

'Code > JAVA' 카테고리의 다른 글
| Scanner를 통한 데이터 입력하기 (0) | 2019.06.18 |
|---|---|
| 반복문 예제_for문(별 그리기 ver.5) (0) | 2019.06.18 |
| 반복문 예제_for문(별 그리기 ver.3) (0) | 2019.06.18 |
| 반복문 예제_for문(별 그리기 ver.2) (0) | 2019.06.18 |
| 반복문 예제_for문(별 그리기 ver.1) (0) | 2019.06.18 |
반복문 예제_for문(별 그리기 ver.3)
ver.3 오른쪽 직삼각형 출력

앞 ver.2의 좌우 반전시킨 모양이다.
힌트를 주자면 빈칸을 생각하자
1행은 앞에 빈칸 2개, 2행은 빈칸 1개, 3행은 빈칸 0임을 생각하면 문제를 풀 수 있다.

'Code > JAVA' 카테고리의 다른 글
| 반복문 예제_for문(별 그리기 ver.5) (0) | 2019.06.18 |
|---|---|
| 반복문 예제_for문(별 그리기 ver.4 ) (0) | 2019.06.18 |
| 반복문 예제_for문(별 그리기 ver.2) (0) | 2019.06.18 |
| 반복문 예제_for문(별 그리기 ver.1) (0) | 2019.06.18 |
| 반복문 예제_for문+Math.random() (로또 생성+중복확인 ) (0) | 2019.06.18 |
반복문 예제_for문(별 그리기 ver.2)
ver.2 왼쪽 직삼각형 출력

위와 같이 출력하기 위해 힌트를 주면
행이 증가할수록 별의 개수도 증가한다.
다음은 위의 결과를 도출하는 소스이다.

'Code > JAVA' 카테고리의 다른 글
| 반복문 예제_for문(별 그리기 ver.4 ) (0) | 2019.06.18 |
|---|---|
| 반복문 예제_for문(별 그리기 ver.3) (0) | 2019.06.18 |
| 반복문 예제_for문(별 그리기 ver.1) (0) | 2019.06.18 |
| 반복문 예제_for문+Math.random() (로또 생성+중복확인 ) (0) | 2019.06.18 |
| 반복문 예제_while문(구구단 ) (0) | 2019.06.18 |
반복문 예제_for문(별 그리기 ver.1)
반복문 for를 배우면 제일 유명한 별 그리기를 할 것이다.
ver.1 for문을 이용하여 4행 4열짜리 별을 출력하도록 해라

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

'Code > JAVA' 카테고리의 다른 글
| 반복문 예제_for문(별 그리기 ver.3) (0) | 2019.06.18 |
|---|---|
| 반복문 예제_for문(별 그리기 ver.2) (0) | 2019.06.18 |
| 반복문 예제_for문+Math.random() (로또 생성+중복확인 ) (0) | 2019.06.18 |
| 반복문 예제_while문(구구단 ) (0) | 2019.06.18 |
| 반복문 예제_for문(종이접기 사각형 ) (0) | 2019.06.18 |
반복문 예제_for문+Math.random() (로또 생성+중복확인 )
다음 예제는 로또 번호 생성하는 문제이다.
45까지 숫자 중에서 임의의 6자리를 뽑아 출력해야 하며, 중복이 되지 않아야 한다.
문제를 해결한 소스는 아래와 같다.
Math.random()*45 + 1 을 이용하여 1 ~ 45까지 무작위 난수를 받도록 하였으며,
for문을 이용하여 6개를 뽑도록 하였다.

'Code > JAVA' 카테고리의 다른 글
| 반복문 예제_for문(별 그리기 ver.2) (0) | 2019.06.18 |
|---|---|
| 반복문 예제_for문(별 그리기 ver.1) (0) | 2019.06.18 |
| 반복문 예제_while문(구구단 ) (0) | 2019.06.18 |
| 반복문 예제_for문(종이접기 사각형 ) (0) | 2019.06.18 |
| 자바 표준 라이브러리 API (0) | 2019.06.18 |
반복문 예제_while문(구구단 )
다음 예제는 while문을 이용하여 2단부터 9단까지 출력하는 구구단이다.
for문으로 해결해도 상관은 없다. 결과는 같이 나오게 할 수 있다.

형태를 보면 세로로 같은 단이 나오고, 가로로 단이 증가한다.
다음과 같은 실행결과가 나오도록 하는 구구단의 소스는 다음과 같다.

'Code > JAVA' 카테고리의 다른 글
| 반복문 예제_for문(별 그리기 ver.1) (0) | 2019.06.18 |
|---|---|
| 반복문 예제_for문+Math.random() (로또 생성+중복확인 ) (0) | 2019.06.18 |
| 반복문 예제_for문(종이접기 사각형 ) (0) | 2019.06.18 |
| 자바 표준 라이브러리 API (0) | 2019.06.18 |
| 조건식 예제_if-else + Math.random () (0) | 2019.06.18 |
반복문 예제_for문(종이접기 사각형 )
다음 예제의 문제이다
종이를 1번 접으면 사각형이 2개가 된다.
2번 접으면 4개가 되고, 3번 접으면 8개가 된다.
즉 접는 횟수가 증가할 때마다 2배씩 증가한다.
문제를 for문을 이용해서 풀어보면 다음과 같다.

shift 연산자 : << 왼쪽 이동 시 2배씩 증가를 이용하기 위해 사용
'Code > JAVA' 카테고리의 다른 글
| 반복문 예제_for문+Math.random() (로또 생성+중복확인 ) (0) | 2019.06.18 |
|---|---|
| 반복문 예제_while문(구구단 ) (0) | 2019.06.18 |
| 자바 표준 라이브러리 API (0) | 2019.06.18 |
| 조건식 예제_if-else + Math.random () (0) | 2019.06.18 |
| 조건식 예제_ if-else (0) | 2019.06.18 |