380 likes | 501 Views
Chapter 04. 연산자 (Operator). 04-1. 이항 연산자. 대입 연산자 (=) 와 산술 연산자 (+, -, *, /, %). 대입연산과 산술연산의 예. 실행결과. 연산과정에서 일어나는 자동 형 변환. 두 피연산자의 타입이 다르면 먼저 형변환을 통해 타입을 일치시킨다 . 피연산자가 정수면 정수형 연산진행 피연산자가 실수면 실수형 연산진행. 실행결과. 연산과정에서 일어나는 자동 형 변환. 피연산자가 정수일 때
E N D
대입연산과 산술연산의 예 실행결과
연산과정에서 일어나는 자동 형 변환 두 피연산자의 타입이 다르면 먼저 형변환을 통해 타입을 일치시킨다. 피연산자가 정수면 정수형 연산진행 피연산자가 실수면 실수형연산진행 실행결과
연산과정에서 일어나는 자동 형 변환 • 피연산자가 정수일 때 • 피연산자 중 하나라도 long 타입이면 long 타입 연산 • 그렇지 않으면 int타입 연산 long m = 10 + 10L; short i = 1; short j = 2; short k = i + j; short k = (short) (i+ j); // Type mismatch: cannot convert from int to short
복합대입 연산자 해석의 원칙은 동일 실행결과
관계 연산자 연산의 결과로 true orfalse 반환
관계연산의 예 실행결과
논리 연산자 연산의 결과로 true orfalse 반환 실행결과
논리 연산자의 오른쪽에 있는 표현은 필요할 때만 계산된다. 실행결과 Short-Circuit Evaluation
부호 연산자로서의 +와 - 실행결과
증가, 감소 연산자 pre-increment post-increment
증가 감소 연산의 예 실행결과 실행결과
비트연산 진리 표 &(and) |(OR) ^(XOR) ~(NOT)
비트연산의예 실행결과
비트 쉬프트(Shift) 연산자 비트연산의 특징 왼쪽으로의 비트 열 이동은 곱하기 2 오른쪽으로의 비트 열 이동은 나누기 2
condition ? exp1 : exp2; • condition이 참일때 exp1계산값을 반환 • condition이 거짓일때 exp2 계산값을 반환 max = num1>num2 ? num1 : num2
booleanisGood= true; String mood = “”; if (isGood) mood = “I'm Happy!”; else mood = “I'm Sad!”; booleanisGood= true; String mood = isGood ? “I'm Happy!” : “I'm Sad!”;
자바의 연산자와 연산의 과정 연산의 과정
for 반복문의 실행흐름 실행결과
public class ForLoop { public static void main(String[] args) { int sum = 0; for (inti = 1; i <= 10; i++) sum = sum + i; System.out.println("합 = " + sum); } } 합 = 55
int i = 0; while (i < 10) { if (i < 5) System.out.println(i); i = i + 1; } int i = 0; while (i < 10) { if (i < 5) System.out.println(i); i = i + 1; }
int i = 0; while (i < 10) { if (i < 5) System.out.println("L"); else if (i < 10) System.out.println("M"); else System.out.println("H"); i = i + 1; } int i = 0; while (i < 10) { if (i < 5) System.out.println("L"); else if (i < 10) System.out.println("M"); else System.out.println("H"); i = i + 1; }
int i = 0; while (i < 10) { if (i < 5) System.out.println("L"); else if (i < 10) System.out.println("M"); else System.out.println("H"); i = i + 1; } int i = 0; while (i < 10) { if (i < 5) System.out.println("L"); else if (i < 10) System.out.println("M"); else System.out.println("H"); i = i + 1; }
int i = 0; while (i < 10) { if (i < 5) System.out.println("L"); else if (i < 10) System.out.println("M"); else System.out.println("H"); i = i + 1; } int i = 0; while (i < 10) { if (i < 5) System.out.println("L"); else if (i < 10) System.out.println("M"); else { System.out.println("H"); System.out.println("H"); } i = i + 1; }
int i = 1; if (i > 0){ if (i < 5) System.out.println("L"); else if (i < 10) System.out.println("M"); else System.out.println("H"); } int i = 1; if (i > 0) if (i < 5) System.out.println("L"); else if (i < 10) System.out.println("M"); else System.out.println("H"); if… else if… else는 한 문장!
System.out.println(“오늘 “대박” 났다.”); // 컴파일 에러 System.out.println(“오늘 \“대박\” 났다.”); 오늘 “대박” 났다. System.out.println(“강원대\n홍길동”); 강원대 홍길동