데이터타입과변수 및조건문...

67
배효철 [email protected] 데이터 타입과 변수 조건문, 반복문 1

Upload: trinhdung

Post on 04-Aug-2019

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

배 효 철

[email protected]

데이터 타입과 변수및 조건문, 반복문

1

Page 2: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

목차

• 자바 프로그램 구조

• 변수 및 데이터 타입

• 연산자

• 조건문

• 반복문

2

Page 3: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

목차

• 자바 프로그램 구조

• 변수 및 데이터 타입

• 연산자

• 조건문

• 반복문

3

Page 4: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

4

자바 프로그램 구조

public class Hello2 {

public static int sum(int n, int m) { return n + m;

}

// main() 메소드에서 실행 시작public static void main(String[] args) {

int i = 20;int s;char a;

s = sum(i, 10); // sum() 메소드 호출a = '?';System.out.println(a); // 문자 '?' 화면 출력System.out.println("Hello2"); // "Hello2" 문자열 화면 출력System.out.println(s); // 정수 s 값 화면 출력

}}

클래스

메소드

메소드

Page 5: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

목차

• 자바 프로그램 구조

• 변수 및 데이터 타입

• 연산자

• 조건문

• 반복문

5

Page 6: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

6

변수 및 데이터 타입

• 변수란?– 하나의 값을 저장할 수 있는 메모리 공간

• 변수의 선언

int age ; double value ;

타입 변수이름

Page 7: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

7

변수 및 데이터 타입

• 식별자– 클래스, 변수, 상수, 메소드 등에 붙이는 이름

• 식별자를 위한 명명 규칙– ‘@’, ‘#’, ‘!’와 같은 특수 문자, 공백 또는 탭은 식별자로 사용할 수

없으나 ‘_’, ‘$’는 사용 가능

– 유니코드 문자 사용 가능. 한글 사용 가능

– 자바 언어의 키워드는 식별자로 사용불가

– 식별자의 첫 번째 문자로 숫자는 사용불가

– ‘_’ 또는 ‘$’를 식별자 첫 번째 문자로 사용할 수 있으나 일반적으로잘 사용하지 않는다.

– 대소문자 구별

– 길이 제한 없음

Page 8: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

8

변수 및 데이터 타입

• 데이터 타입– 기본 타입 (primitive type) : 8개

• boolean

• char

• byte

• short

• int

• long

• float

• Double

– 레퍼런스 타입 (reference type) : 1개, 3가지 용도

• 클래스(class)에 대한 레퍼런스

• 인터페이스(interface)에 대한 레퍼런스

• 배열(array)에 대한 레퍼런스

논리형

정수형

실수형

Page 9: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

9

변수 및 데이터 타입

• 기본 데이터 타입– 크기가 정해져 있음

– 크기는 CPU나 운영체제에 따라 변하지 않음

0

1 byte = 8 bit

0 0 0 0 0 0 0

Page 10: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

10

변수 및 데이터 타입

• 변수의 사용– 변수 값 저장

• 초기값은 변수를 선언함과 동시에 줄 수도 있음

int score ; // 변수 선언Score = 90 ; // 값 저장

int score = 90 ; // 선언과 동시에 값 저장

Page 11: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

11

변수 및 데이터 타입

• 변수의 사용– 변수 값 읽기

• 잘못된 코딩의 예

• 맞게 고친 후의 코드

int value ; // 변수 선언 (초기화 X)int result = value + 10 ; // value 값에 10을 더해 저장

int value = 30 ; // 변수 선언 (초기화 O)Int result = value + 10 ; // value 값에 10을 더해 저장

리터럴(literal)

Page 12: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

12

변수 및 데이터 타입

• 리터럴 (literal)– 변수에 값을 설정할 때, 그때의 값을 의미

• 리터럴의 종류– 정수 리터럴

– 실수 리터럴

– 문자 리터럴

– 문자열 리터럴

– 논리 리터럴

Page 13: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

13

변수 및 데이터 타입

• 정수 리터럴– 진수

• 2진수 (0, 1)

• 10진수 (0~9)

• 16진수 (0~9, A~F)

Page 14: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

14

변수 및 데이터 타입

