1 / 100

3 장 . 자바의 기본 구조 I : 변수 , 자료형 , 연산자

3 장 . 자바의 기본 구조 I : 변수 , 자료형 , 연산자. Java. public class SumTest { public static void main(String a1[]) { int a, b, sum; a = Integer.parseInt (a1[0]); b = Integer.parseInt (a1[1]); sum = a + b ; // 두 수를 더하는 부분입니다

nelson
Télécharger la présentation

3 장 . 자바의 기본 구조 I : 변수 , 자료형 , 연산자

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. 3장. 자바의 기본 구조 I :변수, 자료형, 연산자 Java public class SumTest { public static void main(String a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두 수를 더하는 부분입니다 System.out.println("두수의 합은 " + sum + "입니다"); } }

  2. 학습목표

  3. 목차 • section 1 자바 프로그램의 예 • section 2 프로그래밍 오류 • 2-1 구문 오류(Syntax Error) • 2-2 실행시간 오류(Runtime Error) • 2-3 논리 오류(Logic Error) • section 3 식별자와예약어 • section 4 변수와 자료형 • 4-1 변수(Variable) • 4-2 자료형

  4. 목차 • section 5 형변환 • section 6 연산자와 수식 • 6-1 산술 연산자 • 6-2 관계 및 논리 연산자 • 6-3 비트 연산자 • 6-4 배정 연산자와 단축 배정 연산자 • 6-5 3항 연산자 • 6-6 연산자의 우선순위 • section 7 문자열(String)

  5. 1 자바 프로그램의 예 • 실습예제 • 다음 프로그램은 프로그램 실행 시에 두 개의 값을 입력받아 두 수의 합을 구하여 출력하는 프로그램이다. 현재 단계에서는 프로그램의 내용은 이해하지 못해도 되며, 이클립스를 이용하여 실습만 수행하면 된다. 주석 클래스 정의 main() 메소드 정의 정수형 변수 선언 두 수의 합 출력

  6. 1 자바 프로그램의 예 • 프로그램 설명 • 01~04 : 프로그램 설명을 위한 주석. 주석이 여러 줄일 경우 “/*” 와 “*/” 사이에 기술 • 05 : 클래스를 정의하는 부분이다. 5장에서 자세하게 설명한다. 자바 프로그램은 클래스의 이름과 같은 이름(대소문자 구분함 : SumTest.java)으로 반드시 저장되어야 한다. • 06 : 클래스에서 해야 하는 일을 정의하는 메소드 부분이다. main() 메소드는 클래스에서 첫 번째로 실행되는 메소드이다. main() 메소드의 매개변수는 항상 String(문자열)의 배열로 정의된다. 프로그램 실행 시 입력되는 자료가 배열에 저장된다. • 09~10 : 프로그램 실행 시 입력된 매개변수는 문자열이다. 문자열을 정수로 변환하여 정수형 변수에 저장하는 부분이다. 자세한 내용은 객체지향 부분에서 기술한다. • 11 : 두 수의 합을 저장한다. 한 라인에서 “//” 표시 이후의 내용은 모두 주석으로 처리한다. • 12 : 자바의 출력문이다. 괄호 내에 출력할 내용을 지정한다.

  7. 1 자바 프로그램의 예 • 이클립스에서 실행한 프로그램 44 page

  8. 2 프로그래밍 오류 2-1 구문 오류(Syntax Error) • 구문 오류 또는 컴파일(compile) 오류 • 자바 언어를 배울 때 초급 프로그래머가 가장 많이 발생시키는 오류 • 타이핑 오류, 예약어의 잘못 사용, 닫는 괄호의 생략, 구문 종료 기호(;) 생략, 구문 구조 오류 등으로 인해 발생 • 자바 컴파일러가 오류의 원인을 찾아 알려줌으로써 쉽게 수정할 수 있음 • 실습예제 • 다음은 변수를 선언하지 않았고, 문장의 종료기호를 빼먹고 작성한 프로그램이다. 이 프로그램은 구문 오류를 발생시킨다. 선언되지 않은 변수 사용 선언되지 않은 변수 사용과 문장종료기호 생략

  9. 2 프로그래밍 오류 2-1 구문 오류(Syntax Error) • 프로그램 설명 • 03 : 변수 i를 선언하지 않고 사용하였다. 자바에서 변수는 반드시 미리 선언하고 사용하여야 한다. • 04 : 선언하지 않은 변수 i값을 사용하였다. 또한 문장의 종료 기호인 “;”을 빠트려 오류가발생하였다. 46 page

  10. 2 프로그래밍 오류 2-2 실행시간 오류(Runtime Error) • 실행시간 오류 • 프로그램의 실행 시 발생하는 오류 • 프로그램의 비정상적인 종료를 발생시키므로 조심해야 함 • 실행시간 오류는 숫자를 0으로 나누는 경우나 배열의 첨자 범위를 벗어난 접근, 실행 시 입력 받은 데이터의 오류 등으로 많이 발생 • 실행 시 사용자로부터 입력 받는 데이터의 형태가 다를 경우 많이 발생

  11. 2 프로그래밍 오류 2-2 실행시간 오류(Runtime Error) • 실습예제 • 다음 프로그램은 정수를 0으로 나누는 실행시간 오류를 발생시킨다. 정수를 0으로 나눔 정수를 0으로 나눔 47 page

  12. 2 프로그래밍 오류 2-2 실행시간 오류(Runtime Error) • 실습예제 • 프로그램의 3번 라인의 “3 /0”을 “3 / 1”로 수정한 다음 다시 프로그램을 실행 정수를 1으로 나눔 정수를 0으로 나눔 47 page

  13. 2 프로그래밍 오류 2-3 논리 오류(Logic Error) • 논리 오류 • 프로그램 작성자의 의도와 다른 결과를 나타내는 경우에 발생 • 일반적으로 복잡한 프로그램의 경우에서 발생 • 프로그램의 컴파일이나 실행 시에 나타나지 않음 • 프로그램 작성자에 의해서 발견되어 수정

  14. 2 프로그래밍 오류 2-3 논리 오류(Logic Error) • 실습예제 • 다음 프로그램은 논리적 오류가 내재된 프로그램이다. 프로그램 작성자는 두 개의 변숫값을 더하기 위한 프로그램을 작성하였지만, 잘못된 코딩으로 예상치 않은 결과를 출력하였다. 이와 같은 형태의 논리적 오류는 프로그램의 컴파일과 실행 시 명시적으로 나타나지 않게 된다. “j = i + j”를 잘못 기술

  15. 2 프로그래밍 오류 2-3 논리 오류(Logic Error) 48 page

  16. 3 식별자와예약어 • 자바에서 식별자 • 변수, 상수, 메소드, 배열, 문자열, 사용자가 정의하는 클래스나 메소드 등을 구분할 수 있는 이름을 의미 • 식별자의 사용 원칙 • 식별자는 문자, 숫자, 특수문자(_, $)로 구성될 수 있다. • 식별자의 첫 문자는 문자나 특수문자로 시작할 수 있다. 숫자는 사용할 수 없다. • 예약어를식별자로 사용할 수 없다. • true, false, null은 식별자로 사용할 수 없다. • 식별자는 길이에 제한을 두지 않는다. • 같은 문자의 대소문자(Sum과 sum)는 서로 다른 식별자로 취급한다.

  17. 3 식별자와예약어 • 자바의 예약어

  18. 3 식별자와예약어 • 실습예제 • 다음 프로그램은 예약어를 변수로 사용하는 프로그램이다. 예약어를 변수로 사용하는 경우 구문 오류가 발생한다. 예약어를 변수로 사용

  19. 3 식별자와예약어 50 page

  20. 3 식별자와예약어 • 클래스 이름 • JavaTest1, RuntimeErrorTest, • 바람직한 형태, 단어의 첫 글자는 대문자로 쓰는 것이 좋다. • applicationtest, sampletest • 오류는 아니지만 관례에 어긋나고, 가독성이 떨어짐 • 메소드, 변수, 배열, 문자열의 이름 • sum, sumAndSubstract, nameAddress • 바람직한 형태, 단어의 첫글자는 소문자로 쓰는 것이 좋다. • NameAndAge, Productname • 좋지 않은 형태, 클래스 이름과 혼동된다. • 상수의 이름 • PI, MAX_NUMBER • 상수는 모두 대문자로 쓰는 것이 관례이다. • max, Max, Address • 다른 이름과 혼동된다.

  21. 4 변수와 자료형 4-1 변수(Variable) • 변수의 사전적 의미 • 변화하는 것 • 프로그래밍 언어에서 사용되는 변수 • “값(value)이 저장된 메모리의 위치에 주어진 이름” • 변수에 값을 배정(assignment)할 때 “=”기호를 사용

  22. 4 변수와 자료형 4-1 변수(Variable) • 메모리에 저장된 변수의 값 변화 52 page

  23. 4 변수와 자료형 4-2 자료형 • 자료형(Data Type) • 변수가 가질 수 있는 값의 형태 • 자바 언어는 다양한 형태의 자료형을 제공 • 자바의 자료형 • 기본 자료형(primitive type) • 참조 자료형(reference type)

  24. 4 변수와 자료형 4-2 자료형 • 기본 자료형과 참조 자료형의 차이 53 page

  25. 4 변수와 자료형 4-2 자료형 • 기본 자료형: 자바에서 제공되는 8개의 기본 자료형은 다음과 같은 형태 54 page

  26. 4 변수와 자료형 4-2 자료형 • 정수형 : 4가지의 자료형이 제공 54 page

  27. 4 변수와 자료형 4-2 자료형 • 정수의 음수 표현법(2의 보수법) 55 page

  28. 4 변수와 자료형 4-2 자료형 • 실습예제 • 다음 프로그램은 4개의 정수형이 나타낼 수 있는 가장 큰 값을 출력하는 프로그램이다. 각각의 정수형 변수에는 프로그램에서 저장된 값보다 큰 값을 저장하면 구문 오류가 발생한다. byte형 short형 int형 long형

  29. 4 변수와 자료형 4-2 자료형 • 프로그램 설명 • 03 : byte형은 양수 27-1(127)까지만 저장이 가능하다. • 05 : short형은 양수 215-1 까지만 저장이 가능하다. • 07 : int형은 양수 231-1 까지만 저장이 가능하다. • 09 : long형은 양수 263-1 까지만 저장이 가능하다. 자바에서 모든 정수형의 묵시적인 형태는 int형(32비트로 표시)이다. 그 이상의 값을 나타내는 정수인 long형의 정수를 나타내기 위해서는 정수 끝에 영문자 대문자 “L”이나 소문자 “l”을 붙여서 사용해야 한다. 일반적으로 소문자 “l”은 숫자 1과 혼동되므로 대문자 “L”을 붙여서 사용한다. 56 page

  30. 4 변수와 자료형 4-2 자료형 • 실습예제 • 지정된 형이 나타낼 수 있는 값의 범위를 벗어난 값을 배정하면 구문 오류를 발생시킨다. 다음 프로그램은 지정된 범위를 초과하여 값을 배정하는 프로그램의 예이다. 127까지 저장 가능한 byte형의 변수에 128을 저장. 오류 발생

  31. 4 변수와 자료형 4-2 자료형 57 page

  32. 4 변수와 자료형 4-2 자료형 • 실습예제 • 지정된 형이 나타낼 수 있는 값의 범위를 벗어난 값을 배정하려면, 다음 프로그램과 같이 강제로 형변환을 시켜주면 된다. 강제로 형변환을 하는 경우 값의 손실이 발생하여 예상하지 못한 결과가 출력된다. byte형으로 형변환하여 저장 byte형으로 형변환하여 저장

  33. 4 변수와 자료형 4-2 자료형 58 page

  34. 4 변수와 자료형 4-2 자료형 • 전 페이지와 같은 결과가 출력된 이유 • byte 변수에 128과 256을 저장한 결과 58 page

  35. 4 변수와 자료형 4-2 자료형 • 실수형 • 부호와 지수(exponential)부분, 가수(mantissa)부분으로 구성 • 저장할 수 있는 크기에 따라 float형과 double형으로 구분 • 묵시적(default) 데이터형은double형 58 page

  36. 4 변수와 자료형 4-2 자료형 • 실습예제 • 실수형이 나타낼 수 있는 값의 범위를 나타내는 프로그램이다. 자바에서 실수는 묵시적으로 double형으로 나타낸다. 실수 값

  37. 4 변수와 자료형 4-2 자료형 • 프로그램 설명 • 04 : 실수 값을 float형의 변수에 저장할 경우에는 “F” 또는 “f”를 붙인다. 붙이지 않았을 경우에는 오류를 발생한다. • 05 : 자바에서 실수는 묵시적으로 double형이므로 끝에 “D” 또는 “d”를 붙이지 않는다. • 08~09 : 무한 반복되는 수이지만, float형과 double형의 가수 부분에서 표현 가능한 범위만 저장한다. 59 page

  38. 4 변수와 자료형 4-2 자료형 • 논리형 • 논리형 변수는 참(true) 또는 거짓(false)을 지정하는 변수 • 프로그램의 흐름을 제어하는 제어변수로 많이 사용 • 1바이트에 저장

  39. 4 변수와 자료형 4-2 자료형 • 실습예제 • 다음 프로그램은 논리형 변수를 사용하는 프로그램이다. 논리형 변수에 직접 “true” 또는 “false” 값을 저장할 수 있으며, 논리식의 결과도 저장할 수 있다. boolean변수에 값 저장 boolean변수에 값 저장 boolean변수에 값 저장

  40. 4 변수와 자료형 4-2 자료형 • 프로그램 설명 • 04 : boolean변수에 true 값을 저장한다. 자바는 대소문자를 구분하므로 TRUE를 저장하면 오류가 발생된다. • 06 : boolean변수에 논리식의 결과를 저장한다. 다양한 형태의 논리식의 결과가 저장될 수 있다. • 08 : boolean변수에 boolean변수의 값을 저장한다. 61 page

  41. 4 변수와 자료형 4-2 자료형 • 문자형 • 하나의 문자를 나타낼 수 있는 char형을 기본 자료형으로 제공 • 아스키코드(ASCII:8비트) 체계가 아닌 유니코드(Unicode:16비트)를 사용 • 16비트의 유니코드를 사용함으로써 세계 다양한 나라들의 모든 언어를 나타낼 수 있음 • 유니코드는 16비트를 사용함으로써 최대 65,536 개의 문자를 나타낼 수 있음 • 문자 자료형 • 하나의 문자를 나타내기 위해 사용 • 문자 자료형 데이터를 나타내기 위해서는 하나의 따옴표(single quotation)를 사용 char grade1 = 'A'; char grade2 = '\u0041'; // 'A'와 같은 의미의 유니코드 char years = '2';

  42. 4 변수와 자료형 4-2 자료형 • 문자형과 유니코드(unicode) 61 page

  43. 4 변수와 자료형 4-2 자료형 • 실습예제 • 문자형의 변수에는 직접 하나의 문자를 저장할 수 있다. 16비트 유니코드를 사용함으로써 다양한 국가의 문자들을 사용할 수 있다. 문자형 변수에 값 저장

  44. 4 변수와 자료형 4-2 자료형 • 프로그램 설명 • 04 : 직접 영문자를 문자형 변수에 저장한다. • 05 : 문자(영문자 O)에 해당하는 유니코드를 문자형 변수에 저장한다. • 09 : 한글(‘한’)을 문자형 변수에 저장한다. 62 page

  45. 4 변수와 자료형 4-2 자료형 • 특수문자 표기방법 유니코드 • 특수한 문자를 나타내기 위해 역슬래시(backslash)를 사용

  46. 4 변수와 자료형 4-2 자료형 • 실습예제 • 문자형 변수에 특수문자를 지정할 수 있다. 특수문자는 주로 따옴표나 줄 바꾸기, 탭만큼 여백 주기 등에 사용되는 문자이다. 특수문자 저장 특수문자 저장 특수문자 저장

  47. 4 변수와 자료형 4-2 자료형 • 프로그램 설명 • 04 : 이중따옴표를 지정하는 특수문자를 변수에 저장 • 08 : 탭만큼 스페이스를 가진 특수문자를 변수에 저장 • 11 : 줄 바꿈 특수문자를 변수에 저장 64 page

  48. 5 형변환 • 형변환(Casting) • 특정 자료형의 값을 다른 형태의 변수에 배정할 때 발생 • 자동으로 이루어지는 확대(widening) 형변환 • 명시적인 형변환 구문에 의해 이루어지는 축소(narrowing) 형변환 • 확대 형변환 • 두 개의 타입이 같거나 치역(traget type)이 정의역(source type)보다 더 넓어 값의 손실이 발생되지 않고 저장 • 축소 형변환 • 확대 형변환의 반대의 경우 • 명시적인 형변환 구문을 사용

  49. 5 형변환 • 확대 형변환과 축소 형변환 65 page

  50. 5 형변환 • 실습예제 • 자바 프로그램에서 확대 형변환은 정보의 손실이 발생치 않고, 자동으로 형변환이 이루어진다. 반면에 축소 형변환은 명시적인 형변환 구문을 사용해야 하며 정보의 손실이 발생한다. byte형의 값을 int형 변수에 저장 int형의 값을 byte형 변수에 저장 double형의 값을 int형 변수에 저장 double형의 값을 byte형 변수에 저장

More Related