제5장 변수, 연산자, 수식.

Slides:



Advertisements
Similar presentations
Ⅰ. 연산자 Ⅱ. 제어 구조. 연산자 : 할당 연산자 - 사용자가 정의한 변수에 임의의 값을 저장하는 기능 strvar = strVar1+ “ Hello ”
Advertisements

6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr Chapter 3 변수와 자료형.
Part 03 상수, 변수, 자료형 ©우균, 창병모 © 우균, 창병모.
ㅎㅎ 구조체 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스 구조체 배열.
제 9 장 포인터.
#include <stdio.h> int main(void) { float radius; // 원의 반지름
제 9 장 구조체와 공용체.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 12. 포인터의 이해.
Lesson 5. 레퍼런스 데이터형.
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
Chapter 04 C 연산자의 이해.
4.1 자바 응용 프로그램 분석 4.2 식별자(identifier)와 예약어 4.3 변수와 자료형
Lesson 6. 형변환.
5장. 참조 타입.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
Power Java 제4장 자바 프로그래밍 기초.
C++ Espresso 제12장 템플릿.
23장. 구조체와 사용자 정의 자료형 2.
6장. printf와 scanf 함수에 대한 고찰
[INA470] Java Programming Youn-Hee Han
Tail-recursive Function, High-order Function
Chapter 07. 기본 함수 익히기.
Java 기초 (Java 프로그램의 기본 구조)
11장. 1차원 배열.
C#.
13. 연산자 오버로딩.
JA A V W. 03.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
C 언어 교육 02 주차 – scanf & 반복문과 조건문 교육부장 조하정.
어서와 C언어는 처음이지 제14장.
13. 포인터와 배열! 함께 이해하기 IT응용시스템공학과 김 형 진 교수.
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장. 변수와 타입.
컴퓨터 프로그래밍 기초 - 5th : 조건문(if, else if, else, switch-case) -
자바 5.0 프로그래밍.
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
Chapter 02. 자바 기본 문법.
8주차: Strings, Arrays and Pointers
5강. 배열 배열이란? 배열의 문법 변수와 같이 이해하는 배열의 메모리 구조의 이해 레퍼런스의 이해 다차원 배열
Choi Seong Yun 컴퓨터 프로그래밍 기초 #03 : 변수와 자료형 Choi Seong Yun
Canary value 스택 가드(Stack Guard).
[ 단원 04 ] 반복과 배열.
2부 기본 구조 2부에서는 자바 언어의 기본구조인 변수, 자료형, 연산자, 선택 및 반복논리, 배열 등에 관해 설명합니다
제 15 강 문자와 코드 shcho.pe.kr.
에어 PHP 입문.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
Lecture 02 프로그램 구조 및 문법 Kwang-Man Ko
Chapter 02 C# 기본 01 기본 용어 06 증감 연산자 02 출력 07 자료형 검사
Numerical Analysis Programming using NRs
8장 선택 논리 II 1. 논리연산자 1.1 논리연산자 : AND (&&) 1.2 논리연산자 : OR (||)
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
어서와 C언어는 처음이지 제21장.
개정판 누구나 즐기는 C언어 콘서트 제13장 동적 메모리 출처: pixabay.
제 3장 연 산 자 연 산 자 의 종 류 연 산 자 우 선 순 위 형 변 환.
13. 포인터와 배열! 함께 이해하기.
6 객체.
2019 2학기 9장 배열과 포인터 1. 주소, 주소연산자(&) 2. 포인터, 역참조연산자(*) 3. 배열과 포인터.
Presentation transcript:

제5장 변수, 연산자, 수식

이번 장에서 학습할 내용 변수 선언 기초 자료형과 참조 자료형 각종 연산자 수식의 계산

변수 변수(variable) : 데이터 값들이 저장되는 메모리 공간 int 데이터 변수의 타입 변수의 이름