• 정수 리터럴– 8진수 : 0으로 시작

• int n = 015; // 10진수로 13

– 16진수 : 0x로 시작

• int n = 0x15; // 10진수로 21

– 10진수 : 0으로 시작하지 않는 숫자

• 15, 3, 20, 55, 88

– 2진수 : 0b로 시작

• int n = 0b0101; // 이진수 0101 -> 십진수 5

– long 타입 리터럴은 숫자 뒤에 L 또는 l을 붙여 표시

• ex) 24L, 3578l

Page 15: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

15

변수 및 데이터 타입

• 실수 리터럴– 부동 소수점 실수 직접 표시

• 소수점을 찍은 실수, 지수(exponent)식으로 표현한 실수

– 12. 또는 12.0

– .1234 또는 0.1234 또는 1234E-4

• 숫자 뒤에 f(float)나 d(double)을 명시적으로 붙이기도 함

– 0.1234 또는 0.1234D 또는 0.1234d → double 타입

– 0.1234f 또는 0.1234F → float 타입

– 1234D 또는 1234d → 1234.0과 같으며 double 타입

– 1234F 또는 1234f → 1234.0과 같으며 float 타입

Page 16: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

16

변수 및 데이터 타입

• 문자 리터럴– 단일 인용부호(' ')로 문자 표현

• 'a', 'W', '가', '*', '3', '7'

– \u다음에 4자리 16진수로, 2 바이트의 유니코드(Unicode)

• \u0041 -> 문자 'A'의 유니코드(0041)

• \uae00 -> 한글문자 '글'의 유니코드(ae00)

– 특수 기호는 \로 시작

Page 17: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

17

변수 및 데이터 타입

• 문자열 리터럴– 이중 인용부호로 묶어서 표현

• "Good", "Morning", "자바", "3.19", "26", "a"

– 자바에서 문자열은 객체이므로 기본 타입 아님

– 문자열 리터럴은 String 객체로 자동 처리

• 논리 리터널– true 또는 false 뿐

boolean b = true; boolean c = 10 > 0; // 10>0이 참이므로 c 값은 true

Page 18: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

18

변수 및 데이터 타입

• 상수– 상수 선언

• final 키워드 사용

• 선언 시 초기값 지정

• 실행 중 값 변경 불가

Page 19: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

19

변수 및 데이터 타입

• 변수의 사용 범위– 변수는 중괄호 블록 {} 내에서 선언되고 사용

public class Hello2 {

public static int sum(int n, int m) { return n + m;

}

// main() 메소드에서 실행 시작public static void main(String[] args) {

int i = 20;int s;char a;

s = sum(i, 10); // sum() 메소드 호출a = '?';System.out.println(a); // 문자 '?' 화면 출력System.out.println("Hello2"); // "Hello2" 문자열 화면 출력System.out.println(s); // 정수 s 값 화면 출력

}}

i, s, a 는 여기서만사용 가능

Page 20: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

20

변수 및 데이터 타입

• 변수의 사용 예public class exam_val {

public static void main(String[] args) { int i = 20 ;float f = 3.123456789123456789123456789f ;float f2 = 3f ;double d = 3.123456789123456789123456789 ;double d2 = 5 ;boolean b = true ;boolean b2 = false ;char by = 'a' ;char by2 = '\uae00' ;String s = "Java" ;

System.out.println(i);System.out.println(f);System.out.println(f2);System.out.println(d);System.out.println(d2);System.out.println(b);System.out.println(b2);System.out.println(by);System.out.println(by2);System.out.println(s);

}}

20

3.1234567

3.0

3.123456789123457

5.0

true

false

Java

a

Page 21: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

21

변수 및 데이터 타입

• 타입 변환– 데이터 타입을 다른 타입으로 변환하는 것

• byte ↔ int, int ↔ double

– 종류

• 자동(묵시적) 타입 변환: Promotion

• 강제(명시적) 타입 변환: Casting

Page 22: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

22

변수 및 데이터 타입

• 자동 타입 변환– 프로그램 실행 도중 작은 타입은 큰 타입으로 자동 타입 변환 가능

long var;byte b = 25; // 0x19var = b;

자동타입변환바이트타입 변수롱타입 변수

