Presentation is loading. Please wait.

Presentation is loading. Please wait.

JAVA 프로그래밍 2장 자바의 데이터타입.

Similar presentations


Presentation on theme: "JAVA 프로그래밍 2장 자바의 데이터타입."— Presentation transcript:

1 JAVA 프로그래밍 2장 자바의 데이터타입

2 학습목표 이장에서는 자바 프로그래밍을 하기 전에 익혀야할 자바의 기본 문법부분으로 자바의 데이터타입과, 키워드 그리고 자바의 연산자들에 대해 학습한다. 목차 Section1 자바 식별자(identifier)와 키워드(keyword) Section2 자바의 데이터타입(Data type) Section3 자바 연산자(Operator) JAVA 프로그래밍

3 2장-자바의 데이터타입 Section1 자바 식별자(identifier)와 키워드(keyword)
자바의 클래스명, 메소드명, 변수명에 사용되는 식별자와 자바의 키워드에 대해 학습한다. 자바에서 사용되는 데이터 타입들에 대해서 학습한다. Section2 자바의 데이터타입(Data type) 자바에서 제공하는 대입, 증감, 논리, 비트, 조건연산자등에 대해서 학습한다. Section3 자바 연산자(Operator) JAVA 프로그래밍

4 1. 자바 식별자(identifier)와 키워드(keyword) (1/3)
클래스명, 메소드명, 멤버변수명, 자동변수명등에 적용. 자바 식별자는 길이에는 제한이 없고 첫 글자는 반드시 영문자,_,$로 시작해야 한다. 식별자명의 첫 글자로 $를 사용할 수 있으나, 이것은 컴파일러에게 자바 식별자명을 생성하라는 의미로 사용되기 때문에 사용하지 않는 것이 좋다. 자바는 대소문자를 구별하므로 주의해야한다. JAVA 프로그래밍

5 1. 자바 식별자(identifier)와 키워드(keyword) (2/3)
클래스명의 작성규칙 클래스명의 첫 글자는 대문자로 시작하고 나머지는 소문자로 작성하고, 단어가 구별될 때는 다음 단어의 시작은 대문자로 시작한다. - ex) HelloWorld, Bank,… 메소드명 및 변수명 작성규칙 메소드명과 멤버변수, 자동변수의 경우 첫 글자는 소문자로 시작해서 단어가 구별될 때 다음 단어의 시작이 대문자로 시작된다. - ex) idCode, checkId(),… 자바코드는 유니코드(unicode)로 이루어져 있기 때문에 한글이름으로 된 클래스명, 메소드명, 인스턴스변수, 자동변수의 사용이 가능하다. JAVA 프로그래밍

6 1. 자바 식별자(identifier)와 키워드(keyword) (3/3)
자바시스템이 어떠한 목적으로 점유해서 사용하는 단어들이다. 따라서 이들 자바 키워드를 자바 식별자로 사용해서는 안 된다. 자바 키워드는 모두 소문자로 이루어져 있다. 대문자로 이루어져 있는 키워드는 없다. JAVA 프로그래밍

7 2. 자바의 데이터타입(Data type) (1/6)
기본데이터타입(primitive data type) (1/2) 자바는 byte, short, int, long, float, double, char, boolean등의 기본 데이터타입을 제공한다. 기본데이터타입을 갖는 변수들은 해당변수의 값으로 어떠한 데이터값을 갖는다. ex) int a=10; 기본데이터타입은 변수의 값으로 순수한 데이터값을 가진다 기본타입에 크기를 제공하는 이유는 어떤 변수에 저장할 수 있는 데이터의 크기를 알아야 적절한 타입의 변수를 선언해서 데이터를 저장할 수 있기 때문이다. JAVA 프로그래밍

