2부 자바 기본 다루기 - 3장 프로그래밍을 위한 자바의 자료형

Slides:



Advertisements
Similar presentations
3. 메소드와 변수 SCJP 자격증 프로젝트 발표자 : 최선웅. 1. 메 소 드 개 념 2. 메 소 드 양 식 3. 메 소 드 변 수 4. 메 소 드 예 제 5. 참 고 문 헌 / 자 료 목 차.
Advertisements

Chapter 12. 배열. 배열  동일한 항목들이 동일한 크기로 연속적으로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는 자료 구조.
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
1 Part 03 상수, 변수, 자료형 안산 1 대학 디지털정보통신과 임 성 국. 2 이 장의 내용 자료형이란 무엇인가 ? 상수와 변수 정수형 부동소수형 문자형.
멘토링 2 주차 장 프로그래밍을 위한 자바의 자료형  값이 변하지 않는 상수  메모리 기억공간인 변수.
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr Chapter 3 변수와 자료형.
1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.
Part 03 상수, 변수, 자료형 ©우균, 창병모 © 우균, 창병모.
ㅎㅎ 구조체 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스 구조체 배열.
ㅎㅎ 구조체 C++ 프로그래밍 기초 : 객체지향의 시작 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스
최윤정 Java 프로그래밍 클래스 상속 최윤정
4장 자바 기본 구조 4.1 자바 응용 프로그램 분석 4.2 자바 애플릿 프로그램 분석
제 9 장 구조체와 공용체.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
3. printf()와 데이터 형식.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 12. 포인터의 이해.
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
4.1 자바 응용 프로그램 분석 4.2 식별자(identifier)와 예약어 4.3 변수와 자료형
Lesson 6. 형변환.
5장. 참조 타입.
제 3장. C보다 나은 C++ II.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
23장. 구조체와 사용자 정의 자료형 2.
6장. printf와 scanf 함수에 대한 고찰
[INA470] Java Programming Youn-Hee Han
Java 기초 (Java 프로그램의 기본 구조)
컴퓨터 프로그래밍 실습 #6 제 4 장 클래스 작성.
공학컴퓨터프로그래밍 Python 염익준 교수.
11장. 1차원 배열.
C#.
13. 연산자 오버로딩.
JA A V W. 03.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
어서와 C언어는 처음이지 제14장.
Lesson 4. 수식과 연산자.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
기본 입출력과 데이터 형 개요 기본 입출력 스트림 변수, 상수 및 데이터 형 데이터 형 변환.
상수와 기본 자료형.
C 3장. 변수와 데이터형 #include <stdio.h> int main(void) { int num;
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
Lesson 2. 기본 데이터형.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
연산자 (Operator).
에어 조건문.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
2장. 변수와 타입.
자바 5.0 프로그래밍.
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
컴퓨터 프로그래밍 기초 - 3rd : 상수,변수 생성규칙 및 자료형 -
Chapter 02. 자바 기본 문법.
Choi Seong Yun 컴퓨터 프로그래밍 기초 #03 : 변수와 자료형 Choi Seong Yun
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express Slide 1 (of 31)
Canary value 스택 가드(Stack Guard).
2부 기본 구조 2부에서는 자바 언어의 기본구조인 변수, 자료형, 연산자, 선택 및 반복논리, 배열 등에 관해 설명합니다
제5장 변수, 연산자, 수식.
Chapter08 JavaScript 시작하기
제 15 강 문자와 코드 shcho.pe.kr.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
Chapter08 JavaScript 시작하기
클래스 : 기능 CHAPTER 7 Section 1 생성자(Constructor)
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
Lecture 02 프로그램 구조 및 문법 Kwang-Man Ko
함수, 모듈.
어서와 C언어는 처음이지 제21장.
2장 자바의 기본문법(1).
제 3장 연 산 자 연 산 자 의 종 류 연 산 자 우 선 순 위 형 변 환.
Visual Basic .NET 기초문법.
Presentation transcript:

2부 자바 기본 다루기 - 3장 프로그래밍을 위한 자바의 자료형 2부 자바 기본 다루기 - 3장 프로그래밍을 위한 자바의 자료형

3장 프로그래밍을 위한 자바의 자료형 값이 변하지 않는 상수 메모리 기억공간인 변수

1. 값이 변하지 않는 상수 1.1 소수점을 가지지 않는 정수형 상수 (수치형 상수) 상수의 종류 예 의미 10진수 10진수  4, 10, 80   8진수 04, 012, 0100 맨 앞에 숫자 ‘0’을 덧붙이면 8진수 상수로 인식 16진수 0x4, 0xA, 0x6 맨 앞에 숫자 ‘0’과 영문자 ‘x', 즉 ’0x'를 덧붙이면 16진수 상수로 인식합니다. long형  10L,034L,0x2AL  10진, 8진, 16진 상수 뒤에 L을 덧붙임