0x19 b 8비트

0x0000000000000019 var 64비트

Page 23: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

변수 및 데이터 타입

• 연산식에 의한 자동 타입 변환– 연산은 같은 타입의 피연산자(operand)간에만 수행

• 서로 다른 타입의 피연산자는 같은 타입으로 변환

• 두 피연산자 중 크기가 큰 타입으로 자동 변환

int var ;double doublevar ;double result = var + doublevar;

Page 24: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

24

변수 및 데이터 타입

• 강제 타입 변환– 개발자의 의도적인 타입 변환

– 큰 타입을 작은 타입 단위로 쪼개기

– 끝의 한 부분만 작은 타입으로 강제적 변환

short var;int n = 855638017; //0x33000001var = (short) n;

0x33000001 n 32비트

0x0001 var 16비트

int 타입 값을 short타입으로 강제 변환

int 타입 변수short 타입 변수

Page 25: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

25

변수 및 데이터 타입

• 타입 변환 실습

public class TypeConversion {public static void main(String[] args) {

byte b = 127;int i = 100;System.out.println(b+i);System.out.println(10/4);System.out.println(10.0/4);System.out.println((char)0x12340041);System.out.println((byte)(b+i));System.out.println((int)2.9 + 1.8);System.out.println((int)(2.9 + 1.8));System.out.println((int)2.9 + (int)1.8);

}}

22722.5A-293.843

Page 26: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

목차

• 자바 프로그램 구조

• 변수 및 데이터 타입

• 연산자

• 조건문

• 반복문

26

Page 27: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

27

연산자

• 연산이란?– 데이터를 처리하여 결과를 산출하는 것

• 연산자(Operations)– 연산에 사용되는 표시나 기호(+, -, *, /, %, =, …)

• 피연산자(Operand)– 연산 대상이 되는 데이터(리터럴, 변수)

• 연산식(Expressions)– 연산자와 피연산자를 이용하여 연산의 과정을 기술한 것

Page 28: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

28

연산자

Page 29: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

29

연산자

• 연산자의 종류

Page 30: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

30

연산자

• 연산의 방향과 우선 순위

Page 31: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

31

연산자

• 산술 연산자– boolean 타입을 제외한 모든 기본 타입에 사용 가능

– 결과값 산출할 때 Overflow 주의

– 정확한 계산은 정수를 사용

– NaN과 Infinity 연산은 주의할 것

– +는 문자열 결합에 사용 가능 (String)

Page 32: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

32

연산자

• 비교 연산자– 대소(<, <=, >, >=) 또는 동등(==, !=) 비교해 boolean 타입인

true/false 산출

– 동등 비교 연산자는 모든 타입에 사용

– 크기 비교 연산자는 boolean 타입 제외한 모든 기본 타입에 사용

– 흐름 제어문인 조건문(if), 반복문(for, while)에서 주로 이용

• 실행 흐름을 제어할 때 사용

Page 33: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

33

연산자

• 논리 연산자– 논리곱(&&), 논리합(||), 배타적 논리합(^) ,논리 부정(!) 연산 수행

– 피연산자는 boolean 타입만 사용 가능

Page 34: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

34

연산자

• 비트 연산자– 비트(bit) 단위로 연산 하므로 0과 1이 피연산자

• 0과 1로 표현이 가능한 정수 타입만 비트 연산 가능

• 실수 타입인 float과 double은 비트 연산 불가

– 종류

• 비트 논리 연산자(&, |, ^, ~)

• 비트 이동 연산자(<<, >>, >>>)

Page 35: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

35

연산자

• 비트 논리 연산자– 피 연산자가 boolean타입일 경우 일반 논리 연산자

– 피연산자가 정수 타입일 경우 비트 논리 연산자로 사용

– 비트 연산자는 피연산자를 int타입으로 자동 타입 변환 후 연산 수행

Page 36: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

36

연산자

• 비트 논리 연산자

Page 37: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

37

연산자

• 비트 이동 연산자– 시프트 연산자

– 정수 데이터의 비트를 좌측 또는 우측으로 밀어 이동시키는 연산수행

Page 38: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

38

연산자

• 비트 이동 연산자

Page 39: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

39

연산자