변수와 상수 변수(variable): 저장된 값의 변경이 가능한 공간 상수(constant): 저장된 값의 변경이 불가능한 공간 (예) 3.14, 100, ‘A’, “Hello World!” 모든 애니메이션은 한번의 클릭으로 상자에 들어간 후 이동 모션까지 완료됨 클릭1 : 변수 애니메이션 클릭2 : 상수 애니메이션 클릭3 : Q&A * 변수(원) 애니메이션 : 슬라이드가 끝날 때까지

자료형 자료형(data type): 자료의 타입 물건을 정리하는 상자도 다양한 타입이 있듯이 자료를 저장하는 변수도 다양한 종류가 있다. 그림 5-2 . 자료형에는 여러 가지 종류가 있다.

자료형의 분류 기초형과 참조형으로 나누어진다. 그림 5-3 . 기초형과 참조형

변수의 선언과 초기화 하나의 문장에서 변수를 여러 개 선언할 수도 있다. int index, total = 0;

변수의 이름 변수의 이름은 식별자(identifier)의 일종 변수 이름의 규칙 식별자는 유니코드 문자와 숫자의 조합(한글 가능!) 식별자의 첫 문자는 일반적으로 유니코드 문자 두 번째 문자부터는 문자, 숫자, _, $ 등이 가능하다. 대문자와 소문자는 구별된다. 식별자의 이름으로 키워드(keyword)를 사용해서는 안 된다.

변수 이름의 예

식별자의 관례  

예제 한글 변수 이름도 가능합니다.

중간 점검 문제 1. 변수에 새로운 값이 대입되면 기존의 값은 어떻게 되는가? 2. days와 Days는 동일한 변수인가 아닌가? 3. 다음 중에서 올바르지 않은 변수이름은? x, 8items, march09, sales_report, theProfit2009, #ofPlayer

기초형 표 5-2 . 기초 자료형

정수형 int는 32비트를 이용하여 약 -21억에서 21억 정도의 정수를 표현 long은 64비트를 이용 short는 16비트를 이용하여 -32,768에서 +32767사이의 정수를 표현 byte는 8비트 정수로서 -128에서 +127까지의 정수를 표현 (Q) 만약 다음과 같이 정수형의 변수에 범위를 벗어나는 값을 대입하면 어떻게 될까? byte number = 300;// 오류!! (A) 컴파일 오류가 발생한다.

정수형 상수 상수 또는 리터럴(literal)이란, x = 100;에서 100과 같이 소스 코드에 쓰여 있는 값 여러 진법 사용 가능

예제 빛이 1년 동안 가는 거리 : 9460800000000 km.

예제

기호 상수 상수에 이름을 주어서 변수처럼 사용 final double PI = 3.141592; 숫자보다 이해하기 쉽고, 값의 변경이 용이하다.

논리형 논리형(boolean type)은 true 아니면 false만을 가질 수 있다. boolean condition = true;

예제 b : true b : false

실수형 float는 32비트를 이용하여 실수를 표현 double은 64비트를 이용하여 실수를 표현

예제 원의 면적은 78.5398

실수형 상수 다음 문장이 오류가 나는 이유는? JDK 7부터 실수형 상수에도 밑줄 기호를 사용할 수 있다.

특수한 실수값 양의 무한대(positive infinity): 오버플로우 음의 무한대(negative infinity): 언더플로우 NaN(Not a Number): 유효하지 않은 연산

문자형 아스크 코드가 아니라 유니 코드(unicode)를 사용

문자열 자바에서는 문자열은 String 클래스로 제공된다. 문자열 변수를 선언하려면 String 타입을 사용한다.

