Lecture 02 프로그램 구조 및 문법 Kwang-Man Ko

Slides:



Advertisements
Similar presentations
3. 메소드와 변수 SCJP 자격증 프로젝트 발표자 : 최선웅. 1. 메 소 드 개 념 2. 메 소 드 양 식 3. 메 소 드 변 수 4. 메 소 드 예 제 5. 참 고 문 헌 / 자 료 목 차.
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 파 이썬 개발 도구를.
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
Part 03 상수, 변수, 자료형 ©우균, 창병모 © 우균, 창병모.
ㅎㅎ 구조체 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스 구조체 배열.
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
Power Java 제3장 이클립스 사용하기.
최윤정 Java 프로그래밍 클래스 상속 최윤정
4장 자바 기본 구조 4.1 자바 응용 프로그램 분석 4.2 자바 애플릿 프로그램 분석
제 9 장 구조체와 공용체.
10장 예외 Lab 10-1.
명품 JAVA Programming 제 2 장 자바 기본 프로그래밍.
Lesson 3. 입출력과 제어문.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
Lesson 5. 레퍼런스 데이터형.
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
Chapter 04 C 연산자의 이해.
4.1 자바 응용 프로그램 분석 4.2 식별자(identifier)와 예약어 4.3 변수와 자료형
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
Lesson 6. 형변환.
5장. 참조 타입.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
Power Java 제4장 자바 프로그래밍 기초.
3장 자바의 기본문법(2).
2주차: 변수, 수식, Control Flow.
6장. printf와 scanf 함수에 대한 고찰
[INA470] Java Programming Youn-Hee Han
Java 기초 (Java 프로그램의 기본 구조)
컴퓨터 프로그래밍 실습 #6 제 4 장 클래스 작성.
11장. 1차원 배열.
C#.
13. 연산자 오버로딩.
7장 인터페이스와 추상 클래스.
Method & library.
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
JA A V W. 03.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
[ 단원 02 ] 자바 프로그래밍 기초.
Lesson 4. 수식과 연산자.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
Lesson 2. 기본 데이터형.
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
연산자 (Operator).
2장. 변수와 타입.
컴퓨터 프로그래밍 기초 - 5th : 조건문(if, else if, else, switch-case) -
자바 5.0 프로그래밍.
Chapter 02. 자바 기본 문법.
8주차: Strings, Arrays and Pointers
JAVA 프로그래밍 2장 자바의 데이터타입.
Choi Seong Yun 컴퓨터 프로그래밍 기초 #03 : 변수와 자료형 Choi Seong Yun
CHAP 21. 전화, SMS, 주소록.
2부 기본 구조 2부에서는 자바 언어의 기본구조인 변수, 자료형, 연산자, 선택 및 반복논리, 배열 등에 관해 설명합니다
제5장 변수, 연산자, 수식.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
클래스 : 기능 CHAPTER 7 Section 1 생성자(Constructor)
Lecture 04 객체지향 페러다임 Kwang-Man Ko
Chapter 02 C# 기본 01 기본 용어 06 증감 연산자 02 출력 07 자료형 검사
Chapter 10 데이터 검색1.
16장. 변수, 연산자, 사용자 정의 함수 변수 배열과 객체 연산자 함수.
8장 선택 논리 II 1. 논리연산자 1.1 논리연산자 : AND (&&) 1.2 논리연산자 : OR (||)
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
2장 자바의 기본문법(1).
7 생성자 함수.
6 객체.
3장 자바의 기본문법(2).
Presentation transcript:

Lecture 02 프로그램 구조 및 문법 Kwang-Man Ko kkmam@sangji.ac.kr, compiler.sangji.ac.kr Department of Computer Engineering Sang Ji University 2018

자바 프로그램 기본 구조 Hello 프로그램 구조 sec01/Hello.java

자바 프로그램 기본 구조 Hello 프로그램 구조 클래스 : 객체 지향 언어에서 프로그램을 개발하는 단위 메서드 : 수행할 작업을 나열한 코드의 모임 실행문 : 작업을 지시하는 변수 선언, 값 저장, 메서드 호출 등의 코드 주석문 행 주석 : // 범위 주석 : /* */ 문서 주석 : /** */

자바 프로그램 기본 구조 Hello 프로그램의 확장 주석 추가 : sec01/Hello2.java

식별자 (Identifier) 규칙 문자, 언더바(_), $로 시작 한글도 가능, 영문자 대·소문자를 구분 +, - 등 연산자를 포함하면 안됨 자바 키워드를 사용하면 안됨 길이에 제한이 없음 잘못된 식별자 : %5, a+b, 1b 올바른 식별자 : radius, $a, _int

식별자 관례 변수와 메서드는 모두 소문자 단, 복합 단어일 때는 두 번째 단 어부터 단어의 첫 자만 대문자로 표기 단, 복합 단어일 때는 두 번째 단 어부터 단어의 첫 자만 대문자로 표기 클래스와 인터페이스는 첫 자만 대문자로 표기, 나머지는 소문자 로 표기. 단, 복합 단어일 때는 두 번째 단어부터 단어의 첫 자만 대문자로 표기 상수는 전체를 대문자로 표기. 단 , 복합 단어일 때는 단어를 언더 바(_)로 연결

데이터 타입 의미 종류

데이터 타입 기억 공간 크기 및 기본 값

변수 (variable) 의미 프로그램은 기억 공간에 데이터를 보관하고, 각 기억 공간을 변수 Variable로 구분 변수는 데이터를 담는 상자와 같은 것으로 종류가 다양한데, 이를 구분 하려고 데이터 타입을 사용

변수 리터럴 프로그램 내부에서 값을 정의해 변수를 초기화, 그 값을 리터럴 정수 실수 가수 지수

