Lecture 05 문자열, 배열, 디버깅 Kwang-Man Ko

Slides:



Advertisements
Similar presentations
2015학년도 1학기 버디 프로그램 오리엔테이션 (목) 16:00.
Advertisements

2009학년도 가톨릭대학교 입학안내.
다문화가정의 가정폭력의 문제점 연세대학교 행정대학원 정치행정리더십 2학기 학번 이름 홍 진옥.
第1篇 자치입법 개론.
예수의 제자들 담당교수 : 김동욱.
남북 탑승객 150명을 태운 디젤기관차가 2007년 5월 17일 오전 경의선 철길을 따라 남측 최북단 역인 도라산역 인근 통문을 통과하고 있다. /문산=사진공동취재단.
화장품 CGMP 한국콜마㈜.
14 장 근거리통신망 : 이더넷(Ethernet)
UV Sterilizer 냉온 정수기를 위한 UV살균기
2015 가을학기 철근콘크리트 구조설계 김진근 교수 건설 및 환경공학과 KAIST.
FXOpen E-Sports Team(약칭 FXO)
안재홍선생님의관한글 - Windows 3-1반 조범기- 한번넘겨보세요!.
의료광고 실태 조사 조윤미(녹색소비자연대 상임위원).
문학의 세계 01 견우의 노래 02 황만근은 이렇게 말했다 03 토막 04 한중록.
초등학교 학습지 사업계획서. 초등학교 학습지 사업계획서 목 차 Ⅰ. 회사개요 Ⅱ. 사업추진배경 Ⅲ. 시장현황 및 사업성도출 Ⅳ. △△△ 소개 Ⅴ. 사업운영계획 Ⅵ. 사업추진계획 목 차 Ⅰ. 회사개요 Ⅱ. 사업추진배경 Ⅲ. 시장현황 및 사업성도출 Ⅳ. △△△ 소개.
취업정보 홈페이지 (job.inha.ac.kr)
농산물 무역론 정보분석 韓-칠레 FTA 그 이후 발표일 2004년 09월 21일 화요일 제 5 조 이 준 복 김 남 형
LGT 산업 분석 경북대학교 경영대학원 경 영 학 과 10조 산 김미정 김상구
중소기업 기술과 경영을 융합하는 컨설팅 지향! 경영혁신 활동을 통한 기업의 가치창조!! 사업영역 연구개발
남한 언론에서 보여지는 러시아의 모습.
3. 나라 안에서 전개된 민족 운동 실력 양성 운동의 전개 2.
2016학년도 대학 생활 안내.
엘리제를 위하여(베토벤).
세계은행 그룹 (World Bank Group)
“부양책 효과기대…주가는 경기에 6개월 선행”
소공동체 의 활동과 선교.
9월 개강 총회.
Light field camera and its applications
다산(茶山) 정약용[丁若鏞] 조선 후기의 실학자 태어난 때: 1762(영조 38), 죽은 때: 1836(헌종 2)
한국 전통 놀이 정 용 용
유전 알고리즘 (Genetic Algorithm)
신평양조장 백련주, 하얀연꽃 맑은술.
세상에는 눈물뿐이고 1 세상에는 눈물뿐이고 고통만 닥쳐와도 내 심령은 예수님으로 기쁜 찬송 부르네 나는 예수님만으로 참 만족을 누리네 세상 영광 다 준대도 주님과 못 바꾸네.
총 128개 조항 [전문, 본문 123개, 부칙 4] (기존 단체협약 총141개 조항 : 전문, 본문137, 부칙3) 기존 단체협약 유지 : 66개 변경 조항 : 62개 ① 삭제 5개 조항 ○ 제 29조 (인사위원회 의견 개진) ○ 제 31조 (근로자 추천) ○ 제 53조.
Pipette의 사용법과 Buffer의 용량 계산법
우리나라 민요 1229 조예은.
레위기 3.번제 번제단 대구교회 중심부 장기희.
2010 충청남도교육청 지정 시범학교 운영 보고 바른품성 5 운동 전개.
강의 중반부 시연.
1. 축구 - 남자 초등부: 11팀 목포, 여수, 순천, 나주, 광양, 장흥, 영암, 무안, 함평, 영광,장성
내가 갖고 싶은 직업. 내가 갖고 싶은 직업 살아가기 힘들 때마다 문득 생각나는 사람이 있다.
제4장 1절 금융시장(과 통화정책).
파동방정식.
위기의 정치경제학 한국경제, 위기인가? 정 태 인.
줄탁동시 / C. A. N / 기획력 혁신 / V- OCEAN / CS 혁신
Emphysematous Pyelonephritis
Adaptive Boost (AdaBoost)
소셜 웹 환경에서의 사회 인지 컴퓨팅 Professor Chung, In-Jeong
게임웹사이트운영 [11] 모바일 페이지 작성.
Three modes의 비교.
해커스 공무원 국어 유정민 최다빈출 한자성어특강 (6)
해커스 공무원 국어 유정민 최다빈출 한자성어특강 (5)
부모 교육 프로그램 - 부모참여 수업을 중심으로 -
정진항 : 대한민국憲法 (韓南大學校 교양) 정진항 :
4부 클래스 라이브러리 “4부에서는 자바 언어의 API인 클래스 라이브러리에 관해 설명합니다
2강. JAVA 프로그래밍이란?-II & 변수 JAVA 프로그램 환경설정과 실행 방법 변수란?
정수처리 방법.
초기화면 음 악 5 학년 15. 바닷가에서 (3/3) 를 감상하고 다양하게 표현하기.
Interactive Generation of Structured Human Motion Using Spatiotemporally-Conditioned Recurrent Neural Networks 이경호
23강 API - II - 약방의 감초 Random 클래스 - Scanner 및 Sysout - Wrapper 클래스의 이해
Arrays 요약.
어느 날 문득(주님의 숲) 어느 날 문 득 당 신 이 찾 아온- 푸 르 른 저 숲 속 에
03. 안드로이드를 위한 Java 문법 제목. 03. 안드로이드를 위한 Java 문법 제목.
땀샘 12 기 덕정초등학교 6학년 4반.
8 캐시기억장치 IT CookBook, 컴퓨터 구조와 원리 2.0.
재무관리 가톨릭관동대 경영학과 2017년 가을학기 강의 : 김을진
별자리, 밤하늘의 이해 생활 속의 천문학.
7. 힘과 운동 운동 방향과 나란하지 않게 힘을 받는 물체의 운동.
Lecture 03 제어문과 메소드 Kwang-Man Ko
Presentation transcript:

