자바 프로그래밍 입문 : 객체지향적 사고법 chapter 04. 연산자와 제어문.

Slides:



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

파이썬 (Python). 1 일 : 파이썬 프로그래밍 기초 2 일 : 객체, 문자열 3 일 : 문자인코딩, 정규표현식, 옛한글 4 일 : 파일 입출력 5 일 : 함수와 모듈 6 일 : 원시 말뭉치 다루기 실습 7 일 : 주석 말뭉치 다루기 실습 8 일 : 웹 데이터로.
Python Ch.06 RaspberryPi Sejin Oh. Raspberry Pi Python  IDLE(Integrated Development Environment)  라즈베리 파이 배포본들은 일반적으로 파이썬과 파이썬 3 의 IDLE 파 이썬 개발 도구를.
변수와 조건문 빛나리 36 호 박승운. 파이썬 쉽게 사용하기 Python IDLE 사용 FILE - New File 로 파일 만들기 Run – Run Module 로 실행하기.
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
Part 03 상수, 변수, 자료형 ©우균, 창병모 © 우균, 창병모.
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
C 5장. 제어문 #include <stdio.h> int main(void) { int num;
Chapter 7. 조건문.
제 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.
고급 선택 제어문과 반복문 Chapter 9 C에서의 다중 선택 제어문 선 검사 반복 구조와 for 문
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
Part 05 순수한 연산자 ©우균, 창병모 © 우균, 창병모.
23장. 구조체와 사용자 정의 자료형 2.
3장 자바의 기본문법(2).
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 03. 변수와 연산자.
자바 5.0 프로그래밍.
11장. 1차원 배열.
C#.
13. 연산자 오버로딩.
MATLAB
JA A V W. 03.
C 언어 교육 02 주차 – scanf & 반복문과 조건문 교육부장 조하정.
어서와 C언어는 처음이지 제14장.
Lesson 4. 수식과 연산자.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
7장. 다양한 형태의 반복문. 7장. 다양한 형태의 반복문 7-1 반복문이란? 반복문의 기능 세 가지 형태의 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 7-1 반복문이란? 반복문의 기능 특정 영역을 특정 조건이 만족하는 동안에 반복.
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
Lesson 2. 기본 데이터형.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
연산자 (Operator).
에어 조건문.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
2장. 변수와 타입.
컴퓨터 프로그래밍 기초 - 5th : 조건문(if, else if, else, switch-case) -
Choi Seong Yun 컴퓨터 프로그래밍 기초 #06 : 반복문 Choi Seong Yun
자바 가상 머신 프로그래밍 Chap 10. 자바 컴파일링의 안쪽 ② Pslab 오민경.
김선균 컴퓨터 프로그래밍 기초 - 7th : 함수 - 김선균
Chapter 02. 자바 기본 문법.
5장 선택제어문 if 선택문 switch-case 선택문 다양한 프로그램 작성 조건 연산자.
17장. 제어문과 내장 함수 제어문 내장 함수 제어문 내장 함수.
Choi Seong Yun 컴퓨터 프로그래밍 기초 #03 : 변수와 자료형 Choi Seong Yun
8장. 조건에 따른 흐름의 분기. 8장. 조건에 따른 흐름의 분기 8-1 흐름의 분기가 필요한 이유 상황에 따른 프로그램의 유연성 부여 그림 8-1.
CHAP 21. 전화, SMS, 주소록.
[ 단원 04 ] 반복과 배열.
2부 기본 구조 2부에서는 자바 언어의 기본구조인 변수, 자료형, 연산자, 선택 및 반복논리, 배열 등에 관해 설명합니다
Chapter08 JavaScript 시작하기
Chapter 02 C# 기본 01 기본 용어 06 증감 연산자 02 출력 07 자료형 검사
7장. 다양한 형태의 반복문. 7장. 다양한 형태의 반복문 7-1 반복문이란? 반복문의 기능 세 가지 형태의 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 7-1 반복문이란? 반복문의 기능 특정 영역을 특정 조건이 만족하는 동안에 반복.
Chapter 10 데이터 검색1.
16장. 변수, 연산자, 사용자 정의 함수 변수 배열과 객체 연산자 함수.
Numerical Analysis Programming using NRs
8장 선택 논리 II 1. 논리연산자 1.1 논리연산자 : AND (&&) 1.2 논리연산자 : OR (||)
윤성우의 열혈 C++ 프로그래밍 윤성우 저 열혈강의 C++ 프로그래밍 개정판 Chapter 05. 복사 생성자.
 6장. SQL 쿼리.