1. 값이 변하지 않는 상수 1.2 소수점을 갖는 실수형 상수 (수치형 상수) 상수의종류 예 의미 소수형 1234.5,    0.0000987 가장 일반적으로 사용하는 실수형 데이터 지수형 1.2345E3, 0.987E-5 영문자E를 기준으로 앞에는 가수부 뒤에는 지수부를 기술함 float형 1234.5f,   0.00987f 실수형 상수 뒤에 f를 덧붙임

1. 값이 변하지 않는 상수 1.3 단일 따옴표로 표현하는 문자형 상수 ▶ 예   ‘A', 'a', '2', '*', '\t'

1. 값이 변하지 않는 상수 ▶ 확장 특수 출력 문자(escape sequence) 종 류 의 미 ‘\a' ‘\n' '\t‘ '\b' '\r‘ '\f' 경고음이 난다. 엔터 키의 기능을 갖는다. 줄을 바꾼다(new line). 수평 탭으로 일정한 간격을 띄운다(tab). 백스페이스로 뒤로 한 칸 후진한다(back space). 동일한 줄맨 앞칸으로 커서만 옮긴다(carriage return). 출력 용지를 한 페이지 넘긴다(form feed). '\\' '\'' '\"' '\0' \문자를 의미한다. '문자를 의미한다(single quote). "문자를 의미한다(double quote). 널 문자를 의미한다(null).

1. 값이 변하지 않는 상수 1.4 참 혹은 거짓을 갖는 논리형 상수 참(true), 거짓(false) 둘 중의 하나의 값만을 저장할 수 있는 자료형 다른 자료형으로 변환하지 못한다.