8 2. 자바의 데이터타입(Data type) (2/6)
기본데이터타입(primitive data type) (2/2) 타입 크기(byte) 자료범위 기본값 byte 1byte -128 ~ +127 short 2byte -32,768 ~ +32,767 int 4byte -2,147,243,648 ~ +2,147,243,647 long 8byte -9,223,372,036,854,775,808 ~ +9,223,372,036,854,775,807 float E+38 ~ E+38 double E+308 ~ E+308 char '\u0000' ~ '\uFFFF' boolean 1bit true or false false JAVA 프로그래밍

9 2. 자바의 데이터타입(Data type) (3/6)
레퍼런스 데이터타입(reference data type) (1/4) 자바에는 C언어와 같은 포인터가 없다. 대신 객체를 생성해서 객체의 레퍼런스로 생성된 객체에 접근하는 방법을 쓴다. 기본데이터타입(int, float, char...)은 변수를 선언하면 바로 메모리할당을 받는다. 그러나 레퍼런스 타입의 변수는 new 키워드를 사용해서 객체를 할당하기 전까지는 메모리가 할당되지 않는다. 레퍼런스 변수의 기본 값은 null이다. JAVA 프로그래밍

10 2. 자바의 데이터타입(Data type) (4/6)
레퍼런스 데이터타입(reference data type) (2/4) 예시2-01) 1  ToolSystem ts1, ts2; //ToolSystem 클래스타입의 레퍼런스 변수 ts1, ts2선언 2  int x=20; //정수형 변수 x의 초기값은 20 3  ts1 = new ToolSystem(); //ToolSystem클래스를 사용해서 객체생성, 메모리 할당을 받는다. 4 //ts1은 생성된 객체를 가리키는 레퍼런스 변수이다. 5 //ToolSystem()클래스의 메소드나, 인스턴스 변수를 접근할 때ts1레퍼런스를 사용해서 접근한다. 6  ts2 =ts1; //ts1레퍼런스가 가지고 있는 객체의 주소값을  ts2에 넘겨준다. 결론적으로 ts1과 ts2는 같은 객체를 가리킨다. JAVA 프로그래밍

11 2. 자바의 데이터타입(Data type) (5/6)
레퍼런스 데이터타입(reference data type) (3/4) 문자열변수의 선언은 String을 사용해서 한다. String은 클래스이다. 따라서 String클래스를 사용해서 문자열 변수를 선언하면 String객체가 생성되므로 결론적으로 문자열변수는 레퍼런스 타입 변수가 된다. 또한 String 클래스는 내용을 변경할 수 없다. String 클래스에 사용되는 '+'연산자의 경우 두개의 문자열을 결합해서 하나의 새로운 문자열을 생성하는 것이므로 내용이 변경되는 것이 아니다. JAVA 프로그래밍

12 2. 자바의 데이터타입(Data type) (6/6)
레퍼런스 데이터타입(reference data type) (4/4) String str; str="Hello" ; String str; str="Hello" ; str="Hello World"; 예시2-03) String str1 , str2; str1="hi" str2="hi" JAVA 프로그래밍

13 3. 자바 연산자(Operator) (1/8) 자바의 연산자들은 산술연산자, 관계연산자, 논리연산자 , 비트연산자,  shift연산자, 증감연산자, 조건연산자, 대입연산자들이 있다.  산술연산자: * ,  /  , % , + ,  -  관계연산자: < ,  >, <= , >=  논리연산자: &&, || , !  비트연산자: & , | , ^  shift연산자: << ,  >> , >>>  증감연산자: ++ , --  조건연산자: ?:  대입연산자: = , += ,  -= ,  *= ,  /= ,  %= JAVA 프로그래밍

14 3. 자바 연산자(Operator) (2/8) 자바 연산자 우선순위(priority) 연산자 연산순서 ()
왼쪽 -> 오른쪽 ++   --   +  -   ~  !   (cast) 오른쪽 -> 왼쪽 *   /  % +   - <<   >>  >>> <   >  <=  >=  instanceof ==  != & ^ | && 왼쪽-> 오른쪽 || ?: = +=  -=  *=  /=  %= JAVA 프로그래밍