예제 public class CharTest { public static void main(String[] args) { char c; c = 'a'; System.out.println(c); c = '가'; String s = "Hello World!"; System.out.println(s); } 문자형 변수 문자열 a 가 Hello World!

중간 점검 문제 변수가 36에서 5000정도의 값을 저장하여야 하다면 어떤 자료형이 최적인가? 2. 변수가 -3000에서 +3000까지의 값을 저장하여야 하다면 어떤 자료형이 최적인가? 3. 0.025를 지수 표기법으로 표기하여 보라. 4. 어떤 리터럴(상수)이 더 많은 메모리 공간을 차지하는가? 28.9 28.9F 5. booelan 자료형이 가질 수 있는 값을 전부 쓰시오.

연산자와 피연산자 연산자(operator)는 특정한 연산을 나타내는 기호 피연산자(operand)는 연산의 대상 그림 5-5 . 연산자와 피연산자

자바에서 지원하는 연산자

수식 수식이란 상수나 변수, 함수와 같은 피연산자들과 연산자의 조합 그림 5-6 . 수식의 예

대입 연산자 대입 연산자(=)는 왼쪽 변수에 오른쪽 수식의 값을 계산하여 저장 대입 연산자 == 할당 연산자 == 배정 연산자라고도 한다. 그림 5-7 . 대입 연산

산술 연산자 표 5-5 . 산술 연산자의 종류

예제 false true

예제 + 연산자는 문자열을 결합한다. public class StringOperator { public static void main(String[] args) { String s1 = "Hello"; String s2 = " World"; String s3 = s1 + s2; System.out.println(s3); } Hello World

단항 연산자 표 5-6 . 단항 연산자

예제

복합 대입 연산자

관계 연산자 표 5-7 . 관계 연산자

예제 false true

논리 연산자 표 5-8 . 논리 연산자

예제 false true

삼항 연산자

중간 점검 문제 1. 다음의 각 변수의 값을 적어보라. int x = 1; int y = 1; int a = ++x * 2;// a의 값은 ___________ int b = y++ * 2; // b의 값은 ___________ 2. 다음 수식의 값을 쓰시오. 12/5 - 3 5 + 19%3

연산자의 우선 순위 어떤 연산자를 먼저 계산할 것인가? 괄호 안은 먼저 계산된다.

연산자의 결합 규칙 만약 같은 우선 순위를 가지는 연산자들이 여러 개가 있으면 어떤 것을 먼저 수행하여야 하는가? 대부분의 연산자가 왼쪽에서 오른쪽으로 수행되지만 몇 개의 연산자는 오른쪽에서 왼쪽으로 연산이 진행된다. 대입 연산자가 대표적이다.

중간 점검 문제 1. 다음의 수식에서 연산의 순서를 적으시오. (1) x = y = 3 / 5 * 2 % 6; (2) y = a * x * x + b * x + c;

비트 연산자 표 5-10 . 비트 연산자

예제 ff0 ffff f00f fffff000 fff0 ff 268435455

중간 점검 문제 1. 변수 y, z, a, b의 값은? int x = 0xff0f; int y = x << 4; int z = x >> 4; int a = x & 0xf0ff; int b = x | 0xf0ff;

형변환 형변환(cast)는 어떤 자료형의 값을 다른 자료형의 값으로 바꾸어 주는 연산 그림 5-8 . 형변환

축소 변환 i = (int) 12.5;// i에는 12만 저장 (주의) 위의 예에서는 소수점 이하는 사라진다. 데이터의 일부를 잃을 수 있음

확대 변환 더 큰 크기의 변수로 값을 이동하는 변환 double d = (double) 100;// 정수 100이 변수 d에 100.0으로 형변환되어서 저장

예제 1.0 1.25 2

LAB 어떤 도시가 메트로폴리스(거대도시)가 되려면 다음과 같은 2가지 조건 중의 하나를 만족하여야 한다고 가정하자. ① 한 나라의 수도이고 인구가 100만 이상이어야 한다. ② 연 소득이 1억 이상인 인구가 50만 이상이어야 한다.

실행 결과 수도입니까?(수도: 1 수도아님: 0)1 인구(단위: 백만)200 부자의 수(단위: 백만)100 메트로폴리스 여부: true

SOURCE

도전문제 유사한 문제로 사용자에게 연도를 입력 받아서 윤년인지를 검사하는 프로그램을 작성하여 보자. 윤년이 되려면 먼저 4의 배수이어야 하고 동시에 100의 배수가 아니어야 한다. 또 400의 배수는 무조건 윤년이 된다. 배수는 %연산자로 x%100==0과 같이 검사할 수 있다.