Lecture 05 문자열, 배열, 디버깅 Kwang-Man Ko kkmam@sangji.ac.kr, compiler.sangji.ac.kr Department of Computer Engineering Sang Ji University 2018

문자열 (string) 문자열의 선언과 생성 문자열 리터럴은 내부적으로 new String()을 호출해 생성한 객체 s1은 new String(“안녕, 자바!”)를 호출해서 생성한 객체 내용이 같은 문자열 리터럴이라면 더 이상 새로운 String 객체를 생성하지 않은 채 기존 리터털을 공유. 따라서 s1과 s2는 동일한 String 객체

문자열 문자열의 비교 ==와 != 연산자는 두 문자열의 내용을 비교하는 것이 아니라 동일한 객체 인지 검사 예제 : sec01/String1Demo.java

문자열 문자열 비교 String 클래스에서 제공하는 문자열 비교 메서드 예제 : sec01/String2Demo.java

문자열 문자열 조작 : String 클래스에서 제공하는 메서드

문자열 문자열의 조작 예제 : sec01/String3Demo.java 예제 : sec01/String4Demo.java

배열 (array) 배열이란

배열 배열의 필요성

배열 기초 배열의 선언과 생성 배열의 선언 : 실제는 배열 변수의 선언 배열의 선언과 생성 : 실제는 배열 변수의 선언과 초기화

배열 배열의 선언과 생성

배열 배열 원소의 접근 배열의 크기 예제 : sec02/Array1Demo.java 배열이 생성될 때 배열의 크기가 결정 배열의 length 필드가 배열의 크기를 나타냄. scores가 가리키는 배열의 크기는 scores.length 예제 : sec02/Array1Demo.java

배열 기초 다차원 배열 (multi-demension array) 배열의 배열 학생 3명의 5과목 성적을 처리하는 정수 타입 2차원 배열(3행 × 5열)인 scores를 선언하고 생성.

배열 다차원 배열 선언과 초기화 예제 : sec02/Array2Demo.java

배열 동적 배열 (static array) 처리할 데이터의 개수가 고정된 경우가 아니라면 정적 배열은 자원을 낭 비하거나 프로그램을 다시 컴파일 자바는 크기가 유동적인 배열을 지원하기 위하여 ArrayList 클래스를 제공

배열 기초 동적 배열 ArrayList 객체 생성 ArrayList 원소 접근 예제 : sec02/ArrayListDemo.java 기초 타입이라면 Integer, Long, Short, Float, Double 등을 사용한다.

배열 응용 배열을 위한 반복문 for~each 반복문 : JDK 5부터 도입된 것으로 for 문을 개선한 방식. 특정 원소 를 나타내기 위한 인덱스를 사용하지 않음. 예제 : sec03/ForEachDemo.java

배열 응용 메서드의 인수로 배열 전달 예제 : sec03/IncrementDemo.java

배열 응용 메인 메서드의 매개변수 전달 명령창에서의 실행 명령 예제 : sec03/MainArgumentDemo.java

배열 응용 메인 메서드의 매개변수 전달 이클립스에서 매개변수 제공

배열 응용 가변 개수 인수 JDK 5부터는 메서드에도 데이터 타입이 같은 가변 개수(variable length)의 인 수를 전달 가능 한 개의 가변 개수 매개변수만 사용 가능하며 가변 개수 매개변수는 마지 막에 위치 가변 개수 인수를 가진 메서드를 호출하면 내부적으로 배열을 생성하여 처리 예제 : sec03/VarArgsDemo.java

배열 응용 객체의 배열 객체 배열은 객체를 참조하는 주소를 원소로 구성 Ball 클래스의 객체로 구성된 배열을 선언하고 초기화

배열 응용 객체의 배열 예제 : sec03/CircleArrayDemo.java

배열 응용 매개변수로 객체 전달 예제 : sec03/ObjectArgumentDemo.java

디버깅 오류의 종류 변수 n2에는 n2, 변수 n3에는 n3, 변수 m에는 n/d을 대입하는 예제

디버깅 이클립스를 이용한 디버깅 과정 이클립스는 에디터 뷰에 문법 오류는 알려주지만 논리 오류는 알려주지 않음 이클립스는 에디터 뷰에 문법 오류는 알려주지만 논리 오류는 알려주지 않음 논리 오류는 프로그램 실행 도중에 변수 상태를 추적하는 것이 가장 기본 적인 오류 점검 방식 디버그 퍼스펙티브로 이동

디버깅 디버깅 명령어와 이클립스 단축키

디버깅 샘플 프로그램 예제 : sec04/Debug2Demo.java

디버깅 디버그 퍼스펙티브와 중단점 설정

디버깅 디버그 퍼스펙티브와 각종 실행 버튼

디버깅 디버그 퍼스펙티브와 변수 추적

디버깅 디버그 퍼스펙티브와 실행 결과