CHAPTER 02 데이터형과수식 JAVA Programing

Similar documents
JAVA PROGRAMMING 실습 02. 표준 입출력

OCW_C언어 기초

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint Presentation

TEST BANK & SOLUTION

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Java ...

PowerPoint Presentation

4장.문장

PowerPoint Presentation

Microsoft PowerPoint - Chapter_04.pptx

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

PowerPoint 프레젠테이션

Microsoft PowerPoint - Java7.pptx

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

Microsoft PowerPoint - ch07 - 포인터 pm0415

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - chap-05.pptx

PowerPoint Presentation

슬라이드 1

Microsoft PowerPoint - Chapter_02.pptx

Design Issues

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

Microsoft PowerPoint - chap06-2pointer.ppt

쉽게

Microsoft PowerPoint - [2009] 02.pptx

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

PowerPoint 프레젠테이션

PowerPoint Presentation

Microsoft PowerPoint - lec3.ppt

슬라이드 1

PowerPoint 프레젠테이션

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

PowerPoint Presentation

슬라이드 1

Microsoft PowerPoint - lec2.ppt

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

슬라이드 1

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

02 C h a p t e r Java

Microsoft PowerPoint - 2강

PowerPoint 프레젠테이션

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

PowerPoint Presentation

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap-03.pptx

JAVA PROGRAMMING 실습 09. 예외처리

PowerPoint Presentation

11장 포인터

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

