'Code/JAVA'에 해당되는 글 62건

Code/JAVA

배열

반응형


 배열 : 변수는 하나의 데이터만 저장 가능하지만, 배열에선느 같은 타입의 데이터들을 저장 할 수 있음 
         각 데이터에 index를 부여해놓은 자료구조 -> 주로 for문과 함께 사용

 - 선언 : 타입[] 변수; or 타입 변수[]; //선언함과 동시에 스택엔 변수가 주소값을 가지고, 힙에선 변수의 데이터가 있음 

 - 초기화 : 타입[] 변수 = null; 
 

 - 값 목록으로 저장 : 타입[] 변수 = {,,,,}; 
 

 - 배열 생성 : 타입[] 변수 = new 타입[길이];

 - 배열 길이 : 배열 변수.length; -> 자동으로 배열 길이 가져옴/ 인덱스 범위 넘으면 ArrayIndexOutOfBounds  Exception 발생  

* 기본타입(정수, 실수, 논리) : 0 or false, 참조타입(클래스[], 인터페이스[]) : null로 초기값  

 


 

 - 다차원 배열 ; 1차원 이상 행과 열로 구성된 배열 


 - 배열 복사 : 배열 한번 생성하면 크기 변경 할 수 없음 

                  -> 더 많은 저장 공간 필요하거면 새로 만들어서 전의 값 저장해야 함 


   저장 하기 위해서 for문 사용하거나 System.arraycopy() 메소드 사용 
   ex) System.arraycopy(Object scr, int srcPos, Object dest, int destPos, int length); 
   원본 배열, 복사 시작할 인덱스, 복사 배열, 복사 붙여넣을 인덱스, 복사할 배열의 크기 

 



 


- 커맨드 라인 입력


  public static void main(String[] args) -> String[] args 가 왜 필요하나? 
  메소드 처럼 main위에 String 값으로 args 넘겨주면 메인 실행 시 가져올 수 있음. 

  = java MainClassName "홍길동" "김아무개" -> 메인 실행 시 값 가져와 사용 가능 


*Integer.parseInt("int타입으로 바꿀 문자") : 문자를 숫자로 바꿔줌 
*Integer.toString("문자로 바꿀 숫자") : 숫자를 문자로 바꿔줌

 

반응형

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

클래스_1(클래스와 객체)  (0) 2019.06.18
열거 타입  (0) 2019.06.18
참조 타입  (0) 2019.06.18
Scanner를 통한 데이터 입력하기  (0) 2019.06.18
반복문 예제_for문(별 그리기 ver.5)  (0) 2019.06.18
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문으로 해결해도 상관은 없다. 결과는 같이 나오게 할 수 있다.

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

 

 

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

반응형
 [ 1 ]  [ 2 ]  [ 3 ]  [ 4 ]  [ 5 ]  [ 6 ]  [ 7 ] 

푸터바

태그

알림

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

카운터

  • Today :
  • Yesterday :
  • Total :