2008 학년도 1 학기 상지대학교컴퓨터정보공학부 고광만
강의내용 어휘구조 토큰 주석 자료형기본자료형 참조형배열, 열거형 2
어휘 (lexicon) 어휘구조와자료형 프로그램을구성하는최소기본단위토큰 (token) 이라부름문법적으로의미있는최소의단위컴파일과정의어휘분석단계에서처리 자료형 자료객체가갖는형 구조, 개념, 값, 연산자를정의 3
토큰 (token) 정의문법적으로의미있는최소의단위예, if (i<100) sum+=i; 토큰 : if, (, i, <, 100, ), sum, +=, i, ; (10 개 ) 4
지정어 (Keywords) abstract continue for new switch assert default goto* package synchronized boolean do if private this break double implements protected throw byte else import public throws case enum instanceof return transient* catch extends int short try char final interface static void class finally long strictfp volatile const* float native super while 5
명칭 (identifier) 정의자료의항목을식별하기위하여붙이는이름 변수, 상수, 배열, 클래스, 메소드, 레이블등 형태영문자 ( 대소문자구분 ), 문자나밑줄 (_) 문자, 혹은 $ 로시작 합성명칭 lowercamelcase : billingaddress UpperCamelCase : BillingAddress 바른명칭 : sum, sum1, _sum, $sum, money_sum, MoneySum 틀린명칭 : 1sum, sum!, #sum, Money Sum, package 6
자바문자집합 유니코드 (Unicode) 문자표현 : 16 Bit 세계모든언어표현 static final double π = 3.14159265358979323846; 7
리터럴 (literal) 자신의표기법이자신의값이되는상수 정수형상수, 실수형상수, 문자형상수, 스트링상수 true, false, null 정수형상수 10진수, 8진수, 16진수 default : 32 bit 접미어 -L, -l : 64 bit 16, 26l, 45L 10 진수 : 15, 255, 65535 8 진수 : 017, 0377, 0177777 16 진수 : 0xf, 0xff, 0xffff 8
실수형상수 지수 (exponent) 고정소수점수 : 1.414, 3.1415924, 0.00001 부동소수점수 : 0.1414e01, 0.1414E1, 5E-5f 정밀도 (precision) float 형 접미어 -f, -F 3.14f, 0.526f double 형 (default) 3.14, 0.526 9
논리형상수 binary value true, false 문자리터럴 단일인용부호 (single quote) 사이에표현 a \n escape sequence : 특수한문자를표현 10
스트링리터럴 이중인용부호 (double quote) 사이에표현 I am a string \ java.lang.string 클래스의객체로취급 객체참조리터럴 null 아무객체도가리키지않는상태초기화에사용부적당하거나객체를생성할수없는경우사용 11
프로그램설명을위한문장 프로그램유지보수에중요프로그램의실행에는무관 주석 (comment) 주석종류 Line Comment : // comment // 부터새로운줄전까지주석으로간주 Text Comment : /* comment */ /* 와다음 */ 사이의모든문자들은주석으로간주 Documentation Comment : /** comment */ /** 와다음 */ 사이의모든문자들은주석으로간주 javadoc 도구를이용하여 API 문서작성에사용 12
자료형 (Data Type) 13
기본자료형 (Primitive Data Type) 14
정수형 (integer type) C/C++ 와는달리 unsigned 는지원하지않음 유형크기최소값최대값 byte 8bit -128 127 short 16bit -32768 32767 int 32bit -2147483648 2147483647 long 64bit -9223372036854775808 9223372036854775807 실수형 (real type) float(32비트 ), double(64비트 ) 실수의표현방법과실수연산은 IEEE 754 표준따름 15
문자형 (character type) Unicode 사용 논리형 (boolean type) true와 false 중하나의값만을가지는자료형숫자값가질수없음다른자료형으로변환되지않음 16
초기값초기값이명시되지않으면, 해당하는 field type에따라 default 초기값을할당 local variable, static initializer : default 초기값을할당않음 자료형 기본표준값 초기값 byte zero (byte) 0 short zero (short) 0 int zero 0 long zero 0L float positive zero 0.0f double positive zero 0.0d char null 문자 '\u0000' boolean reference false null 17
참조형객체를가리키는형 참조형 (reference type) Cf. 값형 (valued type) 18
배열같은형의여러값을저장하는데이용하는자료형 C/C++ 와달리객체로취급 클래스형클래스이름, 객체를가리키는참조형 인터페이스형인터페이스이름, 인터페이스를구현한객체에대한참조 열거형여러개의숫자상수만을가진특별한형태의클래스형 19
배열 (array) 의특징 동일한자료형의집합원소가순차적으로저장 배열형 20
배열변수선언 (declaration) 배열변수 : 배열을가리키는변수 ( 참조변수 ) 배열에속한원소의형과차원등을명시 int[ ] vector; short matrix[ ] [ ]; Object[ ] myarray; 배열객체생성 new 연산자를통해동적으로생성동적생성? 힙 (heap) 메모리? 21
배열객체생성 new 연산자를통해동적으로생성 vector1 = new int[5]; vector2 = {1, 2, 3, 4, 5, 6, 7, 8, 9}; matrix = new short[10][100]; myarray = new Point[3]; 배열변수선언과동시에배열할당 int[] day = new int[31]; 22
배열변수선언과생성에따른메모리구조 23
배열에값저장 배열의인덱스는 0부터시작 length를통한배열의길이범위초과 : IndexOutOfBoundException이발생 int a[] = new int[50]; for(int i=0; i < a.length; i++) a[i] = i; 24
열거형 열거형서로관련있는상수들의모음을심볼릭한명칭의집합으로정의 기호상수 (symbolic constant) 순서값은 0 부터시작 정수형으로교환하여사용가능 장점프로그램가독성증가 기호상수표현 디버깅용이 명칭의이름출력 25
열거형기본메소드 values() ordinal() 열거된모든원소를순서대로반환하는메소드 원소의열거된순서를정수값으로반환하는메소드 valueof() 매개변수로주어진스트링과열거형에서일치하는이름을갖는원소를반환하는메소드 26