15 3. 자바 연산자(Operator) (3/8) 대입연산자(= , += , -= , *= , /= , %=)
대입연산자(= , += ,  -= ,  *= ,  /= ,  %=) 대입연산자는 연산의 결과를 변수에 대입할 때 쓰는 연산자이다.  대입연산자의 가장 대표적인 연산자 "="은  같다는 의미가 아니라, assign(대입)의 의미이다. 대입 연산자의 규칙은 다음과 같다. 변수 = 상수 또는 수식 또는 변수 a = 5; JAVA 프로그래밍

16 3. 자바 연산자(Operator) (4/8) 증감연산자(++,--)
자바는 C언어처럼 1증가 ,또는 1감소를 위한 증감연산자를 제공한다. 1증가 시는 ++, 1감소 시는 --이다. 만일 변수 a가 1만큼 증가해야 한다면 아래의 수식 셋중 하나를 사용할 것이다. a=a+1; a+=1; a++; 세 개의 수식의 결과는 같으나 처리속도는 a++가 가장 빠르고 다음이 a+=1이고 가장느린 것이 a=a+1이다.   ++a(전증가), --a(전감소) 를 사용하면 변수에 1증감 후에 변수의 새로운 값이 수식구문에 사용된다. a++(후증가),  a--(후감소)를 사용하면 수식의 구문을 처리한 후에 변수의 값이 1증감된다. JAVA 프로그래밍

17 3. 자바 연산자(Operator) (5/8) 논리연산자(&&, ||, !)
논리연산자 &&와 ||는 숏서킷 로직(short circuit logic)을 사용한다.  숏서킷 로직(short circuit logic)은 처음 항의 검사결과가 전체의 결과를 결정하면 나머지 항은 검사하지 않는다. 논리연산자 기호 의미 AND && 둘 다 참(True)일 때만 참(True)이다. OR || 둘 중 하나만 참(True)이면 참(True)이다. NOT ! 참(True)은 거짓(False)으로, 거짓(False)은 참(True)으로 바꿈 JAVA 프로그래밍

18 3. 자바 연산자(Operator) (6/8) 비트연산자(&&, ||, !)
비트연산자는 기존의 연산이 바이트연산 체계인 것에 반해서 연산의 주체가 비트로 바뀌는 것이다. 그러나 단순히 참, 거짓을 비교할 때는 비트연산자(&,|)는 논리연산자(&&,||)와 같은 의미로 쓰인다. 비트 연산자는 숏서킷 로직(short circuit logic)을 사용하지 않는다. 따라서 첫 항에서 결과가 결정이 되어도 나머지 항을 검사한다. AND & 둘 다 참(True)일 때만 참(True)이다. OR | 둘 중 하나만 참(True)이면 참(True)이다. XOR(Excusive OR) ^ 둘의 상태가 서로 다를 때만참(True)이다. JAVA 프로그래밍

19 3. 자바 연산자(Operator) (7/8) 조건연산자(?:) ==연산자와 equals()
조건연산자는 (조건식) ? 참 : 거짓 의 형태로 이루어져 있다. 조건식을 만족하면 참을 실행하고 만족하지 못하면 거짓을 실행한다. (5>7) ? a=1 : a=2; 일때 a=2가 된다. ==연산자와 equals()    "=="연산자는 두 변수의 값이 같은가를 비교하는 것이고, equals()메소드는 두 객체의 내용이 같은가를 비교하는 것이다. "=="연산자는 기본 데이터타입과 레퍼런스 타입에 적용할 수 있고, equals()메소드는 레퍼런스 타입에만 적용이 가능하다. JAVA 프로그래밍

20 3. 자바 연산자(Operator) (8/8) instanceof
객체의 상속관계여부를 알아볼 때 사용하는 연산자로 상속관계여부를 boolean형태로 리턴한다. 상속관계가 있으면 true, 없으면 false값을 리턴한다. JAVA 프로그래밍


Download ppt "JAVA 프로그래밍 2장 자바의 데이터타입."

Similar presentations


Ads by Google