제 3장 연 산 자 연 산 자 의 종 류 연 산 자 우 선 순 위 형 변 환.
Visual Basic .NET 기초문법.
6 객체.
3장 자바의 기본문법(2).
2019 2학기 9장 배열과 포인터 1. 주소, 주소연산자(&) 2. 포인터, 역참조연산자(*) 3. 배열과 포인터.
Presentation transcript:

자바 프로그래밍 입문 : 객체지향적 사고법 chapter 04. 연산자와 제어문

학습목표 객체와 연산자 학습 객체 학습 연산자 학습 제어문 학습 반복문 학습 조건문 학습 동의대 김미진

순서 자바 언어의 연산자 연산자 우선순위 문자 데이터형과 문자열 객체 제어문 동의대 김미진

자바 언어의 연산자 프로그래밍의 기본 로직 자바 언어의 연산자 변수 연산자 제어문 메모리와 연산기를 통한 판단 및 처리 여러 개의 로직을 모아서 메소드를 구성 자바 언어의 연산자 단항, 다항 적용 우선 순위 좌우 결합성 동의대 김미진

객체 연산자 new 키워드 점 (.) 연산자 클래스로 부터 객체를 생성 생성자 호출 객체 참조 반환 참조 변수 또는 클래스 이름 뒤에 붙음 객체나 클래스의 메소드 또는 변수를 나타냄 private으로 선언되지 않은 메소드나 변수만 접근 가능 동의대 김미진

String str = new String("가나다"); 클래스로 부터 객체 생성 String str = new String("가나다"); int i = 10; 기본형 변수는 new 키워드를 사용하지 않는다. 문자열 객체에 한해서 new 키워드 없이 객체 생성이 가능하다. 동의대 김미진

System.out.println("Hello, World!"); . (점) 연산자 클래스/객체 변수/메소드 접근 System.out.println("Hello, World!"); 클래스명 System 클래스의 PrintStream형 객체의 참조변수 out 객체의 참조변수 (클래스 변수) System.out 클래스 (참조) 변수 out.println("") 객체 메소드 동의대 김미진

. 연산자 예제 결과 환영, 자바 프로그래밍! 동의대 김미진

할당 연산자 '=' (할당) 연산자 할당 연산자 규칙 오른쪽 값을 왼쪽 변수에 저장함 수학에서의 등호는 '==' 로 표현 할당 연산자는 항상 + 또는 – 값을 취함 자바는 unsigned 값이 없음 boolean형은 true 또는 false 값만을 취함 오른쪽 값과 왼쪽 변수는 항상 같은 데이터형 이거나 자동 형변환이 가능해야함 동의대 김미진

할당 연산자 예제 결과 i = 10 i = 30 동의대 김미진

숫자형 연산자 산술 연산자 필요 항에 따른 연산자 분류 숫자를 이용한 연산자 사칙 연산 (+, -, *, /)과 나머지 (%) 연산자 연산 결과로 자동 형변환이 발생함 필요 항에 따른 연산자 분류 단항 연산자 항이 하나인 증감 연산자 이항 연산자 항이 두개인 사칙 연산자 및 % 연산자 항이 두개인 사칙 저장 연산자 동의대 김미진

산술 연산자 연산자 예 결과 설명 + 10 + 20 30 덧셈 - 10 – 20 -10 뺄셈 * 10 * 20 200 곱셈 / 10 / 20 0 (정수인 경우) 나눗셈 % 10 % 20 10 나머지 동의대 김미진

산술 연산자 예제 x = 10 y = 20 x + y = 30 z = z + x, z = 40 z = z + 1, z = 41 결과 x = 10 y = 20 x + y = 30 z = z + x, z = 40 z = z + 1, z = 41 ... 동의대 김미진

