1 / 93

프로그래밍 기초

프로그래밍 기초. 제 2 주 2014 년 1 학기 강원대학교 컴퓨터학부 담당교수 : 정충교. 2 장 표현식과 데이터 유형. [출처] 자바(Java) 기초 강좌 - 005. 자바의 자료형(Data Type) | 작성자 asebn7. 데이터 유형 (Data Type). *. primitive type. data type. reference type. * char 형 = 캐릭터 (character 형 ) = 문자 형. 소수 숫자를 유효숫자와 지수로 표현. 데이터 유형 (type).

shing
Download Presentation

프로그래밍 기초

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 프로그래밍 기초 제 2주 2014년 1학기 강원대학교 컴퓨터학부 담당교수: 정충교 강원대학교

  2. 2장 표현식과 데이터 유형 강원대학교

  3. [출처]자바(Java) 기초 강좌 - 005. 자바의 자료형(Data Type)|작성자asebn7 데이터 유형 (Data Type) * primitive type data type reference type * char형 = 캐릭터(character형) = 문자형 강원대학교

  4. 소수 숫자를 유효숫자와 지수로 표현 강원대학교

  5. 데이터 유형(type) • 데이터 유형에 따라 아래 것들이 달라진다. • 어떤 값이 가능한지 • 어떤 연산이 가능한지 • 값의 의미가 무엇인지 • 어떻게 저장되는지 강원대학교

  6. int유형 연산자 + 덧셈 – 뺄셈 * 곱셈 / 나눗셈 % 나머지 연산 (modulus) 강원대학교

  7. int 유형 • a/b는 a를 b로 나눈 값을 구하고 나머지는 버린다. 5/2는 2 -23/6은 -3 4/43은 0 • a%b는 a를 b로 나눈 나머지값 5%2는 1 −23%3는−2 강원대학교

  8. 연산자 우선순위(precedence, priority) 결합성 강원대학교

  9. double 유형 • double 유형 연산자 + 덧셈 – 뺄셈 * 곱셈 / 나눗셈 • 5.0/2.0 --> 2.5 * int유형 나눗셈 5/2 -->2 강원대학교

  10. char 유형 • char유형의 값 표현 -단일 따옴표 '5' 'A' '가' '!' "5" 는 문자열 문자(string literal)이다. 5는 정수(integer)이다. 강원대학교

  11. 아스키 코드 • 아스키(ASCII) 코드는 각 문자에 대해 0부터 127까지의 음수가 아닌 정수를 할당한다. • 이 값들은 2진수로 저장되며, 일반적으로 선두에 0이 있고 그 다음에 0가 127사이의 7비트 코드 수가 뒤따라온다. • 아스키 값은 메모리의 한 바이트를 사용하여 저장이 가능하다. 즉, 한 개의 문자를 저장하는데 단지 1바이트만 필요하다. 강원대학교

  12. char 유형 • 자바는 유니코드(Unicode) 문자를 사용 - 각 문자에 2바이트의 메모리를 할당한다. • 2바이트 사용 --> 65,536개 문자 표현 가능 • 아스키 문자는 유니코드의 부분 집합 강원대학교

  13. char 유형 • 특수문자 표현 \n 개행문자(newline, 새로운 행으로 이동) \t 탭(tab) \b 백스페이스(backspace) \r 복귀(carriage return, 커서를 행의 선두로 이동) \' 홑따옴표(single quote) \\ 역슬래시(backslash) 강원대학교

  14. 부울(boolean) 유형 • true과 false의 두 값만을 가진다 true false • 연산자 && ―and || ― or ! ― not 강원대학교

  15. 강원대학교

  16. 진리표 강원대학교

  17. 서로 다른 데이터 유형간 연산 • 'A'+2 • 두 개의 피연산자들의 유형이 서로 다르다. char+int • “더 작은” 데이터 유형이 “더 큰” 데이터 유형으로 형변환(cast) 된다. • 여기에서 크다 작다는 말은 값의 범위가 크고 작다는 의미. • char 형은 int형보다 더 작고, int형는double 형보다 작다. • 'A'+2 --> 65+2 --> 67 char+int --> int+int 강원대학교

  18. 서로 다른 데이터 유형간 연산 • 22+3.0 • 두 개의 피연산자들의 유형이 서로 다르다. int+double • 22+3.0 --> 22.0+3.0 --> 25.0 • int+double --> double+double 강원대학교

  19. 서로 다른 데이터 유형간 연산 표현식(22+3.0)/4 의 값은 6.25이다. (22+3.0)/4 --> (22.0 +3.0)/4 --> 25.0/4 --> 25.0/4.0 --> 6.25 강원대학교

  20. 서로 다른 데이터 유형간 연산 표현식 'A' + 1.0 의 값은 66.0 이다. • 'A' + 1.0 • 65 + 1.0 • 65.0 + 1.0 • 66.0 • 'A'+ 'Z' --> 65 + 90 -->155 • 'A' – 'Z' --> 65 + 90 --> −25 강원대학교

  21. + 연산자와 문자열 • 문자 'J' • 문자열 "J" "java" • 문자열 + 문자열 --> 두 문자열을 연결하여 하나의 문자열을 만들어줌 • "ja" + "va" --> "java" • 프로그램 내에서 하나의 문자열은 한 줄에 적어야 한다. 두 줄에 걸쳐 적으면 안 된다. "자기존중의 반대는 교만입니다. 교만한 사람은 " + "강자 앞에 비굴하고 약자는 무시합니다." 강원대학교

  22. + 연산자와 문자열 2147483647 + "는 가장 큰 int이면서 소수이다." --> "2147483647는 가장 큰 int이면서 소수이다." • 우선 첫 번째 피연산자인 정수 2147483647이 문자열 "2147483647"로 형변환됨 • 그 다음, 두 문자열이 연결됨 강원대학교

  23. + 연산자와 문자열 • 문자열과 수식의 연결: 표현식“The sum of the two dice is " + (5+2) 는 다음과 같은 문자열이 된다. “The sum of the two dice is 7” • 괄호 내의 수식이 먼저 계산된다. 강원대학교

  24. + 연산자와 문자열 • 만약 괄호가 생략된다면, 표현식 "The sum of the two dice is "+ 5 + 2 는 다음과 같은 문자열이 된다. "The sum of the two dice is 52." • + 연산자는 왼쪽결합! 강원대학교

  25. + 연산자와 문자열 ("The sum of the two dice is " + 5 )+ 2 ("The sum of the two dice is " + "5") + 2 정수 5 는 문자열 "5" 로 형변환 된다. ("The sum of the two dice is 5") + 2 "The sum of the two dice is "와 "5"가연결된다. ("The sum of the two dice is 5")+ "2" 정수2 는 "2" 로 형변환 된다. "The sum of the two dice is 52" "The sum of the two dice is 5" 는 "2" 와 연결된다. 강원대학교

  26. + 연산자와 문자열 표현식 "The product of the two dice is " + 5*2 는 다음의 문자열이 된다. "The product of the two dice is 10." * 연산자가 + 보다 더 높은 우선순위를 가지기 때문에 먼저 실행된다. 강원대학교

  27. + 연산자와 문자열 표현식 "The difference of the two dice is" + 5 – 2 는 잘못된 표현으로 오류가 발생한다. 좌측에서 우측으로 결합되므로 표현식은 다음과 같이 계산된다. ("The difference of the two dice is " + 5)− 2 ("The difference of the two dice is "+ "5") − 2 "The difference of the two dice is 5"− 2 오류 발생 : 뺄셈(−) 연산자는 문자열에 적용될 수 없다. 강원대학교

  28. print와 println • 다음의 출력을 만드는 방법 The cost of 15 wickets is 375 dollars (1) System.out.print("The cost of 15 wickets is "); System.out.print( 15* 25); System.out.println(" dollars"); (2) System.out.print("The cost of 15 wickets is " + (15*25) + " dollars"); 강원대학교

  29. 'A'+ 'B' 는 131 (정수)‏ 'A'+ "B" 는"AB" (문자열)‏ "A"+ "B" 는"AB" (문자열)‏ ""+'A'+ 'B' 는"AB" (문자열)‏ 'A'+ 'B'+"" 는"131" (문자열)‏ 3+4+"" 는"7" (문자열)‏ ""+3+4 는"34" (문자열)‏ 강원대학교

  30. 버그(bug) • 첫 번째로 작성한 거의 모든 프로그램에는 일반적으로 오류 (error)나 버그(bug)가 존재한다. • 오류에는 3가지 종류가 있다. 1. 컴파일 오류(Compilation error) 2. 실행 오류(Runtime error) 3. 논리 오류(Logical error) 강원대학교

  31. 컴파일 오류 • 컴파일 오류는 프로그램에서 세미콜론, 문자열의 인용 부호, 중괄호의 생략 등과 같은 자바 규칙을 위반했을 경우에 발생한다. • 컴파일러는 오류를 표시하고 프로그래머에게 오류 발생 위치를 알려준다. • 바이트 코드로 변환되기 전에 프로그램의 오류를 모두 수정해 주어야 한다. 강원대학교

  32. 실행 오류 • 실행 오류는 프로그램이 실행되는 동안 발생한다. • 실행 오류는 프로그램에서 0에 의한 나눗셈과 같이 어떤 허용되지 않는 동작을 시도할 때 발생한다. • 실행 오류가 발생하면 프로그램은 종료된다. 강원대학교

  33. 논리 오류 • 비록 자바 컴파일러가 오류를 검출하지 못하고 프로그램 실행이 완료되었다고 하더라도, 프로그램이 원하는 결과를 얻지 못할 때가 있다. • 화씨온도를 섭씨온도로 변환하는 프로그램에서, (5/9)(F – 32), 여기서F 는 화씨온도를 나타낸다. 5/9 = 0 (정수 나눗셈)이므로 계산 결과는 항상 0이다. • 올바른 표현식 (5.0/9.0)(F – 32) 강원대학교

  34. 3장변수와 대입 강원대학교

  35. public class Addition { public static void main(String[] args) { inti; // int형 변수 i를 선언 int j; // int형 변수 j를 선언 int sum; // int형 변수 sum을 선언 i = 1; // i에 1을 저장 j = 2; // j에 2를 저장 sum = i + j; // i와 j를 더한 결과를 sum에 저장 System.out.print("1+2="); System.out.println(sum); } } 강원대학교

  36. 강원대학교

  37. 프로그램이 데이터를 위한 저장 공간을 어떻게 마련하나? 프로그램은 데이터를 저장공간에 어떻게 저장하는가? 프로그램은 저장된 데이터를 어떻게 사용하는가? 강원대학교

  38. 변수 • 변수(variable)는 특정 유형의 데이터를 저장할 수 있도록 이름이 주어진 메모리 위치이다.. 예 강원대학교

  39. 변수 • 변수에 값을 저장하거나, • 변수의 값을 변경하거나, • 저장된 값을 읽어 사용할 수 있다. 강원대학교

  40. 변수 선언: 데이터 저장을 위한 메모리 공간 획득 방법 • 변수는 사용되기 전에 먼저 선언(declare)되어야 한다. • 변수 선언에는 다음 내용이 명시되어야 한다. - 변수에 저장될 데이터의 유형 - 변수의 이름 • 변수 선언 형식은 아래와 같다. Typename1, name2, name3,…; Type 은 데이터 유형 (int, double, char, boolean등) nameX는 자바 식별자(임의로 지은 이름)이다. 강원대학교

  41. 변수 선언 • int cats; // 변수 선언문 // 변수의 이름은 cats // cats는 하나의 정수(int형) 값을 저장한다. • double radius, area, circumference; // 콤마로 분리된 세 개의 변수는 모두 double 형이다. • boolean done; // done은 참(true) 또는 거짓(false) 중 하나를 저장할 수 있다. • 변수의 이름을 정할 때에는 의미 있는 이름을선택해야 한다. 강원대학교

  42. 정수 int형 이외에도 자바에는 다음과 같은 세 가지 정수 데이터 유형이 있다. • byte • short • long 강원대학교

  43. 각 정수형의 저장 공간과 값의 범위 • byte: 8비트 ( 1바이트) 27 에서 27-1까지 (-128 에서 127까지) • short: 16비트 (2바이트) 215에서 215-1까지 (-32,768 에서 32,767까지) • int: 32비트 (4바이트) 231에서 231-1까지 (-2,147,483,468 에서 2,147,483,467까지) • long: 64비트 (8바이트) 263에서 263-1까지 (-922,337,203,685,475,808 에서 922,337,203,685,475,807까지) 강원대학교

  44. 정수 숫자 (Integer Literals) 26 <-- int타입 숫자로 인식됨 26L <-- long 타입 숫자로 인식됨 // 아래 세 가지는 같은 효과를 갖는다. // The number 26, in decimal intdecVal = 26; // The number 26, in hexadecimal inthexVal = 0x1a; // The number 26, in binary intbinVal = 0b11010; 강원대학교

  45. 부동 소수점 숫자 유효숫자와 지수 형태로 숫자를 표현하여 저장 0.02 --> 2*10E-2 --> 2, -2 부동 소수점 숫자: float 32비트 (4바이트) -3.4e38에서3.4e38 까지(6 ~ 7 의 유효 자리를 가짐) double 64비트 (8바이트) -1.7e308에서 1.7e308까지(14 ~ 15 의 유효 자리를 가짐) 강원대학교

  46. 소수 숫자 (Floating-Point Literals) • 123.4 <-- double 타입으로 인식됨 • 123.4f <-- float 타입으로 인식됨 • double d1 = 123.4; • // same value as d1, but in scientific notation • double d2 = 1.234e2; • float f1 = 123.4f; 강원대학교

  47. 문자와 부울 문자: char 형의 변수는 16비트(2바이트)의 메모리를 요구한다. 문자는 16비트 유니코드(unicode) 정수로 저장된다. 부울 값: 부울(boolean) 형은 오직 두 개의 값, 참(true)과 거짓(false)을 가질 수 있다. 강원대학교

  48. 데이터 저장 방법: 초기화와 대입 • 변수에 값을 저장하는 법 • 초기화 문장(initialization statement) • 대입문(assignment statement) 강원대학교

  49. 데이터 저장 방법: 초기화 • 초기화: 한 문장으로 변수 선언과 초기 값을 저장 수행 double pi = 3.14159; int number = 10, sum = 0, total = 125; boolean done = true; char firstLetter = ‘A’, lastLetter = ‘Z’; 강원대학교

  50. 데이터 저장 방법: 대입 • 대입문(assignment statement) 이미 선언된 변수에 값을 저장 • 대입문의 형식 Variable = Expression Variable 은 선언된 변수 Expression은 유효한 자바 표현식 = 기호를 대입 연산자(assignment operator)라고 한다. 강원대학교

More Related