<예제> 자바에서 사용되는 상수종류 [파일 이름 : Data01.java] 01:public class Data01 { 02:  public static void main(String[] args) { 03:     04:      //(1) 정수 : 소수점이 없는 수 05:      System.out.println(1);   06:      //(2) 실수 : 소수점이 있는 수 07:      System.out.println(1.5); 08:      //(3) 문자 : 단일 따옴표로 묶어줌 09:      System.out.println('a');  10:      //(4) 논리값 : true, false 11:      System.out.println(true); 12:  }    13:}

<예제>더 다양한 상수-[파일 이름 : Data02.java] 001:public class Data02 { 002:  public static void main(String[] args)   { 003:    //(1) long 형 상수 : 숫자 끝에 L 혹은 l을 붙임 004:    System.out.println(1L);  005:    //(2) float 형 상수 : 숫자 끝에 F 혹은 f를 붙임 006:    System.out.println(1.5f); 007:    //(3) 문자열 : 이중 따옴표로 묶어줌 008:    System.out.println("abc");                         009:  } 010:} 

2. 메모리 기억공간인 변수 살피기 프로그램 실행 중에 변하는 값을 저장할 수 있는 메모리 기억공간 변수는 앞에 언급한 상수(값)를 저장하기 위한 공간을 의미 이러한 공간은 컴퓨터의 메모리(RAM)의 특정 위치(스택)에 만들어진다.

2.1 기억공간을 확보하는 변수 선언 변수는 상수처럼 그냥 사용하지 못하고 변수 선언 과정을 거친 후 사용할 수 있다. 자료형  변수_이름;

2.2 기본 자료형 long

2.3 소수점이 없는 정수형 유 형 크 기 허 용 값 byte 1 Byte( 8 bit) -27 ~ 27-1 -128~127  -27 ~ 27-1 -128~127  short 2 Byte(16 bit)  -215 ~ 215-1 -32768~32767  int 4 Byte(32 bit)  -231 ~ 231-1 -2147483648~2147483647 long 8 Byte(64 bit)  -263 ~ 263-1 - 9223372036854775808 ~ 9223372036854775807 정수를 저장하기 위한 자료형을 4가지로 나눈 이유는 저장할 데이터(상수, 값)에 따라 기억공간의 크기를 다르게 할당하기 위한 것

변수의 이름을 명명하기 위한 규칙 ① 영문자(A~Z, a~z)와 숫자(0~9)와 밑줄문자(_)의 조합으로 만들어집니다. ② 첫 글자는 반드시 영문자나 ‘_’로 시작하여야 합니다. 숫자로 시작해서는 안 됩니다. ③ 식별자는 철자(스펠링)가 같다고 해도 대소문자를 구분하기 때문에 조심해야 합니다. ④ 자바에서 사용되는 예약어는 식별자로 사용할 수 없습니다. ⑤ 식별자는 가급적이면 자기 역할에 맞는 이름을 부여합니다.

<잠깐만>- 예약어와 식별자 예약어란? 식별자란? 자바에서 미리 정의하고 의미를 부여한 단어. 이미 정해진 자신의 역할이 있기 때문에 프로그래머는 예약어를 다른 용도로 사용할 수 없다. int, char, class, if, else, switch, for, while, break 식별자란? 프로그래머가 특별히 의미를 부여하는 단어 예를 들어 변수의 이름이나 메소드의 이름이나 클래스의 이름 등을 식별자라고 한다.

<예제>정수 상수를 저장하는 정수형 변수 01:public class Data03{ 02: public static void main(String[] args) { 03:   int a;                  //변수 선언하고 04:   a=1;                  //변수에 값을 저장 05:   System.out.println(a); 06:     07:   a=2;                 //변수는 값을 변경할 수 있다. 08:   System.out.println(a); //마지막에 대입한 값만 유지 09:  } 10:}

2.4 자료형의 역할 저장되는 값의 형태를 결정 소수점이 없는 값을 정수형 상수를 저장하기 위해서는 int형으로 변수 선언 2.4 자료형의  역할 저장되는 값의 형태를 결정 소수점이 없는 값을 정수형 상수를 저장하기 위해서는 int형으로 변수 선언 소수점이 있는 값을 실수형 상수를 저장하기 위해서는 double형으로 변수 선언 참, 거짓 논리값을 저장하기 위해서는 boolean 형으로 변수 선언  int a=1;  double m=2.4;  boolean k=true; 

2.4 자료형의  역할 2. 메모리의 사이즈를 결정 메모리 할당되는 사이즈에 따라 변수에 저장할 수 있는 값의 허용 범위가 달라진다. byte a=1; a=128;          //컴파일 에러 short b=128; b=32768;        //컴파일 에러 int c=32768;     int c=123456L;  //컴파일 에러  long d=123456L;         

2.5 자료형 변환 long d=123456; int c=123456L;    //컴파일 에러 //암시적인 형 변환

2.5.1 암시적인 형 변환 short b=128;  int c=32768; c=b;  //암시적인 형 변환

2.5.2 명시적인 형 변환 short b=128; int c=32768; b=c; //컴파일 에러 b=(short)c; //명시적인 형 변환

<예제> 암시적인 형 변환과 명시적인 형 변환 01:public class Data05 { 02:  public static void main(String[] args) {  03:    byte  a=1; 04:    short b=128; 05:    int   c=32768; 06:   07:    b=a;                   //암시적인 형 변환 08:    System.out.println(b); 09:   10:    b=(short)c;             // 명시적인 형변환 11:   //오버플로우가 발생되어 엉뚱한 값 출력 12:    System.out.println(b);  13:  } 14: }

2.6 소수점이 있는 실수형 종류 유형 크기 실수형 float 4 Byte double 8 Byte int a=23.7;      //컴파일 에러 종류 유형 크기 실수형 float 4 Byte double 8 Byte

2.6 소수점이 있는 실수형 float b=23.7; //컴파일 에러 double c=23.7; //올바른 표현 float   b=23.7f; //올바른 표현

<예제> 실수 자료형 저장하기 01:public class Data06 { 02: public static void main(String[] args){  03:    double a=23.7; 04:    float   b=23.7f; 05:    System.out.println(a); 06: System.out.println(b); 07:  } 08:}

2.7 문자 한 개를 저장하는 문자형 대문자 ‘A’(65) 소문자 ‘a’(97) 정수형태의 문자 ‘0’(48) 종 종 류 유유 형 크 기 크 기 허허 용 값 문자형 char 2 Byte (16 bit) 16비트 유니 코드 0 ~ 65535 대문자 ‘A’(65) 소문자 ‘a’(97) 정수형태의 문자 ‘0’(48)

<예제> 문자 자료형 저장하기 01:public class Data07 { 02:  public static void main(String[] args){ 03:    char x; 04:    x='A'; 05:    System.out.printf("%c->%d\n",x,(int)x); 06:    x='0';    07:    System.out.printf("%c->%d\n",x,(int)x); 08:    x=0;     //0은 NULL 문자를 의미    09:    System.out.printf("%c->%d\n",x,(int)x); 10:    x='a';   11:    System.out.printf("%c->%d\n",x,(int)x); 12:  } 13:}

<잠깐만>-println, print, printf - 메소드내에 기술한 내용만을 출력할뿐 줄 바꿈을 하지 않는다. ③ printf 메소드 - 자바 5.0에서 추가되었다. - printf의 f는 format의 약어로서 형식 지정자를 기술하여 원하는 자료 형태로 출력할 수 있는 메소드. - 문자 데이터를 문자 형태로 출력하기 위해서는 %c라는 형식 지정자를 사용한다. - 형식 지정자는 %기호 다음에 영문자를 기술하는데 형식 지정자 %d는 정수형 10진수 형태로 출력하게 된다. d는 decimal의 약어이다. 저장된 문자 데이터의 아스키 코드 값으로 출력하려면 %d 사용

문자여러개를 집합으로 관리하는 문자열형(String) 'AB' //잘못된 표현 "AB" char x="AB"; //잘못된 표현 String y="AB"; String y=‘A'; //잘못된 표현

<예제> 문자열 저장하기 01:public class Data08 { 02:  public static void main(String[] args){ 03:    String y;    04:    y="AB";   05:    System.out.println(y); 06:    y="A";     07:    System.out.println(y); 08:  } 09:}

<문제> 1. 잘못된 문장을 골라내고 그 이유를 설명하시오. public class DataEx01 {   public static void main(String[] args) {     char    a='a';       //A.     char   b="a";       //B.     String   c="a";       //C.     String   d='a';       //D.     char   e='ab';      //E.     String   f="ab";      //F.    } }

<문제> 2. 잘못된 문장을 골라내고 그 이유를 설명하시오. public class DataEx02{   public static void main(String[] args)   {      byte var1=128;                        //A.      short var2=128;                       //B.      int var3=28L;                         //C.      long var4=128L;                       //D.      float var5=123456.789123;             //E.      double var6=123456.789123;            //F.     } }

<문제> 3. 잘못된 문장을 고쳐서 에러가 발생하지 않도록 수정하시오. 001:public class DataEx03{ 002:  public static void main(String[] args) { 003:    byte var1=127; 004:    short var2=128; 005:    int var3=128; 006:    long var4=128L; 007:    var4 = var1; 008:    System.out.println(var1+ ", " + var2); 009:    var1 = var3; 010:    System.out.println(var1+ ", " + var3); 011: 012:    float var5=123456.789123; 013:    double var6=123456.789123; 014:    var5 =var6; 015:    System.out.println(var5+ ", " + var6); 016:    var6 = var5; 017:    System.out.println(var5+ ", " + var6); 018:  } 019:} 

<문제> 4. char형의 저장할 수 있는 데이터 값의 허용 범위는 얼마입니까? 5. 변수를 선언하기 위해서는 자료형과 변수의 이름을 결정해야 합니다. 변수 이름으로 사용할 수 있는 것을 고르시오. A. false B. default C. _object D. a-class

<문제> 6. 다음 프로그램을 컴파일 했을 때 결과를 추측해보시오. public class DataEx06 {   public static void main (String[] args) {     byte b = 127;     byte c = 126;     byte d = b + c;   } }                                                      

<문제> 7. 다음 프로그램을 컴파일 했을 때 결과를 추측해보시오. public class DataEx07 {   public static void main (String[] args) {     float foo1 = -1;            //A.     float foo2 = 1.0;           //B.     float foo3 = 42e1;         //C.     float foo4 = 2.02f;         //D.     float foo5 = 3.03d;         //E.     float foo6 = 0x0123;       //F.     } }                                                   

<문제> 8. byte 형을 저장할 수 있는 데이터 값의 허용 범위는 얼마입니까? 9. float 형 변수 선언이 올바르게 된 것 두개만 고르시오. public class DataEx09 {   public static void main (String[] args) {      float f1 = 1F;   //A.      float f2 = 1.0;  //B.      float f3 = '1';   //C.      float f4 = "1";  //D.      float f5 = 1.0d; //E.   } }         

<문제풀이> 1. B.는 char 변수에는 문자열 상수를 저장할 수 없다. 1.  B.는 char 변수에는 문자열 상수를 저장할 수 없다. D.는 String 변수에는 문자 상수를 저장할 수 없다. E.는 문자 상수는 문자 한개만 단일 따옴표로 묶을 수 있다. 2.  A는 byte 이기에 128은 저장할 수 없다. C는 int 형은 long 형 상수 값을 저장할 수 없다. E는 float 형은 유효숫자 부가 긴 값을 저장할 수 없다. 3. 009:    var1 =(byte) var3; 012:    float var5=123456.789123f; 014:    var5 = (float)var6;

<문제풀이> 4. 0 ... 65535 5. C 6. +연산을 하게 되면 int 형으로 자동 형변환되는데 int형을 byte형으로 변환하지 못하기에 컴파일에러가 발생한다. 7. D, C, E 3문장에서 double형을 float형으로 변환하지 못하기에 컴파일에러가 발생한다. 8. -128...127 9. A. C