비교 논리 연산자 비교 논리 연산자 비교연산자 예 결과 설명 < 5 < 3 false 작다 > 5 > 3 두 수를 비교하여 true 또는 false를 결정 비교연산자 예 결과 설명 < 5 < 3 false 작다 > 5 > 3 true 크다 == 5 == 3 같다 <= 5 <= 3 작거나 같다 >= 5 >= 3 크거나 같다 != 5 != 3 같지 않다

비교 연산자 종류 비교 연산의 세 가지 종류 연산 종류 예 결과 설명 5 > 3 true 두 수가 큰지, 작은지, 같은지 판별하는 기본 비교 연산 비교 연산과 논리 연산을 연결하는 비교 논리 연산 객체형이 맞는지 틀리는지 판변하는 동종 판별 연산 연산 종류 예 결과 설명 비교 연산 5 > 3 true 비교 논리 연산 5 > 3 && 5 < 3 false 논리합 동종 판별 x instanceof String ? x가 String 객체에 해당되는지를 확인 15 동의대 김미진

비교 연산 예제 5 > 3 => true 5 > 3 && 3 > 5 => false str instanceof String => true obj instanceof System => false 결과 동의대 김미진

조건 연산자 조건 연산자 a = x ? y : z 조건 연산자를 이용할 때 지켜야할 사항 삼항 연산자 if else 문과 유사한 형태로 사용 가능하며 그 결과는 논리 연산 결과에 따라서 2항 또는 3항의 값으로 결정됨 조건 연산자를 이용할 때 지켜야할 사항 a = x ? y : z 와 같이 사용 x는 boolean형 또는 비교 연산을 적용 y와 z의 데이터형은 a로 변환 가능해야 함 모든 조건 연산은 if문과 비교 연산으로 대치 가능함 조건 x가 true일 경우에는 y의 값이 a에 할당되며 조건 x가 false일 경우에는 z의 값이 할당됨 a = x ? y : z 동의대 김미진

조건 연산자 예제 결과 y = 0 동의대 김미진

비트 연산자 비트 연산자 연산 속도 << 좌 쉬프트 연산자 – 값의 2배 >> 우 쉬프트 연산자 – 값의 ½배 연산 속도 곱셈 연산자 * (곱셈 연산자)는 곱셈 연산기를 이용하여 복잡함 다양한 데이터형의 곱셈 연산이 가능함 <<, >> (비트 연산자)는 단순히 레지스터의 값을 비트 단위로 이동하여 매우 빠름 2배 또는 ½배 연산만 가능함 (데이터 형 무시) 동의대 김미진

비트 연산자 동작 << 1비트씩 좌로 이동 (값을 2배 한 것과 동일한 효과) >> 1비트씩 우로 이동 (값을 1/2배 한 것과 동일한 효과) 동의대 김미진

비트 연산자 예제 x의 값을 좌우 쉬프트하여 이진수로 표현하는 예제 결과 동의대 김미진

비트 논리 연산자 동의대 김미진

논리 비트 연산자 예제 결과 x = 0000000110100100 y = 0000010010110000 x | y = 0000010110110100 x & y = 0000000010100000 x ^ y = 0000010100010100 ~ x = 1111111001011011 동의대 김미진

캐스팅 연산자와 변환 캐스팅 특정 데이터형의 값을 다른 데이터형의 값으로 변환 표현 범위가 넓은 쪽으로 자동 변환됨 byte < short < int < long float < double 표현 범위가 좁은 쪽으로는 명시적인 변환이 요구됨 L은 long을, F는 float을 나타냄 동의대 김미진

잘못된 캐스팅의 예 잘못된 형변환의 예 수정한 형변환의 예 L은 long형을 의미함 소수점은 기본적으로 double형 long형은 (int)로 명시적 형변환 필요 double형은 (float)로 명시적 형변환 동의대 김미진

연산 후 자동 형 변환 연산 후 자동 형 변환 연산 결과 오버플로우를 막기 위한 방법 연산 결과는 한 단계 높은 범위의 형으로 자동 변환됨 short형의 연산 결과는 int형 단, int형은 예외로 int형을 유지 (자주 사용되므로) boolean형은 int형으로 형변환 불가능 <컴파일 오류> <컴파일 정상 완료> <컴파일 정상 완료> 형변환 컴파일 오류 발생 동의대 김미진