• 대입, 증감 연산자

Page 40: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

40

연산자

• 대입 및 증감 연산 실습

public class UnaryOperator {public static void main(String[] args) {

int opr = 0;opr += 3; // opr = opr + 3System.out.println(opr++); // opr 출력 후 증가System.out.println(opr);System.out.println(++opr); // opr 증가 후 출력System.out.println(opr);System.out.println(opr--); // opr 출력 후 감소System.out.println(opr);System.out.println(--opr); // opr 감소 후 출력System.out.println(opr);

}}

34555433

Page 41: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

41

연산자

• 삼항 연산자– 세 개의 피연산자를 필요로 하는 연산자

– 앞의 조건식 결과에 따라 콜론 앞 뒤의 피연산자 선택 -> 조건 연산식

Page 42: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

목차

• 자바 프로그램 구조

• 변수 및 데이터 타입

• 연산자

• 조건문

• 반복문

42

Page 43: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

43

조건문

• 코드 실행 흐름 제어– 정상적인 코드 실행 흐름

• main() 메소드의 시작인 중괄호 { 에서 끝 중괄호 } 까지 위->아래 방향으로 실행

– 제어문의 역할

• 코드 실행 흐름을 개발자가 원하는 방향으로 변경할 수 있도록 도와줌

– 제어문의 종류

• 조건문

• 반복문

• Break, continue 문

– 제어문은 중첩이 가능

Page 44: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

44

조건문

• 조건문의 종류– If, switch

• If문– 조건식 결과 따라 중괄호 { } 블록을 실행할지 여부 결정할 때 사용

– 조건식

• true 또는 false값을 산출할 수 있는 연산식

• boolean 변수

• 조건식이 true이면 블록 실행하고 false 이면 블록 실행하지 않음

Page 45: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

45

조건문

• If문

public class SuccessOrFail {public static void main (String[] args) {

Scanner in = new Scanner(System.in);

System.out.print("점수를 입력하시오: ");int score = in.nextInt();if (score >= 80)

System.out.println("축하합니다! 합격입니다.");}

}

점수를 입력하시오: 95축하합니다! 합격입니다.

Page 46: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

46

조건문

• if-else 문– 조건식 결과에 따라 실행 블록을 선택

Page 47: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

47

조건문

• if-else 문

public class MultipleOfThree {public static void main (String[] args) {

Scanner in = new Scanner(System.in);

System.out.print("수를 입력하시오: ");int number = in.nextInt();

if (number % 3 == 0)System.out.println("3의 배수입니다.");

else System.out.println("3의 배수가 아닙니다.");

}}

수를 입력하시오: 1293의 배수입니다

Page 48: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

48

조건문

• if - else if - else 문– 복수의 조건식을 두어 결과에 따라 실행 블록을 선택

Page 49: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

49

조건문

• if - else if - else 문

public static void main (String[] args) {char grade;Scanner a = new Scanner(System.in);while (a.hasNext()) {

int score = a.nextInt();if(score >= 90)

grade = 'A';else if(score >= 80)

grade = 'B';else if(score >= 70)

grade = 'C';else if(score >= 60)

grade = 'D';else

grade = 'F';System.out.println("학점은 "+grade+"입니다");

}}

80학점은 B입니다90학점은 A입니다76학점은 C입니다

Page 50: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

50

조건문

• 중첩 if 문– 코드 실행 흐름을 이해하는 것이 가장 중요

Page 51: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

51

조건문

• Switch 문– 변수 및 연산식의 값에 따라 실행문을 선택할 때 사용

Page 52: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

52

조건문

• Switch 문 실습– 앞의 if - else if - else 문 예제에서 본 학점 부여 프로그램을 switch

문으로 변경

Page 53: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

목차

• 자바 프로그램 구조

• 변수 및 데이터 타입

• 연산자

• 조건문

• 반복문

53

Page 54: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

54

반복문

• 반복문이란? – 중괄호 블록 내용을 반복적으로 실행할 때 사용

• 반복문의 종류– for 문

– while 문

– do while 문

Page 55: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

55

반복문

• for 문– 반복 획수를 알고 있을 때 주로 사용

Page 56: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

56

반복문