프로그램의실행화면 주석 (comment) 두수의합 : 300 /* 두개의숫자의합을계산하는프로그램 */ 주석은코드를설명하는글입니다. 주석 3 가지방법의주석 주석의예 /* 한줄로된주석 */ /* 저자 : 홍길동날짜 : 2013.

Microsoft PowerPoint - Lesson2.pptx

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

03-JAVA Syntax(2).PDF

No Slide Title

쉽게 풀어쓴 C 프로그래밍

PowerPoint Presentation

OCW_C언어 기초

쉽게 풀어쓴 C 프로그래밍

12-file.key

Microsoft PowerPoint - 2장 변수와 자료형 pptx

Microsoft PowerPoint - 04-UDP Programming.ppt

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

<4D F736F F F696E74202D20C1A635C0E520BCF6BDC4B0FABFACBBEAC0DA>

05-class.key

C++ Programming

02장.배열과 클래스

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

Microsoft PowerPoint - 2주차-1차시 (강의자료) ch01 - C Programming 기초 (part 2)

gnu-lee-oop-kor-lec06-3-chap7

C 프로그램의 기본

Microsoft PowerPoint - c2.ppt

C 언어의구성요소인상수, 변수, 입 출력함수에 대하여학습

중간고사

JAVA PROGRAMMING 실습 08.다형성

Microsoft PowerPoint - java1-lecture2.ppt [호환 모드]

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter

<342EBAAFBCF620B9D720B9D9C0CEB5F92E687770>

PowerPoint 프레젠테이션

C 언어 프로그래밊 과제 풀이

KNK_C_05_Pointers_Arrays_structures_summary_v02

PowerPoint 프레젠테이션

PowerPoint Template

PowerPoint Presentation

구조체정의 자료형 (data types) 기본자료형 (primitive data types) : char, int, float 등과같이 C 언어에서제공하는자료형. 사용자정의자료형 (user-defined data types) : 다양한자료형을묶어서목적에따라새로운자료형을

Microsoft PowerPoint - C++ 5 .pptx

<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

PowerPoint Presentation

비긴쿡-자바 00앞부속

슬라이드 1

제11장 프로세스와 쓰레드

Transcription:

CHAPTER 02 데이터형과수식 JAVA Programing

개요 학습목표 4가지기본데이터형과변수의선언및할당방법연산자들과연산식의사용법간단하게입출력을하는방법 목차 데이터형변수의선언과초기화식별자와예약어연산자와연산식간단한입출력

개요 메모장과 DOS 창에서프로그래밍 객체지향이후이클립스사용 메모장과 DOS 창을연다.(notepad, cmd) DOS 명령어 디렉토리이동 : cd [ 이동할디렉토리명 ] 디렉토리내용보기 : dir 디렉토리만들기 : mkdir [ 디렉토리명 ] 디렉토리지우기 : rmdir [ 디렉토리명 ] C:\ 밑에작업디렉토리학번디렉토리생성및 HelloWorld 작성, 컴파일, 실행

데이터형 (data type) 변수의필요성 프로그래머는어떤메모리에어떤값을저장했는지를일일이기억해야한다. 그러나, 사람은숫자보다는문자를기억하기쉽다. 다음 2 개의프로그램을비교해보자 INPUT (1000) INPUT (1001) (1002) = (1000) + (1001) PRINT (1002) INPUT kor INPUT eng total = kor + eng PRINT total 여기서는메모리를 3 개만이용했지만, 수백개가필요한프로그램에서는기억하는것이불가능 따라서, 변수를사용 다음을꼭기억해두자 변수는메모리의주소를심볼로나타낸것이다.

데이터형 (data type) 데이터형의필요성 변수는메모리의주소를심볼로나타낸것이다. 메모리는 1byte(8bit) 단위로주소가정해져있다. 1byte 보다큰크기의자료를저장시키려면, 여러개의메모리를하나의단위로처리 따라서, 데이터크기와메모리의저장할데이터종류 ( 종수, 실수등 ) 를미리결정해야한다. 이것이데이터형이다. 변수선언 변수선언은사용할메모리크기와저장할형을미리결정해주는것이다.

변수의선언과초기화 변수의선언 요리전에음식을담을그릇을준비하는것 선언시자바에서는변수의자료형에맞는기억공간을미리확보. 변수를선언하지않고사용하게되면오류발생 변수선언법 자료형 (type) int size ; 이름 (name) char c; int i; double interestrate;

변수의선언과초기화 변수선언과동시에값을넣는방법 변수이름뒤에대입연산자를 = 놓고초기값을적으면된다. char charex="a"; int intex=8; double DoubleEx= 0.05; 하나의문장을변수를여러개선언할수도있다. int index, total =0;

데이터형 정수형 (Integer) 실수형 (float) 기본데이터형 부울린형 (Boolean) 문자형 (Char) 데이터형 (Data Type) 배열 (Array) 스트링 (String) 추상데이터형 클래스 (Class) 인터페이스 (Interface) 그림 2.1 자바의데이터형 사용자정의데이터형

기본데이터형 정수데이터형 byte, short, Int, long 가있다. byte short 그림 2.2 정수데이터형 = 8 bit (1byte) int long 정수형 크기 (byte) 범위 값 byte 1-2 7 ~2 7-1 -128 ~ 127 short 2-2 15 ~2 15-1 -32,768 ~ 32767 (3만정도 ) int 4-2 31 ~2 31-1 -2,147,483,648 ~ 2,147,483,647 (21 억 ) long 8-2 63 ~2 63-1 -9,223,372,036,854,775,808L~9,223,372,036,854,775,80 7L 정수형연산시결과는 int 형이다. 즉, 정수형의기본은 int 형이다.

기본데이터형 예제 2.1 정수데이터형의예제 1:public class Overflow{ 2: public static void main(string args[]) { 3: byte num1 = 127; 4: num1 = (byte)(num1 + 1); 5: System.out.println(num1); // -128 출력 6: byte num2 = -128; 4: num2 = (byte)(num2-1); 5: System.out.println(num2); //127 출력 6: } 7:} 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 126 127-128 -2-1 -1 0-2 1 2-127 126-128 127

기본데이터형 실수데이터형 소수점이하자릿수를가지고있는숫자를표현하기위해사용. float 와 double 있으며, 각각 32 비트와 64 비트의공간을차지한다. 7 비트 24 비트 31 30 24 23 s 지수부소수부 0 그림 2.9 float 형과 double 형의숫자기억방식 7 비트 56 비트 63 62 56 55 s 지수부소수부 0 실수형크기 (byte) 값 float 4-3.40282347E+38F ~ +3.40282347E+38F double 8-1.79769313486231570E+308 ~ +1.79769313486231570E+308 실수형연산시결과는 double 형이다. 즉, 실수형의기본은 double 형이다.

기본데이터형 예제 2.3 실수데이터형변수선언의예제 1:public class RealNumber{ 2:public static void main(string[] args) { 3:float floatvalue=23.47f; //32 비트정수형선언 4:double doublevalue=2456.78; //64 비트정수형선언 5:System.out.println("float 값은 :" +floatvalue); 6:System.out.println("double 값은 :" +doublevalue); 7: } 8:} 그림 2.8 예제 2.3 컴파일결과

기본데이터형 문자데이터형 char 형, char 는 ASCII 코드체계를따르는데, 크기는 1 바이트이며, 알파벳대소문자와숫자, 특수문자등의 255 자까지를나타낼수있다. 1:public class charex { 2: public static void main(string[] args) { 3: char ch='c'; 4: system.out.println("char 값은 :" +ch); 5: } 6:} 문자형크기 (byte) 값 char 2 '\u0000' ~ '\uffff' (ISO Unicode char acter set)

기본데이터형 부울린데이터형 true 혹은 false 의단지두가지값만을갖는데이터형이다. 1:public class booleanex{ 2: public static void main(string args[]) { 3: boolean bvar1=true; 4: boolean bvar2=false; 5: boolean bvar3=0; // 에러발생 6: } 7:} 논리형크기 (bit) 범위 boolean 1 true 또는 false

기본데이터형 기본데이터형사용 설명문을보며이해하자 1:class Variable 2: public static void main(string args[]) { 3: byte bt = 10; 4: int i, j, k; // 한문장에여러변수선언시컴마사용 5: i = j = k = 10; // 치환연산자는오른쪽에서왼쪽으로수행 6: float x=10, y=20.2f, z=30.3f; // 정수형상수 10이 float로자동형변환 7: double a=10, b=20.2, c=30.3; // 정수형상수 10이 double로자동형변환 8: boolean boo1 = true, boo2 = false; 9: char ch='c'; String str = 자바시작하기 ; // 문자와스트링상수표현 10: System.out.println(bt); 11: System.out.println(i + j + k); // 합계가출력 12: System.out.println(i + " " + j + " " + k); 13: System.out.println(x + " " + y + " " + z); 14: System.out.println(a + " " + b + " " + c); 15: System.out.println(boo1 + " " + boo2); 16: System.out.println(ch + " " + str); 17: } 18: } 10 30 10 10 10 10.0 20.2 30.3 true false c 자바시작하기

식별자와예약어 식별자 (identifier) 식별자는변수, 메소드, 클래스, 배열등의이름이다. 식별자이름을사용할때, 이름사용의의미를쉽게알수있도록이름을짓는것이좋다. 1 자바식별자에서영문자는대문자와소문자를다른문자로구분한다. 2 첫글자는반드시영문자나밑줄 (_), 달러표시 ($) 로시작되어야한다. 3 식별자에는 0부터 9까지의숫자도포함될수있다. 4 식별자의이름을짓는데또다른제한은자바예약어들을사용할수없다는것이다.

식별자와예약어 예약어 (reserved word) 자바프로그래밍언어자체적으로사용하고있는식별자로서, 프로그래머가임의적으로사용할수없다. 예를들어정수형변수를선언하는다음의문장은예약어즉 byte 를식별자로사용함으로써에러가발생한다. public class Test { public static void main(string[] args) { int byte; int test; } }

연산자와연산식 연산자 (operator) 는사칙연산자인산술연산자를포함하여증감, 치환, 비교, 논리, 비트연산자등이있다.

연산자와연산식 산술연산자 연산자 의미 예 + - * / % 덧셈뺄셈곱셈나눗셈나머지 3 + 4 5-7 5 * 5 14 / 7 20 % 7 연산자우선순위예1) result = 20 + 60 * 2 / 3; 예2) 60 ( 20 + ( ( 60 * 2 ) / 3 ) ) 예3) 53 ( ( ( 20 + 60 ) * 2 ) / 3 ) 증감연산자 프로그램을작성하다보면, 1 을증가하거나감소하는문장을사용하는경우가많다. 구분연산식의미사용예결과 (x 가 1 일때 ) 전위연산자 ++x --x x = x + 1 x = x - 1 y = ++x y = --x x=2, y=2 x=1, y=1 후위연산자 x++ x-- x = x + 1 x = x - 1 y = x++ y = x-- x=2, y=1 x=2, y=0

연산자와연산식 산술치환연산 연산자연산식예의미 x 가 10 일경우 += x += 2 x = x + 2 x = 12 -= x -= 2 x = x - 2 x = 8 *= x *= 2 x = x * 2 x = 20 /= x /= 2 x = x / 2 x = 5 %= x %= 2 x = x % 2 x = 0 산술치환연산자도산술연산자보다우선순위가낮기때문에연산식을먼저계산한후산술치환연산을수행한다. 다음은산술치환연산에연산식이혼합된예제이다. public class Test { public static void main(string[] args) { int x=10, y=20; x *= y + 1000; System.out.println("x 의값은 " + x + " 입니다."); } } 옆의경우 x 는 10200 이된다. 즉연산자우선순위에따라 y+1000 을먼저수행한결과인 1020 에 x 의값 10 을곱한결과를다시 x 에치환한다.

연산자와연산식 비교연산비교연산은같다, 크다, 작다등의두수를비교하는연산이다. 이러한비교연산은다음장의선택문 (if 문 ) 이나반복문 (while 문 ) 의조건비교에사용된다. 이러한비교연산의결과는참 (true) 또는거짓 (false) 의두가지뿐이다. 예를들어문장 System.out.println (5>3); 은 true 를출력한다. 연산자의미예 public class Test { public static void main(string[] args) { System.out.println (5>3); } } ==!= < > 같다다르다 ~ 보다작다 ~ 보다크다 x == 3 x!= 3 x < 3 x > 3 <= 작거나같다 x <= 3 >= 크거나같다 x >= 3 < 비교연산자 >

연산자와연산식 논리연산 논리연산자는 AND, OR, NOT의세가지가있다. 논리연산자는여러개의조건을조합하여참인지거짓인지를따질때사용한다. 예를들어 비가오지않고휴일이면테니스를친다 라는문장에는 비가오지않는다 라는조건과 휴일이다 라는조건이동시에만족이되면테니스를친다는의미가포함되어있다. < 논리연산자표 > 의미 연산자 예 AND && a && b a와 b가모두 true일때만 true OR a b a와 b 중하나만 true이면 true NOT!! a a가 true이면 false, a가 false이면 true

연산자와연산식 비트연산비트단위연산은피연산자의비트표현에적용되는연산자이다. AND 연산은 1 과 1 인경우에만결과가 1 이며, 나머지의경우는모두 0 이된다. OR 연산은양쪽중하나만 1 이면결과가 1 이된다. XOR(eXclusive OR) 는양쪽이다르면 1, 같으면 0 이된다. 연산자의미예 & ^ << >> >>> ~ &= = ^= <<= >>= >>>= 비트단위의 AND (bitwise AND) 비트단위의 OR 비트단위의 XOR 왼쪽으로쉬프트 (left shift) 오른쪽으로쉬프트 0으로채우는오른쪽쉬프트 1의보수 (1은 0으로, 0은 1로 ) AND 연산후치환 OR 연산후치환 XOR 연산후치환왼쪽쉬프트후치환오른쪽쉬프트후치환 0으로채우는쉬프트후치환 a & b a b a ^ b a << move a >> move a >>> move ~a a &= b a = b a ^= b a <<= move a >>= move a >>>= move

간단한입출력 표준출력 표준출력은 System.out 의밑에여러개의함수들이있음 ( 구체적인설명을뒤에서함 ) println( 내용 ), print( 내용 ) 내용이여러개인경우, + 연산자를사용 내용이숫자만있을경우더하기가되지만, 스트링이있으면연결이됨 printf( 형식, 내용 ), format( 형식, 내용 ) 형식은 C 언어와유사함 %c, %d, %s, %f

간단한입출력 표준입력 표준입력은 System.in 의밑에여러개의함수들이있음 한글자만입력받음 read() : System.in. read() 여러글자입력 여러글자를입력받기위해서는버퍼 (buffer) 를선언해이용해야함 BufferedReader 를이용하는방법이있음 선언이복잡 Scanner 를이용하는방법 C 언어의 scanf() 와유사 이책에서는보다간단한 Scanner 를이용한다.

간단한입출력 표준입력 Scanner 이용 1: import java.util.*; 2: public class ReadInteger { 3: public static void main(string args[]){ 4: Scanner buf = new Scanner(System.in); 5: System.out.println(" 두정수를입력 "); 6: int x = buf.nextint(); 7: int y = buf.nextint(); 8: System.out.println(" 두수의합은 "+(x+y)); 9: } 10:} String x = buf.next(); // 스트링 short x = buf.nextshort(); // 정수형 int x = buf.nexting(); long x = buf.nextlong(); double x = buf.nextdouble(); // 실수형 float x = buf.nextfloat();

간단한입출력 생각해보기 1. 두정수를입력받아, 사칙연산결과를출력하는프로그램을작성해보자. 2. 1 번을완성했다면, 사칙연산중나눗셈의경우, 소수점이하도출력되도록수정해보자. (hint) 형변환 (type casting) 을활용

import java.util.*; public class Opertation_test { public static void main (String [] args) { int no1,no2; Scanner s = new Scanner(System.in); System.out.print(" 두정수를입력하세요 : "); no1 = s.nextint(); no2 = s.nextint(); System.out.println( " 두수의덧셈 " + (no1+no2) ); System.out.println( " 두수의뺄셈 " + (no1-no2) ); System.out.println( " 두수의곱셈 " + (no1*no2) ); System.out.println( " 두수의나눗셈 " + ((float)no1/no2) ); } }