연산자 우선 순위 간단한 연산자 우선 순위 비교 곱셉, 나눗셈이 덧셈 뺄셈보다 우선순위가 높음 우선 순위가 높은 연산자를 중심으로 연산이 수행됨 결과 10 + 5 * 2 = 20 (10 + 5) * 2 = 30 동의대 김미진

연산자 우선 순위 결합 연산자의 결합 순서 산술 연산식의 몇 가지 규칙 좌결합성 (왼쪽에서 오른쪽으로) 곱셈 * 우결합성 (오른쪽에서 왼쪽으로) 단항 증감 연산자 ++ -- 이에 따라 연산 결과가 달라짐 산술 연산식의 몇 가지 규칙 모호한 수식은 피하고, 가급적 괄호를 이용하여 명확하게 함 수식 결과가 데이터형에 따른 표현 범위의 차이 때문에 잘 못된 결과가 나오지 않도록 할 것 곱셈과 나눗셈이 동시에 있을 경우에는 곱셈을 먼저 놓는 것이 바람직함 동의대 김미진

연산자 결합 순서의 예 + 연산자 왼쪽에서 오른쪽으로 결합하는 좌결합성 문자열 + 숫자형 = 문자열 숫자형 + 숫자형 = 숫자형 결과 숫자형 + 연산자 3 + 5 = 8 문자형 + 연산자 "" + 3 + 5 = 35 동의대 김미진

문자 데이터형과 문자열 객체 문자와 문자열 하나의 문자 – char 형 여러 개의 문자 – char[] 형 (배열형) 문자열 – 변경되지 않은 여러 개의 문자 (객체형) 문자 문자배열 문자열 데이터형 char char[] String 특징 유니코드 모든 배열은 객체로 취급 유용한 메소드 지원됨 동의대 김미진

문자 표현 표현 이름 설명 '\b' BS 맨 마지막 글자 삭제 '\t' TAB 현재 커서에서 가장 가까운 지정된 곳으로 이동 '\n' LF 한 행 넘김 '\r' CR 맨 앞으로 옮김 '\'' ' 작은 따옴표 '\"' " 큰 따옴표 '\\' \ 백슬러시 동의대 김미진

문자 데이터형 예제 결과 동의대 김미진

문자배열과 문자열 비교, 변환 문자배열 char[] 문자열 String 단순한 문자 배열 특정 위치의 문자를 변경할 수 있음 문자배열을 문자열로 변경 (생성자 인자값으로 이용) new String(char[]) 문자열 String 기본적으로 자바는 String 객체로 문자열을 처리 쉽게 문자열을 이용할 수 있도록 메소드 제공 문자열의 내용은 변경 불가능함 단, 메소드를 통해서 새로운 문자열 객체를 얻을 수 있음 toUpperCase(), toLowerCase() 문자열을 문자배열로 바꾸는 메소드 toCharArray() 동의대 김미진

문자열과 문자배열 예제 결과 동의대 김미진

String과 StringBuffer 클래스 문자열 객체 문자열 수정 불가능 + 연산자를 이용하여 새로운 문자열 객체 생성 StringBuffer 클래스 문자열 버퍼 객체 문자열 추가 변경 가능 append() 메소드를 이용하여 문자(열) 추가 동의대 김미진

String 예제 결과 동의대 김미진

StringBuffer 예제 결과 동의대 김미진

제어문 프로그램의 제어 구조 제어 구조의 영향 연속적인 실행 – sequence 실행 순서에 의한 순차적인 실행 판단(결정) – decision 수식 평가 결과 에 따른 실행 순서의 변경 반복 – iteration 조건이 없거나 또는 주어진 조건에 의한 구간 반복 제어 구조의 영향 절차 지향 언어 – 전체 메소드/변수 객체 지향 언어 – 클래스 내부 메소드/변수 동의대 김미진

절차 지향과 객체 지향의 차이 절차 지향 메모리 직접 접근 객체 지향 메모리는 메소드를 통한 간접 접근 동의대 김미진

제어문 로직 순서적인 실행 판단과 선택 반복 문장에 의해서 구분 세미콜론 (;)으로 구별 조건에 따른 시퀀스 변경 if-then-else, case, switch 반복 조건이 만족할 때 까지 반복 {}로 구분 while, do while, for 동의대 김미진