• while 문– 조건에 따라 반복을 계속할지 결정할 때 사용

Page 57: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

57

반복문

• do-while문– 조건 따라 반복 계속할지 결정할 때 사용하는 것은 while문과 동일

– 무조건 중괄호 { } 블록을 한 번 실행한 후, 조건 검사해 반복 결정

Page 58: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

58

반복문

• break 문– for문, while문, do-while문 종료 (반복 취소)

– Switch문 종료

– 대개 if문과 같이 사용

• if문 조건식에 따라 for문과 while문 종료할 때 사용

Page 59: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

59

반복문

• break 문

public class BreakExample {public static void main (String[] args) {

Scanner in = new Scanner(System.in);int num = 0;

while (true) {if (in.nextInt() == -1)

break;num++;

}System.out.println("입력된 숫자 개수는 " + num);

}} 10

895-1입력된 숫자 개수는 4

Page 60: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

60

반복문

• break 문– 반복문이 중첩된 경우

• 반복문이 중첩되어 있을 경우 break; 문은 가장 가까운 반복문만 종료

• 바깥쪽 반복문까지 종료시키려면 반복문에 이름(라벨)을 붙이고, “break 이름;” 사용

Page 61: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

61

반복문

• continue 문– for문, while문, do-while문에서 사용

• for문: 증감식으로 이동

• while문, do-while문: 조건식으로 이동

Page 62: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

62

반복문

• continue 문

public class ContinueExample {public static void main (String[] args) {

int sum = 0;for (int i = 1; i <= 100; i++) {

if (i%2 == 1) continue;

elsesum += i;

}System.out.println("1부터 100까지 짝수의 합은 " + sum);

}}

1부터 100까지 짝수의 합은 2550

Page 63: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

63

반복문

• 예제 1 : 구구단을 출력하시요.– 이중 for문을 사용

2 * 1 = 2

2 * 2 = 4

2 * 3 = 6

.

.

.

.

9 * 8 = 72

9 * 9 = 81

Page 64: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

64

반복문

• *을 다음 과 같이 출력하시오.– for문을 사용

– System.out.println 대신 System.out.print 를 사용

*

**

***

****

*****

for (int i = 1 ; i <= 5 ; i++) {for (int j = 0 ; j < i ; j++) {

System.out.print("*");}System.out.println() ;

}

Page 65: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

65

반복문

• *을 다음 과 같이 출력하시오.– for문을 사용– System.out.println 대신 System.out.print 를 사용

*************************

for (int i = 1 ; i <= 5 ; i++) {for (int j = 0 ; j < i ; j++) {

System.out.print("*");}System.out.println() ;

}

for (int i = 4 ; i >= 0 ; i--) {for (int j = 0 ; j < i ; j++) {

System.out.print("*");}System.out.println() ;

}

Page 66: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

66

반복문

• *을 다음 과 같이 출력하시오.– for문을 사용

– System.out.println 대신 System.out.print 를 사용

*

***

*****

public static void main(String[] args) {

for (int x = 0; x < 3; x++) {

for (int y = 0; y < 3 - x; y++) {

System.out.print(" ");

}

for (int y = 0; y < 2 * (x + 1) - 1; y++) {

System.out.print("*");

}

System.out.println("");

}

}

Page 67: 데이터타입과변수 및조건문 반복문mbm.konkuk.ac.kr/wp-content/uploads/2018/03/JAVA... · 2018-03-21 · 7 변수및데이터타입 • 식별자 –클래스, 변수,

67

반복문

• *을 다음 과 같이 출력하시오.– for문을 사용

– System.out.println 대신 System.out.print 를 사용

*

***

*****

***

*

public static void main(String[] args) {

for (int x = 0; x < 2; x++) {

for (int y = 0; y < 2 - x; y++) {

System.out.print(" ");

}

for (int y = 0; y < 2 * (x + 1) - 1; y++) {

System.out.print("*");

}

System.out.println("");

}

for (int x = 2; x >= 0; x--) {

for (int y = 0; y < 2 - x; y++) {

System.out.print(" ");

}

for (int y = 0; y < 2 * (x + 1) - 1; y++) {

System.out.print("*");

}

System.out.println("");

}

}