변수 예제 코드 : sec03/NumberTypeDemo.java 실행 결과

변수 문자 논리 예제 코드 sec03/CharBoolDemo.java 실행 결과

변수 변수 사용

변수 변수 사용

변수 상수 (constant) 프로그램 실행 중 변경할 수 없는 데이터를 담는 변수 예, 원주율 값(3.14159)이나 빛의 속도(3×108m/s) 등 상수 이름은 변수와 구분하려고 모두 대문자로 표기 반드시 final 키워드로 지정

타입 변환 (type conversion) 자동 타입 변환 (implicit type conversion) 강제 타입 변환 (explicit type conversion, casting)

타입 변환 연산 중 필요하면 타입 범위가 넓은 방향으로 자동 타입 변환 예

타입 변환 예제 코드 : sec03/CastDemo.java 실행 결과

입출력 표준 입출력 (standard input/output)

기본 입출력 화면에 데이터 출력 사용 예 println() : () 내부의 내용을 출력한 후 행을 바꿈 printf() : 포맷을 지정해서 출력 사용 예 System.out.printf(

printf() 형식

기본 입출력 예제 sec04/PrintfDemo.java 05 int i = 97; 06 String s = "Java"; 07 double f = 3.14f; 08 System.out.printf("%d\n", i); 09 System.out.printf("%o\n", i); 10 System.out.printf("%x\n", i); 11 System.out.printf("%c\n", i); 12 System.out.printf("%5d\n", i); 13 System.out.printf("%05d\n", i); 14 System.out.printf("%s\n", s); 15 System.out.printf("%5s\n", s); 16 System.out.printf("%-5s\n", s); 17 System.out.printf("%f\n", f); 18 System.out.printf("%e\n", f); 19 System.out.printf("%4.1f\n", f); 20 System.out.printf("%04.1f\n", f); 21 System.out.printf("%-4.1f\n", f);

기본 입출력 printf()의 포맷과 실행 결과

기본 입출력 키보드로 데이터 입력 Scanner 클래스의 경로 이름을 컴파일러에 알림 import java.util.Scanner; 키보드로 데이터를 입력받으려고 System.in 객체와 연결된 Scanner 객 체를 생성. Scanner in = new Scanner(System.in); Scanner 클래스가 제공하는 다양한 메서드를 이용해 키보드로 데이터 를 입력. int x = in.nextInt(); // 정수를 읽어 변수 x에 대입

기본 입출력 키보드로 데이터 입력 Scanner 클래스가 제공하는 데이터 입력 메서드 예제 : sec04/ScannerDemo.java

연산자 연산자와 연산식의 의미 JVM은 기본적으로 32비트 단위로 계산

연산자 종류

연산자 산술 연산자 피연산자의 데이터 타입에 따라 결과 값이 다른데, 연산할 두 피연산자 의 데이터 타입이 다르면 큰 범위의 타입으로 일치시킨 후 연산 수행 논리 타입을 제외한 기초 타입을 피연산자로 사용. 단, % 연산자는 정수 타입만 사용 덧셈 연산자는 문자열을 연결하는 데도 사용. 문자열과 덧셈을 하는 데 이터는 먼저 문자열로 변환한 후 서로 연결 예제 : sec05/ArithmeticDemo.java

연산자 비교 연산자 비교 연산자는 논리 타입을 제외한 기초 타입에만 사용할 수 있지만 == 와 !=는 모든 기초 타입에 사용 종류

연산자 논리 연산자 논리 연산자는 피연산자의 조건을 결합해서 true와 false를 조사하며, 논 리 타입에만 사용 종류

쇼트서킷

연산자 논리 연산자 예제 : sec05/CompLogicDemo.java

연산자 비트·시프트 연산자 비트 연산자와 시프트 연산자는 정수 타입에만 사용 비트 연산자의 종류 예

연산자 비트·시프트 연산자 시프트 연산자의 종류 예

연산자 비트·시프트 연산자 예제 : sec05/BitOperatorDemo.java 03 public class BitOperatorDemo { 04 public static void main(String[] args) { 05 System.out.printf("%x\n", 0b0101 & 0b0011); 06 System.out.printf("%x\n", 0b0101 | 0b0011); 07 System.out.printf("%x\n", 0b0101 ^ 0b0011); 08 System.out.printf("%x\n", (byte) ~0b00000001); 09 System.out.printf("%x\n", 0b0110 >> 2); 10 System.out.printf("%x\n", 0b0110 << 2); 11 12 int i1 = -10; 13 int i2 = i1 >> 1; 14 int i3 = i1 >>> 1; 15 System.out.printf("%x -> %d\n", i1, i1); 16 System.out.printf("%x -> %d\n", i2, i2); 17 System.out.printf("%x -> %d\n", i3, i3); 18 } 19 }

연산자 대입 연산자 오른쪽에 있는 연산식의 결과 값을 왼쪽에 있는 변수에 대입 예

연산자 대입 연산자 복합 대입 연산자의 종류 예제 : sec05/AssignmentDemo.java

연산자 부호·증감 연산자 숫자를 나타내는 기초 타입에 사용하며 피연산자의 부호를 그대로 유지 하거나 반전 증감 연산자는 변수의 위치에 따라 의미가 다름 종류 예제 : sec05/SignIncrementDemo.java

연산자 조건 연산자 조건 연산자 (?: ) 조건식이 true이면 결과 값은 연산식1의 값이 되고 false이면 결과 값 은 연산식2의 값. 조건 연산자도 쇼트서킷 로직을 이용하기 때문에 조건식에 따라 연산식 1과 연산식2 중 하나만 실행 예제 : sec05/TernaryOperator.java

연산자 우선순위

연산자 결합 규칙 예제 : sec05/OperatorPrecedenceDemo.java true