제어 구조 예제 (순서적인 실행, 반복) 순서적인 실행 반복 (while) 반복 (do-while) 반복 (for) 동의대 김미진

판단문 – if-then-else if-then-else 동의대 김미진

판단문 문법과 예제 – if-then-else 결과 동의대 김미진

다중 판단문 – if-then-else-if 조건이 false이고 새로운 조건이 나오면 다시 else 뒤에 if가 다시 올 수 있음 동의대 김미진

다중 판단문 형식 – if-then-else-if 동의대 김미진

다중 판단문 예제 – if-then-else-if 결과 동의대 김미진

중첩 판단문 –if-then-if-else 조건이 참일 때 다시 조건문이 등장하는 형태 특별한 거짓 조건에 대한 문장이 없으면 else 생략 동의대 김미진

중첩 판단문 문법 – if-then-if-else 동의대 김미진

중첩 판단문 예제 – if-then-if-else 결과 동의대 김미진

분기문 – switch-case switch-case 조건이 수식의 참과 거짓이 아니라 여러 개의 정수로 구분될 수 있는 경우 다중 선택이 가능한 조건문 switch 조건과 case 상수가 일치할 경우에 case 이하 수행 break; 문을 통하여 탈출 break가 없으면 이하 case문 수행 default는 어떤 조건도 만족하지 못하였을 경우에 수행하는 영역으로 생략 가능 동의대 김미진

분기문 문법 – switch-case 수식1 == 상수1 수식1 == 상수2 수식1 == 상수3 어떤 조건도 안 맞았을 경우 동의대 김미진

분기문 예제 – switch-case 결과 동의대 김미진

반복문 반복문 종류 반복문의 4가지 요소 do while 문장 블록 1회 실행 후 조건 확인 while 조건 확인 후 반복 for 초기 값, 조건, 증가분으로 이루어진 반복 문 반복문의 4가지 요소 초기화 조건 만족 확인 반복할 코드 블록 반복 수행 후 갱신 코드 동의대 김미진

반복문 – do-while do while 적어도 한번 수행 조건이 참이 되면 반복, 거짓이면 반복 종료 항상 참이면 무한 루프 발생 초기화 반복 시퀀스 do ~ while 영역 true 조건 false 시퀀스 동의대 김미진

반복문 문법 – do-while 동의대 김미진

반복문 예제 – do-while 결과 동의대 김미진

반복문 - while while 반복을 시작하기 전에 조건이 참인지 확인 조건이 참이 아니면 반복 구간 실행하지 않음 초기화 false 조건 while 영역 true 반복 시퀀스 시퀀스 동의대 김미진

반복문 문법 - while 동의대 김미진

반복문 예제 - while 결과 동의대 김미진

반복문 - for for 초기화 코드, 반복 조건, 반복 선택 코드를 한꺼번에 기술 단순화된 형태로 반복문의 4가지 요소를 표현 초기화 false 조건 for 영역 true 반복 시퀀스 시퀀스 동의대 김미진

반복문 문법 - for 동의대 김미진

반복문 예제 - for 결과 동의대 김미진

break와 continue break continue 반복문 조건과 상관없이 코드 블록을 빠져나오는 명령 반복문 종료 코드 블록에서 바로 조건을 비교하도록 하는 명령 중간 반복 구간의 실행을 생략하고 다시 조건 비교 동의대 김미진

break문 예제 결과 동의대 김미진

continue문 예제 결과 동의대 김미진

레이블의 이용 레이블의 이용 break문과 continue문과 함께 사용하여 특정 위치로 이동시키는 기능을 담당 레이블의 정의는 이름 뒤에 콜론 (:)을 이용 동의대 김미진

레이블 예제 – break 결과 동의대 김미진

레이블 예제 - continue 결과 동의대 김미진

요약 연산자 문자열 제어문 프로그래밍 언어의 기본 연산자 우선순위와 결합성이 존재 char[], String, StringBuffer 문자배열, 문자열, 문자열 버퍼 제어문 연속적인 실행 – sequence 판단문 – if-then-else, switch-case 반복문 – do while, while, for 동의대 김미진

Thank You ! www.themegallery.com