본문 바로가기
개발/java

1주차 - 자바란? , 변수

by areumtb 2016. 11. 4.

자바란?

객체지향형 프로그래밍 언어 

 

특징

1. 운영체제에 독립적이다. 

   *자바가상머신(Java Virtual Machine)을 통해서 가능하다.

   응용프로그램은 운영체제나 하드웨어가 아닌 JVM하고만 통신하여 전달받은 명령을 해당 운영체제가 이해할수 있도록

   변환하여 전달


2. 객제지향형언어이다. (OOP)

   상속,캡슐화, 다형성이 잘 적용된 순수한 객체지향형언어이다.


3. 자동으로 메모리관리를 해준다.

   가비지컬렉션이 자동적으로 안쓰는 메모리를 정리해준다. 따로 관리 할 필요가 없다.


4. 네트워크와 분산처리를 지원한다.

5. 멀티쓰레드를 지원한다.

6. 동적로딩을 지원한다.



*자바가상머신(Java Virtual Machine)

   자바로 작성된 어플리케이션은 모드 JVM에서만 실행되기 때문에 반드시 필요하다.

   일반 어플리케이션과 다르게 가운데 JVM을 한번 더 거치기 때문에 속도는 느리지만(최근엔 속도차가 거의 없음) 하드웨어에맞게

    완벽하게 컴파일된다. 

   OS에 종속적이기 때문에 해당 OS에 맞는 JVM이 필요하다.


 JAVA 어플리케이션

 JVM

  하드웨어 

 하드웨어 

  - JAVA 어플리케이션


 일반어플리케이션

  하드웨어 

  하드웨어 

  - 일반어플리케이션




변수 

값을 저장할 수 있는 메모리상의 공간

단 하나의 값을 저장할 수 있다.(여러번 저장시 마지막 값이 저장됨)



- 선언

   변수타입 변수이름;

     int number;


    변수의 초기화

      : 변수를 사용하기에 앞서 적절한 값을 저장  (종류에따라 생략가능, 적절한 값으로 초기화되는것이 좋음)

     int number = 10;


   * 지역변수는 사용 전 초기화반드시 해야한다. 

- 규칙

   필수규칙

    1. 대소문자가 구분

    2. 예약어사용 불가능

    3. 숫자로시작은 안됨

    4. 특수문자는 _ 와 $ 만 허용

  권장규칙

   1. 클래스 이름의 첫 글자는 항상 대문자

   2. 여러단어로 이루어진 단어의 첫 글자는 대문자로 한다.

   3. 상수의 이름은 대문자로, 여러 단어로 이루어진 경우엔 _ 로 구분한다. 




- 변수의 타입

    

   기본형 

    : int,long.char....  계산을 위해 값을 저장


   참조형

     : 기본형을 제외한 나머지 타입, 객체의 주소를 저장

      (참조형 주소는 null또는 객체의 주소를 값으로 갖는다.)

      (프로그래머가 직접 만들어 추가할 수 있어 수가 정해지지 않음)

      

     - 참조형 변수를 선언 할때는 변수의 타입으로 클래스의 이름을 사용하므로 클래스의 이름이 변수의 타입이 된다. 

        

       참조형 변수의 선언

  클래스이름 변수명;

         Date today;

참조변수의 초기화

    Date today = null;  또는 Date today = new Date();






- 기본형


 

 1byte

  2byte

  4byte

  8byte

 논리형

boolean 

 

 

 

 문자형

 

char 

 

 

 정수형

byte 

short 

int (기본)

long 

 실수형

 

 

 float

double (기본)


  논리형을 제외한 나머지타입들은 서로 변환이나 연산이 가능하다. 

 


1. 논리형 - boolean

     : true와 false 중 하나를 저장, 기본값은 false다.

       논리구현에 주로 사용된다.



2. 문자형 - char

     : 


3. 정수형 - byte,short,int,long


byte < short < int < long

   1       2        4       8





'개발 > java' 카테고리의 다른 글

이클립스 에러!! : Error creating bean with name 에러발생  (0) 2017.04.27
자바공부  (0) 2016.11.11
String,char  (0) 2016.11.09
진법  (0) 2016.11.04
진수변환  (0) 2016.11.03

댓글