출간일 2016년 11월 28일
판매가 2000원
형태 ebook
이 책의 모든 내용은 http://ehpub.co.kr에 공개하고 있습니다.
학습에 도움이 되시면 ebook을 구입하여 소장하시면 감사하겠습니다.
언제나 휴일 출판사의 수익금의 대부분은 아프리카에 기부하고 있습니다.
2.2 연산
프로그램이 수행해야 할 작업을 코드로 작성할 때 연산과 제어를 사용합니다. 그 중에서가장 기본이 연산입니다.
연산의 종류에는 프로그래밍 언어에서 제공하는 연산자를 이용하는 방법과 개발자가 메서드를 정의하여 사용하는 방법으로 나눌 수가 있습니다. 그 중에 여기에서는 연산자를 이용하는 방법에 관하여 소개할게요.
Java 언어에서는 산술 연산 및 논리 연산 등에 사용할 수 있는 다양한 연산자를 제공합니다. 그리고 연산마다 어떠한 연산자를 사용하고 피연산자의 개수 및 형식과 컴퓨터가 하는 일과 연산 결과 형식을 약속하였습니다.
2.2.1 산술 연산
Java 언어에서 제공하는 산술 연산에는 부호, 더하기, 빼기, 곱하기, 나누기, 나머지 연산이 있습니다.
▷ 부호 연산(+, -)
부호 연산은 단항 연산으로 연산자는 플러스와 마이너스가 있으며 피연산자로 정수 형식과 실수 형식이 올 수 있습니다. 플러스 부호 연산은 연산 결과가 피연산자와 같아서 실제 코딩에서 사용하는 것을 보기 힘듭니다.
private static void exPositive () { int i = 9; int re = 0; re = +i; System.out.println("re:"+re); } |
re:9 |
[소스 2.5] exPositive
마이너스 연산의 결과는 피연산자에 -1을 곱한 값입니다.
private static void exNegative () { int i = 9; int re = 0; re = -i; System.out.println("re:"+re); } |
re:-9 |
[소스 2.6] exNegative
▷ 더하기 연산(+)
더하기 연산은 두 개의 피연산자가 오며 연산 결과는 피연산자의 합입니다. 그리고 더하기 연산의 피연산자로 String(문자열) 형식이 올 수 있어 효과적으로 사용할 수 있습니다.
private static void exAdd() { int i = 4; int j = 5; int re = 0; re = i+j; System.out.println("1. re:"+ re);
String s1 = "Hello"; String s2 = "World"; String s3; s3 = s1 + s2; System.out.println("2. s3:"+ s3); } |
1. re: 9 2. s3: HelloWorld |
[소스 2.7] exAdd
▷ 빼기 연산(-)
빼기 연산도 여러분이 생각하는 상식 수준을 벗어나지 않습니다.
private static void exSub() { int i = 4; int j = 5; int re = 0;
re = i-j; System.out.println("re:"+ re); } |
re: -1 |
[소스 2.8] exSub
▷ 곱하기 연산(*)
곱하기 연산도 여러분이 생각하는 상식 수준을 벗어나지 않습니다.
private static void exMul() { int i = 4; int j = 5; int re = 0;
re = i*j; System.out.println("re:"+ re); } |
re: 20 |
[소스 2.9] exMul
▷ 나누기 연산(/)
나누기 연산은 피연산자 모두 정수일 때는 연산 결과가 정수 형식입니다. 이 때 내림 법칙의 결과가 나오며 나머지는 버립니다.
대신 피연산자 중에 하나라도 실수일 때는 연산 결과가 실수 형식입니다. 그리고 피연산자 중에 실수가 하나라도 올 때 0/0의 결과는 Float.NaN이고 좌측 피연산자 양수이고 우측 피연산자 0일 때 결과는 Float.POSITIVE_INFINITY이고 좌측 피연산자가 음수일 때 결과는 Float.NEGATIVE_INFINITY 입니다.
private static void exDiv() { int i = 4; int j = 3; int re = 0; re = i/j; System.out.println("1. re:"+ re); float f = 3.0f; float re2 = 0.0f; re2 = i/f; System.out.println("2. re2:"+ re2); re2 = i/0.0f; System.out.println("3. re2:"+ re2); re2 = -i/0.0f; System.out.println("4. re2:"+ re2); re2 = 0.0f/0.0f; System.out.println("5. re2:"+ re2); } |
1. re:1 2. re2:1.3333334 3. re2:Infinity 4. re2:-Infinity 5. re2:NaN |
[소스 2.10] exDiv
▷ 나머지 연산(%)
나머지 연산은 피연산자의 나누기 연산에서 나머지가 연산 결과입니다. 나머지 연산은 특정 범위 내의 정수를 회전(0->1->2->3->0->1->...)하여 사용할 때 많이 사용합니다.
private static void exModular() { int i = 4; int j = 3; int re = 0;
re = i%j; System.out.println("1. re:"+ re);
int cir_cnt = 0; cir_cnt = (cir_cnt+1)%3; System.out.println("2. cir_cnt:"+ cir_cnt); cir_cnt = (cir_cnt+1)%3; System.out.println("3. cir_cnt:"+ cir_cnt); cir_cnt = (cir_cnt+1)%3; System.out.println("4. cir_cnt:"+ cir_cnt); cir_cnt = (cir_cnt+1)%3; System.out.println("5. cir_cnt:"+ cir_cnt); } |
1. re:1 2. cir_cnt:1 3. cir_cnt:2 4. cir_cnt:0 5. cir_cnt:1 |
[소스 2.11] exModular
'언어 자료구조 알고리즘 > 디딤돌 Java 언어 Part1' 카테고리의 다른 글
[Java] 3. 제어문 (0) | 2016.04.04 |
---|---|
[Java] 2.3 키보드 입력 (0) | 2016.04.04 |
[Java] 2.2.6 대입 연산자 2.2.7 증감 연산자 2.2.8 조건 연산자 (0) | 2016.04.04 |
2.2.4 비트 연산 2.2.5 쉬프트 연산 (0) | 2016.04.04 |
2.2.2 비교 연산, 2.2.3 논리 연산 (0) | 2016.04.04 |
2.1 기본 자료형 (0) | 2016.04.04 |
2. 자료형과 연산 (0) | 2016.04.04 |
1.3 Hello World 프로그램 개발 (0) | 2016.04.04 |
1.2 개발 환경 설치, Java 설치, 이클립스 설치 (0) | 2016.04.04 |
1. Java 소개, Java 플랫폼 (0) | 2016.04.04 |